2022-06-26

用社交軟體散發出的影響力

 首先,對於科技的進步,現代的人也越來越忙碌,對於資訊的需求急迫性也是以秒為單位,例如想要得知朋友的社交近況。


那麼在台灣,我們不外乎使用FB與IG來發布自己的生活,尤其是IG,因為IG是比較有私密性的,除非是商業使用,否則通常私密帳號都是給自己認為值得的粉絲來允許追蹤。


那麼剛才提到很多人對於資訊要求需要是快速的,因此現代人對於朋友們的近況,也是透過社群軟體來了解朋友的近況,所以大部分的人對於朋友的認知通常都是用社群軟體來認識的,而不是透過聊天(聽起來有點悲哀)。


反而有些奇怪的現象是,只要大家沒有一起做共同的活動,就算人在你的旁邊,我們會不自覺拿起手機,邊看別人的社交軟體,邊等待這團體中某一個Key leader有人發出號令,leading 大家等等我們要做什麼事情,像是準備出發大家一起去吃飯,或者一起做某些目的性的活動。所以通常要是沒有事情可以一起做的話,我們是會詞窮的。


但***識時務者為俊傑***,既然這樣的(註1)詭異的社交現象已

經開始發生在我們的身邊,那麼我們要怎麼樣好好利用現在社交軟體媒體,讓我們人際關係可以變好?


我現在觀察到的現象是,偶爾在你信任的社交生活圈(這邊不外乎是FB與IG)發出看起來覺得值得分享的事情,這樣就可以在社交軟體上的朋友保持一點點的聯繫或者一些影響力。

2018-05-05

[分享] CODER、PROGRAMMER、DEVELOPER、ENGINNER這些名詞有什麼差異?

前言

常常有人說I'm coder、I'm programmer、I'm developer、I'm engineer,
但不確定這些名詞的差異,因此在Qoura搜尋一下發現也有類似的問題,參考連結整理如下:

Coder

純粹把程式寫出來可以正常運作,但程式碼也許不是這麼漂亮、或者可能有bug與效能不佳的問題。通常比較適用於程式初學者。 (不確定這邊是否有貶義)

Programmer

比Coder能夠熟悉某一種程式語言開發,並且有能力可以完成工作上交付的任務(Task), 但是需要有人去引導要用什麼樣的方式完成任務,若下次遇到同樣的問題之後便可以自己去解決。

Developer

可以寫出健全有彈性程式,同時能聯繫、解決客人對於產品特定的程式需求。

Enginner

通常是指可以用不同程式語言設計和建構出從無到有的程式產品,還可以針對現有的問題提出改善的方法,思考程式設計的觀點也比較全面。

總結

  • 這幾個腳色似乎有些部分是會重疊在一起的。
  • 團隊裡面會有人同時扮演多種腳色,或者與其他腳色互補。
  • 這邊自己想法是,可以透過產品的開發需求來定位自己的所扮演的腳色。例如今天我負責開發產品某一小部分的功能,並且只能用狹隘的觀點來看待此產品,那我的定位比較趨向Programmer;但我今天如果可以針對現有產品重要的功能可以設計出高彈性並且可重複利用的,定位就會比較趨向Developer。
GJ 2018/05/05 in Taipei

2018-05-01

[心得] 如何IT寫作? 讓自己的知識穩紮穩打

# 前言

---

可以讓自己的知識share出來提供給別人參考是一件不錯的事,因此我寫IT文章的習慣,會先想好以下三個要點:


  • 為什麼我要寫這篇文章
  • 這篇文章能解決什麼問題
  • 讀者可能有其他的疑問


## 為什麼我要寫這篇文章
通常我們對於自己腦袋中的知識深信不疑,很容易陷入一種迷思,覺得自己知識是完全正確但實際上是漏洞百出的,殊不知等到請你解說你的知識時,才發現描述的不夠實在、正確。舉例如下:

Q: 解釋 process 與 thread 的不同?
A: process所需要建立的資源成本較高,但是它對於資料獨立性保護較佳;而thread所需要的建立成本較低但是資料獨立性保護較差。

以上的舉例就很容易透露出我對process與thread差異根本不是很熟,因為我不能進一步描述這兩者間的差異性。假如今天面試官進一步詢問建立process與thread注意事項,我百分之百無法應對。

