CodeHighlight

2017年3月29日 星期三

[C/C++] fchmod/chmod

    最近遇到一個檔案權限的問題,是log檔要統一給獨立的module去抓。
因此除了寫檔案外,還需要給予合適的檔案權限。 想到檔案權限,第一個可以用的就是chmod - 經典的linux檔案變更API。
不過餵了狗之後,發現還有fchmod這個貨可以用。


chmod
基本上這東西和linux的chmod是一樣的,主要改變指定檔案的權限
宣告原型是 int chmod(const char *pathname, mode_t mode);
第一個參數是檔案名稱,第二個參數是mode
mode的設法和chmod相同,是以bitwise的方式指定三方的權限

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fp;
    fp = fopen("file.txt", "w");
    fputs("1234", fp);
    fclose(fp);
    chmod("file.txt", 0777);
    return 0;
}


fchmod
修改操作中的file number的檔案權限,相較於chmod,這個可以在打開檔案後就設定這個檔案的權限。
(雖然個人試過在開檔之後用chmod也是可以,只是不確定這樣的操作會有甚麼風險)
宣告原型為int fchmod(int fd, mode_t mode);
第一個參數是打開檔案的file descriptor,第二個則是mode
mode的設法和chmod相同。

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fp;
    fp = fopen("file.txt", "w");
    fchmod(fileno(fp), 0777);
    fputs("1234", fp);
    fclose(fp);
    return 0;
}

就個人來說,我會比較偏好用fchmod在開檔案前就把權限一併設好,
尤其在log檔這種即時性比較高的應用上,可以避免一些因為權限問題而抓不到log的狀況



Reference:

2016年11月26日 星期六

[讀書心得] 山德森短篇故事集 - 皇帝魂



皇帝魂:布蘭登.山德森精選集

The Emperor’s Soul

  • 原文作者:Brandon Sanderson
  • 譯者:段宗忱
  • 繪者:葉羽桐
  • 出版社:奇幻基地  
  • 出版日期:2013/06/01


身為山德森的書迷,這本短篇故事集一定要收一下的呀!
所以就在等車的時候,去附近的金石堂買下了!
-----------------碎碎念完畢-----------------
這本書名雖為皇帝魂,不過該篇章故事大概佔其中的四成,
但是相較其他篇章來說,我還是比較喜歡這篇,
一個有魔力,甚至可以仿造靈魂的印章,怎麼想都很妙呀!
內容敘事相當緊湊,做為一個短篇章是恰如其份。

而且不知為什麼,製造魂印有種寫程式的感覺(誤

另一篇比較有印象的是軍團,
一個具有大量人格,各人格還需要有自己的房間,
且人格間互相有恩怨情仇,所開設的萬事屋的故事
我在想萬一到最後人格間互相內戰,不知道會變成怎樣 :)

宗教部分倒是覺得還好,這種東西是很講求信念滴~(食神貌)

第十一金屬呢...就是凸顯凱西爾的人格特質吧~
故事倒是沒有進展多少~是說迷霧續集甚麼時候要出啦!(敲碗)

「長嫡」和「保衛幸福之地」感覺就還好,這部分還是給專業的來說吧~

2016年11月12日 星期六

[讀書心得] 異龍現,江湖變;靈劍泣,野火熄 - 靈劍

靈劍

  • 出版社:奇幻基地
  • 出版日期:2013/09/26
  • 語言:繁體中文

[卷一]
也許是小弟才疏學淺,
這算是目前看到第一本將「神通」這種仿超能力的設定加入武俠小說的書。

說真的,感覺起來是個相當有趣的設定,
不過同時也是相當危險的一步,
如果沒有處理好,很多劇情很容易會變得相當不合理
雖然如此,作者說故事的功力不錯,
所以在看的過程中,就依照故事進展讀下去。
在閱讀觀感上是相當愉快的。

不過故事進展中,有些橋段有種似曾相似的感覺
我想這應該向金庸經典橋段致敬吧!


[卷二]
相較於第一集的灰色調,
到了第二集,整體步調稍微歡樂了一些,
而且去掉了神通,整個劇情調性回到了「一般的」武俠小說,
一則以喜一則以憂,不過感覺起來,至少算是個可以輕鬆讀的故事。

在這一集中,燕龍可說是第一主角,
身為神祕幫派龍幫的龍頭(首領),亦身懷高超武藝
雖然篇幅不一定比受創後消沉的凌霄多,但也因為有燕龍
使得本即有個較為顯著的亮點。

其中經典橋段莫過於在峨眉金頂上「龍爭虎鬥」一役
兩大互相相知的高手,在天下群雄面前進行力與力的拼搏
雖然氣勢與氣氛略遜於喬峰在聚賢莊力戰群豪,
但仍算是令人印象深刻的佳作!


[卷三]
睡了一整集的火教在這集終於又重出江湖啦~
感覺就像哈利波特第三集的弗地魔,
完全鬼隱在劇情之間。

整個劇情的調性也在此急轉直下,
除了龍虎雙俠比翼而行之外,
其他時候似乎又回到了第一步的灰色調

作品很可惜的是最後的部分,
燕龍與凌霄先後上獨聖峰的橋段,
感覺上應該是相當悲愴的氣氛,
但讀起來卻有點未達高潮之感,

