Vue(Vite)設定Content-Security-Policy支援

vue3支援csp方法只需要設定vite.config.js :

import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'


// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // eslint-disable-next-line no-undef
  const env = loadEnv(mode, process.cwd());
  // this might be needed in Dev mode
  const nonce = mode === "development" ? "nonce" : "{SERVER-GENERATED-NONCE}";

  return {
    plugins: [
      vue(),

    ],
    html: {
      cspNonce: `${nonce.toString()}`
    },
    // eslint-disable-next-line no-undef
    base: env.VITE_WORKDIR
    ,
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url))
      }
    },
    server: {
      headers: {
        'Content-Security-Policy': `default-src 'self'; script-src 'self' 'nonce-${nonce.toString()}'; style-src   'nonce-${nonce.toString()}'; font-src 'self' data:; img-src 'self'; frame-src 'self';form-action none  `,
      },
     
       
      }
    }
  }
})

字串與陣列間轉換

陣列要轉換成字串,只需要呼叫java.util.Arrays的toString function就可以完成了,當然要使用for loop一個一個處理也是可以的。

陣列字串要轉換成陣列時,只需要把字串的前後[與]取代成空白,再利用String的split function就可以切開成陣列了。

結果:

ArrayString Read More

[jQuery]簡單的向上Marquee跑馬燈公告效果

Html本身有一個Tag Marquee可以使用Marquee跑馬燈功能,不過功能十分有限,像是滑鼠移入停止,每一筆內容暫停後再執行下一筆等,原本的Marquee跑馬燈都不支援。

MarqueeExample

這個範例是利用jQuery的animate來移動scroll,達到移動的感覺,所以再初始化時需要先close一份資料append上去,如此在移動到最後一筆時,才不會因為scrollBar到底而無法移動。而Mouse移入時則stop animate及clear移除的Timeout,待Mouse out後,再執行,不過這部份控制的沒有很好,有興趣的人可以再加以修改。

Read More

c3p0 ConnectionPools設置與使用

c3p0是一個基於JNDI-bindable DataSources(使用DriverManager-based)的很容易使用的JDBC驅動函數庫。

所以在使用c3p0時,還需要一個JDBC的Driver,才能使用,而c3p0的作用只是控制Database的Connection使用,舉個簡單的例子,當Connection被DataBase Server timeout斷線後,c3p0會自動多次去重新連線,避免程式就直接丟出SQLException。

這次剛好遇到Microsoft SQL Server 2005不知為何一直丟出以下訊息,才去找到c3p0來使用的,發生的原因似乎是SQL Server本身對JDBC的Connection TimeOut斷線、或是Connection數不夠。

I/O Error: Connection reset
I/O Error: Software caused connection abort: recv failed

下面是一個範例,結果如下圖:

c3p0.png

Read More