原创 轉換 Windows 文件格式爲 UNIX 格式

由於結尾符號的差異,Windows格式的文件在 Linux 環境下經常會出一些莫名其妙的問題,比如,git提交出現警告信息,nodejs執行報錯等。 作爲最佳實踐,最好讓程序文件的格式一直使用 UNIX 格式。轉換 Windows

原创 flexbox 與 grid 比較

兩者各有優勢,下面是一個簡單比較。 Flexbox 是一維佈局,grid 是二維佈局。 如果你關注內容在屏幕上的位置,那麼 grid 適合你。 如果你的重點在於內容流,那麼使用 flexbox 更合適。 瀏覽器支持

原创 命令行(CLI)的幾個基本術語辨析及翻譯:parameter, argument, option, flag

參數(parameter)是一個統稱,傳遞給命令的內容都可以稱之爲參數(parameter)。參數又具體分爲: 主題(argument)。如果一個命令缺少了 argument,命令就會報錯,所以 argument 可以稱之爲必

原创 Node.js 重定向 URL

直接上代碼: response.writeHead(301, {Location: 'http://example.com'} ); response.end();

原创 Gimp 讓背景變得透明

第一步:選擇要變透明的區域。 第二步:在菜單中選擇: Layer – Transparency – Add Alpha Channel 第三步:清除: Edit – Clear

原创 vue 學習筆記(1)

聲明式渲染。 數據在 JS 代碼中,通過 Vue,這些數據與 DOM 綁定,這就是說,你在 JS 中改變了數據,DOM 就發生改變。 let app = new Vue({ el: '#app', data: {

原创 Ubuntu 上安裝 pgcli

pgcli 是 PostgreSQL 的命令行管理工具,它不但完全兼容 psql 的命令,還增加了很多方便的命令。最大的特點是交互性,它讓命令行操作數據庫的效率大大提升。記不住命令?記不住字段名稱?pgcli都會給你提示。 在 U

原创 PostgreSQL INSERT 如何獲得新插入元素的 id?

如果表已經設定 id 爲自增變量,插入操作如何獲得新插入記錄的 id 值? 答案是使用 RETURNING 子句: INSERT .... RETURNING id; 獲取 id: const id = res.rows[

原创 Node.js 格式化輸出 JSON 到文件

JSON.stringify 函數竟然帶有格式化!其第三個參數表示縮進的空格數,例如: var fs = require('fs'); fs.writeFile('test.json', JSON.stringify({ a:1

原创 優雅實現:如果記錄存在,就更新記錄,否則插入一條新記錄

通常,我們用兩條語句來實現這個功能: UPDATE table SET field='C', field2='Z' WHERE id=3; INSERT INTO table (id, field, field2)

原创 用戶點擊了“返回”按鈕,Javascript 如何強制刷新頁面?

用戶在點擊“返回”按鈕後,返回頁面的內容已經發生了變化,由於瀏覽器緩存的作用,用戶往往看到的是舊有的內容。如果內容已經發生了變化,怎麼強制刷新頁面內容? 答案是使用 pageshow 事件: window.addEventList

原创 ripgrep 常見用法,很有用哦

你還在用 grep 來進行全文搜索嗎?嘗試更高級的 ripgrep 吧。下面列出 ripgrep 常用的參數與用法: rg -l 僅僅顯示匹配的文件名。 rg -i 大小寫不敏感。 rg -v 反向匹配,即

原创 Node.js 中聯合使用兩個日誌包:Morgan, Winston

代碼: var logger = new winston.Logger({ transports: [ new winston.transports.File({ level: 'i

原创 純 Javascript 插入節點:在末尾插入、在開始插入

在末尾插入節點: // Grab an element var el = document.getElementById('thingy'), // Make a new div elChild = documen

原创 強制 vim 將文件視爲 HTML 格式

有時候 vim 好像分辨不了格式了,這種情況在混合代碼的時候容易出現。那麼,我們能不能強制 vim 將某類文件視同是 html 格式來進行高亮處理?答案是可以的,做法就是在你的 .vimrc 中增加下面一句命令: au BufRe