此時就不得不贊同網友所說:
「第一部武俠小說就看金庸,喜則是多為經典之作
但是之後看其他小說就會變得更為挑剔」
妙哉!妙哉!

2016年10月29日 星期六

[讀書心得] 穿越時空的心理工程 - 穿越時空的巨石碑


穿越時空的巨石碑

The Chronoliths

  • 原文作者:Robert Charles Wilson
  • 譯者:穆卓芸
  • 出版社:貓頭鷹  
  • 出版日期:2010/12/02


        石碑一直都是給人「永垂不朽」「萬壽無疆」的概念,
是人在這個世上,曾經走過的痕跡。
從秦始皇泰山石碑、各朝代皇陵、埃及的羅塞塔石碑、漢摩拉比法典的石碑...等等
皆紀錄著當時的豐功偉業,
就連小老百姓,都會在死後留下墓碑,以供後人瞻仰前人之風采

        那,若未來的石碑回到了現在呢?那是否是預告著未來即將掀起的風潮。
比起在雲霧飄渺間尋求支離破碎的訊息,冷冰冰、硬梆梆的石碑,
更能令人印象深刻。

=======================劇情分隔線==========================

        本書整體是以回顧傳記的方式編寫,因此時間跳動相當快速,不過作者說故事的功力了得,因此不會有太多的突兀之感。這本比較接近「太空漫遊」、「火星」系列,都是在現有的世界上,在加上科學(科幻)的世界。因此讀起來更有貼近感。
在故事中,主角在泰國之行時,遇到了神祕石碑從天而降,上面記述著未來會有「古殷」這一號人物統一該地,並將此石碑從未來送回過去,以預告他未來的勝利。作者也因此捲入了「後石碑時代」的漩渦中心。
  雖然石碑本身僅是靜靜地矗立在該地(好啦,抵達過程中是不怎麼平靜),不過對於人的震攝效果是非比尋常,尤其是從未來回到過去的石碑,讓人有種超越常理判斷的感覺,加上媒體的推波助瀾,更加深了人們內心的好奇與恐懼。最後結尾留下了若有似無的半開放式結局,加上許多寥寥數筆帶過的事件,讓整個故事更值得令人玩味。

2016年10月16日 星期日

[讀書心得] 行於黑暗大陸 - 暗星薩伐旅

暗星薩伐旅

Dark Star Safari: Overland From Cairo to Cape Town

  • 出版社:馬可孛羅  
  • 出版日期:2008/07/04


雖然有點被略嫌龐大的頁數嚇到,
不過並不影響整體的閱讀體驗。

作者在這段旅程中,
用自己的雙腳走過這片外人眼中的黑色大陸。
並用溫馨與批判兼具的語句,記錄下這趟旅程的點滴。

透過作者的筆尖,可以知道這片不被人看好的大陸上
那些與你我相同的芸芸眾生,是如何在這種一般人避之唯恐不及的土地上生存

閱讀同時,可以讓人對這社會有更深刻的省思,
這個世界,還需要甚麼,才會變得更好,更適合人居。

[讀書心得] 突破千年的禁錮 - 迷霧之子 首部曲:最後帝國

  • 原文作者:Brandon Sanderson
  • 譯者:段宗忱
  • 出版社:奇幻基地 新功能介紹
  • 出版日期:2010/01/29



身為大長篇三部曲的第一集,迷霧之子:最後帝國可以說是一個相當不錯的開場,在長達千年的階級統治下,一群來自社會底層的人,試圖打破這個日漸僵化,且不公不義的社會。

全篇就是在這種氛圍下進行著,雖然以反抗者的角度來說,「國家」是對他們施與壓迫的來源,但是有更多更多的被奴役者,是將其視為「理所當然」、「應當如此」,雖說心有不滿,但卻也無從表達。雖然如此,他們仍用自己的方式,去對抗這個存在千年的強權。

整本小說算是節奏緊湊,而且有埋了不少梗在裡面。說真的,我挺喜歡其中的動作描寫,雖然是經過翻譯,不過在表達上仍有相當的動作感,很容易在腦中就浮現影像,相較於地海系列,這本算是較易上手的一本小說。

2016年10月3日 星期一

[讀書心得] 大航海時代的先驅者 - 1421 中國發現世界


  • 原文作者:Gavin Menzies
  • 譯者:鮑家慶/譯
  • 出版社:遠流
  • 出版日期:2003/11/01
  • 語言:繁體中文


以幾張古地圖為起點,加上本身具備的航海知識,
推敲出一段被隱藏在過去的歷史。

        鄭和下西洋,是個眾所皆知的故事,可是對於其中的細節,卻是一無所知
筆者曾經到過東南亞旅遊,也聽過導遊介紹鄭和的相關史蹟,其中真假難辨
不過就以現有的歷史知識來說,在那個年代,明朝絕對是有那個能力和實力,
可以進行一場劃時代的大航海壯舉。

        可是以現行的資料看來,鄭和艦隊卻是只有在東南亞一帶進行任務,
感覺是可惜了些,就以目前打撈出來的沈船來說,無論是大小或強度,
都絕對不輸給日後歐洲航海先驅者的船艦。

        其中提到的許多資訊,部分有所耳聞,但更多的資訊對於一個僅對歷史有興趣的人來說
是前所未見的資料,做為一本推測和考據的書,是相當不錯的,

只是不得不提,最後的資料集實在是好多!