因此為自己撰寫一篇知識文章,既可以確保自己知識是有系統化的,也比較不怕被別人挑戰。而文章是自己寫的,就像老師自己編教材一樣,才能胸有成竹地去教學生。

~更重要的是方便日後查詢!~



## 這篇文章能解決什麼問題
既然花了時間寫文章,就要提出優點來,才能說服別人看到文章標題時,讓他產生一種想法: 這篇文章也許可以解決我目前的問題...

因此在撰寫文章前,要在文章開頭特別註明你的文章是解決什麼樣的問題? 例如我今天要寫一篇對於:process與thread差異

那我就會特別說,這篇文章可以提供process與thread差異之外,還可以:

  1. 在撰寫程式的時候可以考量到底是要用process還是thread
  2. 可以回答面試官的問題XD (通常面試官常問此類型問題)
  3. 可以了解process與thread創建過程
適時提出優點可增加閱讀文章的動力,畢竟要顯現優點才有被閱讀的價值。



## 讀者可能有其他的疑問
很多人在寫文章時,通常會犯了一個錯誤,例如今天撰寫一篇文章叫做:
How to create & use Dynamic Shared Objects
這邊就拿我最近的文章當例子How to create & use Dynamic Shared Objects

在某個小節,其中介紹編譯dynamic shared object 指令如下:

gcc -shared -o lib_addition.so lib_addition.c
在寫這個指令的時候,重點要告訴讀者這樣做就會產生lib_addition.so就可以了,

請不要一個個詳細解釋-shared 與 -o 還是其他指令的意義,因為我們今天文章的標題叫做:
How to create & use Dynamic Shared Objects
而不是
Explanation of gcc command parameters
因此我習慣把指令參數的意義放在Q&A就可以了,這樣才不會讓文章失焦。

---

# Conclusion
說到底我本來就不太相信大腦記憶,因此要有系統地去整理自己的知識,並寫出來公布在網路上,因為網友們也許會發現文章不足的地方而提供建議。另外也可以給自己一個壓力:
貼出來的東西是不能誤人子弟的
才能確保自己的知識是完整且無懈可擊。

GJ 2018/05/01 in Taipei


2018-03-10

[Tips] checking for C compiler default output file name fail

checking whether the C compiler works... no
configure: error: in `/home/gj/git/ambarella/apps/lighttpd/lighttpd-1.4.31':
configure: error: C compiler cannot create executables
See `config.log' for more details


you can refer config.log and find out that LDFLAGS may doesn't include necessary LIBRARY.

...libmcu.so: undefined reference to `
...libmcu.so: undefined reference to `



So, the configure message will said C compiler cannot create executables

2018-02-18

[TDD} TDD的好處

1. TDD不是銀彈,你交付的軟件依然會有缺陷,所以照樣需要許多其他的測試,
但是TDD會讓你發布的代碼包含非常少的缺陷

2. TDD易於理解。對於編寫不好的代碼,每個人都需要花費大量的時間去理解,
TDD可以讓你安全的重組組織代碼以提高可讀性。

3. TDD易於修改,通常容易修改的代碼意味著高質量設計。
TDD使你可以持續修改,以保持設計的高質量

2018-01-30

[觀念] 效能量測要注意三件事

簡單講
效能量測要注意三件事
1.  準確度。精確度(每一次測量數據各自都很相近)、真實度(每一次測量數據都很接近平均數據)
準確度(如果精準度與真實度都有達到條件)
2.  量測時間長短。都是在算週期性變化,主要被影響會有兩件事:
a). random    (射箭時候有風吹變化,不可控制的變因;老爺鐘擺在空氣中壓力與灰塵)
b). systematic (弓箭手姿勢,可控制的變因;時鐘所插的交流電: 50Hz or 60Hz)
3. 解析度。量測時間單位大小,就跟標靶第一圈與第二圈的相對距離意思一樣

2018-01-27

[書評] SCRUM:用一半的時間做兩倍的事

SCRUM:用一半的時間做兩倍的事

http://www.books.com.tw/products/0010673295

目前簡單寫下:

產品負責人:
-> 把客戶需求轉為生產清單,把生產結果轉為客戶價值。

Scrum大師: 
-> 安排Scrum流程,糾正Scrum錯誤,排除Scrum一切萬難。

書中有多個貼近生活的舉例,如果此書當作是一個非軟體相關工作者的Scrum入門磚,個人覺得非常適合,看完之後再進一步去看比較實務的Scrum之書籍。