Skip to content

Zeroplex 生活隨筆

軟體開發和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

C 強制資料輸出

Posted on 2012 年 9 月 18 日2021 年 3 月 12 日 By 日落 在〈C 強制資料輸出〉中有 4 則留言

無意間發現透過 printf 輸出資料時,程式會將資料放在 buffer 中,過一段時間後再一起印出。

int main(){
   while(1){
      printf(".");
      sleep(1);
   }
   return 0;
}

可以透過 fflush() 強制將 buffer 中的資料輸出:

while(1){
   printf(".");
   fflush(stdout);
   sleep(1);
}
Tags:C/C++, 程式設計

jQuery 在表格新增一列

Posted on 2012 年 9 月 1 日2021 年 3 月 12 日 By 日落 在〈jQuery 在表格新增一列〉中有 6 則留言

學 javascript 沒多久,剛開始只是很簡單的置換文字、為元素加上類別,短短幾行沒什麼感覺。到了開始動態新增表格資料時,javascript 程式碼裡面參雜 HTML 就越看越噁心。

function addRow( data ){
   $('#user-list > tbody ').append(
         '<tr> ' + 
            '<td>' + id + '</td>' +
            '<td>' + username + '</td>' +
            '<td>' + email + '</td>' +
         '</tr>'
      );
}

這樣的寫法除了可讀性很低以外,之後若修改表格結構以及 CSS 樣式時,必須同時修改樣板以及 javascript 內容,不容易維護。

今天翻了翻 jQuery docs,發現幾個方法拿出來用可以把 HTML 和 javascript 切割的頗乾淨。

先定義一列當作表格樣板,可以在 CSS 將這一列隱藏:

<table border="1">
  <tbody>
    <tr id="template" style="display: none;">
      <td class="id some-other-class"> </td>
      <td class="username"> </td>
      <td class="email"> </td>
    </tr>
  </tbody>
</table>

新增一列時,將 template 複製一份出來,再依照 class 名稱將資料填入不同欄位:

function addRow(){
  $('tr:last').after( $('#template').clone().removeAttr('id') );
  $('tr:last > td.id').text( id );
  $('tr:last > td.username').text( username );
  $('tr:last > td.email').text( email );
}

Tags:HTML, JavaScript, 網頁設計

COSCUP 記趣

Posted on 2012 年 8 月 30 日2021 年 3 月 12 日 By 日落 在〈COSCUP 記趣〉中有 2 則留言
COSCUP 記趣

今年是我參加 COSCUP 的第四年、加入志工的第三年,學到新技術也交了不少志同道合的朋友,參加了社群活動真的讓生活改變了不少。

平時拼作業、報告、考試和專題,爆肝有餘去玩玩社團,閒來沒事再上開心農場晃晃,蠻平淡的學生生活。經由 cookys 邀請,才知道玩電腦也能聚在一起辦活動,參加了 COSCUP 2009。

pingooo 所言不假,COSCUP 真的是 40% 聽演講、60% 交朋友。在聽到 Jserv 大神的「Virsualization Goes Mobiles」後呆住,索性打開座位表,星夜如雨就坐在我隔壁,原來就是你在開心農場塞了 700 多個石榴給我!

之後課餘時間會多留意各地社群活動。一次在默契等 Mac 自由聚,閒來沒事上噗浪晃晃,突然隔壁的人拍拍我肩膀:「你好,我是 MrMoneyC!」促成了 SA@台中。

參加社群活動受惠頗多,所以有餘力就加入志工,希望活動能繼續辦下去。

廢話半天,還是回去乖乖的把照片整理完吧  (逃)

ps. 搶到 COSCUP 2010 的門票,貼上來紀念一下 XD

Tags:COSCUP, 生活雜記

wget 中文亂碼問題

Posted on 2012 年 8 月 13 日2021 年 3 月 12 日 By 日落 在〈wget 中文亂碼問題〉中尚無留言

這幾天為了某事情用 wget 砍站,但因為對方目錄使用中文命名,wget 遇到中文不但網址錯誤,連檔案名稱的文字也變成亂碼。

原因是 wget 對國際語言的支援不夠完整,判斷 URL 中的特殊字元後在轉成檔名儲存,而遇到中文字時轉換會錯誤。目前官方是出的版本沒有辦法使用參數或設定繞過這個問題,但可以透過修改程式碼再重新編譯解決。

先從 GNU Wget 網站上將 source 抓回來。開啟 wget-1.x/src/url.c,找到以下程式片段:

quoted = 0;
   for (p = b; p < e; p++)
     if (FILE_CHAR_TEST (*p, mask) )
       ++quoted;

改成:

quoted = 0;
   for (p = b; p < e; p++)
     if (FILE_CHAR_TEST (*p, mask) && !((*p | 0x0fffffff) == 0xffffffff) )
       ++quoted;

存檔後重新編譯:

$ ./configure
$ make

完成後用剛編譯完成的 wget 來抓檔案:

$ ./wget-1.x/src/wget -np -r http://path.to/your/檔案名稱/

Reference:

wget中文乱码 – 互联网络 – c – Linux – Wget – 自说Me话
http://isayme.com/2011/07/fix-wget-for-zh-cn/

wget中文乱码 | 可可熊的窝
http://cocobear.info/blog/2008/04/19/wget-chinese-encode/

Tags:Linux, 分享

建立 SSH Tunnel 專用帳號

Posted on 2012 年 8 月 1 日2021 年 3 月 12 日 By 日落 在〈建立 SSH Tunnel 專用帳號〉中尚無留言

VPN 有帳號管理功能,但是一些加密方式卻不盡安全,現在找到一個方法能讓使用者能登入 SSH 並使用 tunnel,但是無法使用 shell,僅當作跳板。

建立一個帳號,但將這個帳號的 shell 改為 nologin:

zero:x:1000:1000:zero,,,:/home/zero:/usr/sbin/nologin

這樣一來使用者無法取得 shell 操作、存取任何資料,但仍可以啟用 tunnel:

ssh zero@host.to -N -L 3128:127.0.0.1:3128

-N 意思是不執行任何遠端指令,也不會開 shell。

Tags:網路架站

文章分頁

上一頁 1 ... 124 125 126 ... 320 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows XD 作業系統 分享 好站推薦 專題 小提琴 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.