#就地避難在家鍛鍊寫作能力
軟體工程師系統設計面試準備指南
當你有了幾年的工作經驗以後,在找工作時一定會遇到系統設計的面試,有鑒於大部分的面試心得都是針對演算法以及資料結構的程式面試 (包括我之前寫的美國軟體工程師求職心得),對於系統設計的準備資源還真的不多,本篇要來剖析系統設計面試,介紹面試的流程、正確的心態以及準備的方向,讓大家再也不怕系統設計面試!
Medium 好讀版:https://medium.com/jktech/%E8%BB%9F%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB%E7%B3%BB%E7%B5%B1%E8%A8%AD%E8%A8%88%E6%BA%96%E5%82%99%E6%8C%87%E5%8D%97-acf6ab1f502f?source=friends_link&sk=ca40acf60b749cb1b32c17a868b0c1a3
#為什麼系統設計很重要?
在程式面試表現優異,可以讓你順利拿到 Offer;但是系統設計會決定你加入公司的職等!這也就是為什麼有些人有十年經驗只能拿到 Mid-Level (L4) 的 Offer,而有些人只有五年經驗卻可以拿到資深工程師以上 (L5+) 的 Offer。
另外,如果你是面試 Staff 或是 Principal 級別以上的話,除了系統設計以外,有些公司還會有 Technical Leadership 的面試,來判斷你是否有能力可以跟不同的部門合作、解決問題的不確定性、帶領資淺的人然後推動並且完成一個跨部門的大型技術專案。
簡單來說,系統設計用來判斷你是 L4 或是 L5+,Technical Leadership 面試用來判斷是 L5 或是 L6+。
#為什麼系統設計很難準備?
大多數應徵者在準備的時候會過度偏重於程式面試,原因也不難理解,程式問題的定義很清楚,有給定的輸入以及預期的輸出,就算你真的想不出來,LeetCode 上的討論區也有參考答案;這種有考古題可以參考的面試,對於台灣教育出來的人來說相對好準備,隨著你解的問題多了,你也會更有信心,不知不覺甚至還會刷上癮了呢!但系統設計卻非如此。
系統設計面試的問題描述通常很模糊 (這是刻意的),沒有給定的輸入與輸出,比較沒有既定規則可以遵循,然後也沒有一個標準答案,針對不同系統你需要提出不同的解法然後分析優缺點,一樣的問題,面試官也會針對你過去經驗往不同的方向問,有些問題你工作上沒有碰過還真的回答不出來,這也就是為什麼很多人看到系統面試就怕了。
#到底要怎麼準備?
首先我們要先建立一個觀念:沒有任何一個人可以知道所有的技術細節
不管你的面試官有多少年經驗,不管他們再怎麼資深,在變化快速的軟體產業,沒有人可以知道所有事情,一定有你知道而他們沒聽過的事情!
請把系統設計當成分享你過去所學的面試,這個面試的目的在於展示你對於軟體架構能力的廣度跟深度,你必須可以給出大方向的架構,知道有哪些元件 (廣度),同時針對你熟悉的領域深入探討更多細節 (深度),並且提出幾個解決方案,分析優缺點,並且針對系統需求選擇合適的解法。
大方承認自己對某些領域的細節不熟,也是完全沒問題的,只要讓面試官了解你知道這個東西,如果要深入了解的話你知道有哪些方向要努力,這樣就夠了,因為在大型的軟體專案裡,一定是高度分工的,不會有人同時精通手機端、前端、後端、Infra 以及嵌入式或是硬體的。
講到這裡,相信你也知道如果真的要準備是準備不完的,這些知識是透過平常工作以及閱讀技術文章長期累積的成果,比較沒辦法臨時抱佛腳。
#具體來說會問什麼問題
舉例來說,一個系統設計的問題會像是這樣:如何設計 Facebook?
這類問題的描述通常會很大而且模糊,面試官不預期而且你也不可能在 45 分鐘內就設計出這些公司花了好幾年這麼多人力設計出來的產品,所以第一步要做的事情是確認需求:是要設計動態牆、Messenger、廣告系統還是推薦系統?流量跟資料量為多少?需要支援全球的使用者嗎?
確認完需求以後,會針對最重要的幾個使用場景設計你的 Data model 以及 API,接著畫出大的系統架構圖,大致上會包含客戶端 (手機版/桌面版)、Load Balancer (Reverse Proxy)、App Servers 以及資料庫,接著可以針對細節下去討論,這邊開始就很自由了。
如果你是專精在資料庫,可以討論要用什麼資料庫以及資料要怎麼存可以讓特定使用場景的讀取以及寫入效能比較好,要怎麼做資料庫的 Replication 跟 Sharding 來服務更多的使用者?
如果講到快取,哪些地方可以加快取呢 (瀏覽器前端, CDN, App Server, 資料庫)?具體來說寫入快取有哪些方式以及優缺點 (write-through, write-around, write-back)?什麼時候要失效?要讓哪些資料失效?
如果聊到微服務器架構跟 Service Mesh,不同的服務怎麼跟其他的服務溝通? control plane 要怎麼更新 data plane 的設定?如果 control plane 掛了怎麼辦?要怎麼做 service discovery? 哪一種 Load Balancing 策略比較好 (round robin, random, least connection, ring hash, or maglev)?有些服務掛了影響到整個系統怎麼辦?什麼時候需要 circuit breaker ?
如果你是手機開發者,怎麼實現離線瀏覽?手機要有資料庫嗎?要怎麼以及多常跟伺服器同步?API 要怎麼設計?如何實現 Infinite Loading?剛 Po 文以後要怎麼樣在自己手機上馬上看到?
這些問題真的列舉不完,總之看到這裡你會了解為什麼我說這個面試是沒有範圍而且也準備不完的,重點應該放在跟面試官的討論,展現你在技術方面的廣度跟深度,讓面試結束的時候能夠有一個你們兩個人都同意的設計!
#準備材料
系統設計的資源比較分散,以下是我篩選過後覺得有用的資料,按照素材的類型作分類,也歡迎大家留言補充!
#入門影片
針對完全沒有概念的新手,我建議可以先從哈佛的 CS75 Lecture 9 Scalability 開始,裡面講到的很多基礎觀念都相當重要,值得一再複習,這些概念先有了以後再閱讀其他的材料會比較有感覺:
如果你看完這篇文章後還想再多了解系統面試的形式,也可以看一個前 Facebook 工程師分享的影片:
Distributed Systems in One Lesson 也很推,裡面提到不少業界在使用的設計模式:
有一個需要付費的資源是 SystemsExpert,每個影片會講解一個系統設計重要的概念,我個人覺得內容有點淺所以沒有買,但是整理地還算不錯,如果你看完他們免費的影片有興趣還是可以參考一下。
#閱讀文章
影片是一個讓你很好理解大方向概念的方式,但是如果你要深入理解背後的原理還有怎麼運作的細節,還是得透過大量以及深度的閱讀來吸收呀!
system design primer 整理了很多系統設計的資源,資料量很夠, 個人的建議是先快速過一遍,不要細讀,先知道總共有哪些元件,大概是做什麼用的就好,接著針對有興趣的部分在深入研究,建立自己的知識庫。
Grokking the System Design Interview 也是很多人推薦的材料,主要是針對系統設計的問題提供範例解答,他們的答案可以當作一個參考,但面試的時候不要完全照著回答,還是得看跟面試官討論的結果來進行,但這個是需要付費的,有興趣可以用我的推薦碼註冊購買。
如果你不想花錢或是不確定 Grokking 的文章你喜不喜歡,有一個類似的網站 Crack the System Design Interview 整理得也還不錯。
#書籍
唸書是一個有系統性學習的方法,如果你只想選一本書來看,就選這本大家都推的系統設計聖經 — Designing Data-Intensive Applications,簡稱 DDIA,這本書適合的對象是想要長期準備系統設計或是分散式系統的人,裡面舉的例子都是實際上業界遇到的問題,不會有以前讀教科書那種工作又用不到的感覺;但也因為是書,花了一些篇幅在講解背景知識,包含以前的系統是怎麼設計的以及如何演進到現在,對短期要準備面試的人效率會有點低,所以不適合有時間壓力的人。
這本書我目前讀了一半,最大的收獲是它解釋了很多為什麼現代的系統要做這樣的設計,我們針對不同的系統要求可以有哪些解法,這些解法各有什麼優缺點,總之分散式系統就是我們解決了一個問題,但又會產生更多要考量的點,一切都是 trade-off。
但這本書也不是沒有缺點的,首先我覺得是本書的英文沒有很好讀,我常常一段看了好幾遍才知道他想表達的重點是什麼,而且,有些很重要的觀念常常藏在一段文字裡用一句話帶過,但是不太重要的觀念卻使用 Bullet Point 表達;另外這本書話常常講一半,一些觀念提到了一點卻說我們後面再聊,也因為這樣,我在考慮要不要幫大家整理每一個章節的重點,翻成中文分享給大家,有興趣的朋友麻煩拍手留言告訴我!
除此之外,Google 的 SRE Books 內容也很實在,但是每一個章節的內容是獨立的,建議大家選擇想研究的章節跳著看就好。
最後,Distributed systems for fun and profit 的內容也很好,以分散式系統的理論為主,比較沒那麼針對系統設計面試。
#還想閱讀更多嗎?
我知道光是上面的資源就已經讀不完了,但是行有餘力的話,平時也可以多看看各大公司的技術部落格或是訂閱技術週刊如 TechBridge (台灣) 、HackerNews 以及 InfoQ 等等。
此外,參考別人的經驗也是很好的方式,最近剛好幾個朋友剛找完工作,他們分享的矽谷找資深工程師工作心得分享以及2020 上半年軟工找工經驗分享也都很值得看!
最後,在工作上使用到的技術,除了會用以外,最好也要花時間去研讀技術文件,了解他們設計的考量以及支援的場景,大部分這類型針對開發者的文件寫得會比較深入,所以也是相當好的學習素材;我自己過去一年因為工作上需要整合 Envoy 到我們公司的 Traffic Infrastructure,從他們的文件中學到很多 Service Mesh 跟微服務器的重要概念,學習的深度都是其他資源無法提供的。
#總結
這篇文章我們整理了很豐富的系統設計資源,希望大家不要被這滿滿的資訊量嚇跑。
請記得,我們永遠有各種方法在短期內針對面試做準備,提升面試的表現,但這都只是一時的,沒辦法讓你一夕之間就成為專家;如果想要追求長期的持續成長,那麼沒有捷徑 — 就是養成每天學習以及閱讀的習慣,一開始真的很難看到效果,但是當你持續一週、一個月甚至是一年以後,你會明顯感受到自己的成長,這些投入的時間都是騙不了人的。
如果這篇文章對你有幫助,請拍手留言加訂閱,並且分享給更多有需要的人知道!
同時也有83部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,分享用做網頁(HTML5)的觀念做出APP 這學期在元智大學開的課程,主要教會學生能期中考前架設網站, 期末考前則是把網站轉成APP,不用寫程式,就可以輕易的把用DreamWeaver CS6做好的網站轉成APP,需要用的技術只要會DreamWeaver CS6,而且一定要CS6以後的版本才行, ...
「硬體架構圖」的推薦目錄:
- 關於硬體架構圖 在 矽谷輕鬆談 Just Kidding Tech Facebook
- 關於硬體架構圖 在 胡毓棠 Facebook
- 關於硬體架構圖 在 我是賀禎禎 - 攝影教學 & 自助旅行 & 數位生活 Facebook
- 關於硬體架構圖 在 吳老師教學部落格 Youtube
- 關於硬體架構圖 在 吳老師教學部落格 Youtube
- 關於硬體架構圖 在 吳老師教學部落格 Youtube
- 關於硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的評價
- 關於硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的評價
- 關於硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的評價
硬體架構圖 在 胡毓棠 Facebook 八卦
【0424胡毓棠盤勢分析】看過請點讚!
目前來說呈現指數壓縮格局,下檔月線支撐但是5日、10日線短線又比較弱,以量來看指數空間不大,因為今天只有1200億的交易量,下周的狀況,以目前來看仍然是走量縮橫盤整理的機會比較高,本周就像台股一樣,在五月中以前都是一些財報公布的日子,可能個股的題材表現比較多,美國也是網飛可以逆勢走高,主因就是財報不錯,其他公司也是一樣,後續財報好壞跟展望會牽動後續的表現,本周或者下周結構內容都很像,指數表現空間不大,像之前解盤談到一樣,下檔大概萬點差不多也是月線的位置,做為10000點到10100點做為初步支撐,上面的反壓約在10500點,短線上很難有什麼利多釋放,指數回到個股表現來看,差異很大,目前盤面熱度比較高的還是以宅經濟為主的公司,市場看好第二季營運狀況應該會不錯,像是電商的富邦媒(8454)股價持續創波段高,網家(8044)有點落後補漲的味道,在這種不景氣當中還能逆勢徵才,代表電商的營運還是很熱,就像美國的亞馬遜跟Shopbop它們的股價最近還是持續挑戰歷史高的位置就知道電商還是很熱,遊戲也是如此像我們談到的網龍(3083)第二季要出新遊戲,今天股王鈊象(3293)先稍做休息,不過其他價位跟位階比較低的,像是宇峻(3546)、橘子(6180)有電商跟遊戲的概念,最近買氣開始轉強,硬體主機端來看的話就是Switch,第二季的拉貨動能轉強,任天堂的股價目前來說不管在日股還是位階看起來都是最強的,已經挑戰今年高,台灣相關供應鏈像是旺宏(2337)、原相(3227)分別在記憶體、感測端都有相關的產品出貨,另外一塊是Type-C晶片的創惟(6104)首季營收狀況也不錯,第一季營收繳出年增率33%的成績,以創惟的獲利水準跟股息配發2元,殖利率有高達6%在第二季來說加上任天堂出貨的加持,第二季還會維持在高檔,更重要的是切入USB4.0的商機,今天還有一則新聞,譜瑞-KY(4966)在經濟比較動盪之際,收購睿思這家公司,睿思主要就是做USB4.0相關的傳輸專利,譜瑞要跨入這塊,因為未來5G傳輸,USB4.0一定會是未來的主流,這些相關的個股像是祥碩(5269)今天也有跟進做反彈性的攻高,聯鈞(3450)今天也有反彈,因為聯鈞在Thunderbolt傳輸當中跟Intel有相關的合作,創惟在USB4.0相關的矽智財跟晶片的部份在過去已經拿到蘋果的訂單,今年來說蘋果也陸續導入Type-C的聯接應用,甚至今年USB4.0的擴大應用之下對於創惟的營運有不少的加分,本益比跟其它的高價股來比較,創惟去年賺了2點多元,本益比大概才15-16倍,殖利率也有6%,相對來說應該也有機會在外資過去一周的轉買之下,跟隨高速傳輸的高價指標股展開一波反彈行情。
【聯電(2303)資券同增 如何操作?】
單就技術面來看聯電(2303)算是很漂亮,這兩天補量突破頸線大約15.2-15.3的位置,目前型態架構很強,法說會現在來說很難判斷,像是Intel都不敢對今年整體營運作財測,因為很難看清楚,但是從聯電第一季營收表現來看還不錯,逆勢年增將近3成的成績,第二季展望我認為從近期法人的腳步來看,應該也是認為聯電的營運狀況不差,相關的像是5G、高速傳輸、物聯網應用端的晶片布局,整體前瞻性都不錯,外資甚至投信在法說會前都有卡位的味道,我認為法說會過後只要不釋出太差的訊息,聯電的股價還有機會墊高。
【定穎(6251)如何看待】
目前資券同增計數面維持強勢,短線尬空的空間跟力道還是有的,尤其券單在四月份開始激增,股價卻逆勢往上墊高,雖然這幾天稍微有點量能遞減的壓回,但是壓回的幅度不深,沒有在盤中看到爆量長黑,5日線短線雖然跌破,但是目前來看大約在19元、5日均價的位置大約19.8元做為區間的參考點,以這種強勢股來看4/20爆量的低點大約在19元左右,目前看起來都沒有失手,代表那天多方攻擊的動能還沒被破壞,伴隨券單還維持高檔,券資比還有3成,應該是短線上在技術面、籌碼面研判多方應該還有機會。
【PCB拉回怎麼看?】
PCB相關來看台光電(2383)、聯茂(6213)、台燿(6274),當中台燿的部份有一些內、外資的籌碼比較不同調,近期法人看法可能也是如此,投信在三月份以來沿路買,外資卻是沿路賣,但是目前看起來投信是勝出的,在三月份進場相對漂亮,但是均線的型態架構年線、半年線的反壓位置大概在130左右,目前價量結構圖破的機會難度比較高,這波反彈量是縮的,所以台燿、台光電營運的狀況5G應用端是可以期待的,但是極短線上籌碼的部份有點轉到其他基期、位階比較低的而且應用端在伺服器的,像是金像電(2368)雖然以獲利的水準來看沒有這些銅箔基板三雄好,但是金像電轉機味道很濃厚,今年第一季整體獲利數字應該有機會繳出好成績,股價從14元漲到29元大漲一倍,去年一整年幾乎沒漲到,南電(8046)也有這個味道,這波甚至一度跌破年線,這波走出強勢V轉,投信、外資同步加碼買進,PCB籌碼的部份外資有做轉換,但是對產業來說可能以切入的產品比較是伺服器、高速傳輸的會比較受到青睞。
【旺宏(2337)法人著墨不深 仍走自己的路】
季線的反壓突破可以比較偏多解讀,但是這個位置點很關鍵剛好要挑戰年線關卡,旺宏在4/21當天的黑K棒量比較大,今天有所反彈但是量似乎沒有辦法超越4/21的大量,短線上的反彈位置要留意,目前的技術型態應該是有機會在做挑戰,雖然外資站在賣方,投信的部份已經轉買,融資也站在買方,以目前的整體架構來說人氣是增加的,雖然先前有討論過一些融資增加的個股並不是太好,但是近期來說反而融資能夠逆勢增加的個股代表人氣有回籠,這些融資是散戶或大戶目前比較難判斷,但是量有出來之後,突破季線之後遇到半年線反壓,有機會站穩,有基會隨著任天堂的出貨持續繳出好成績,應該對於旺宏第二季的營收狀況會不錯,尤其市場在觀察記憶體的報價上,應該是沒有大家想像中那麼差,反而需求上有其他的產品別可以補足,短線上對旺宏來說在這種買氣推升之下有助於短線股價攻高。
更多資訊 :
加入我的Line群組 : https://lin.ee/ngPLoKf
訂閱我的Youtube頻道 : https://pse.is/RN6CD
硬體架構圖 在 我是賀禎禎 - 攝影教學 & 自助旅行 & 數位生活 Facebook 八卦
[想攝影135] 細說分鏡 Vol.12
🎥 影片時間連結:https://youtu.be/3XpWY8Xbe5U?t=159
🖍攝影,表面看到的是藝術,裡面隱藏的是技術
🖍技術,包含了所有攝影中,每一個基礎的觀念與經驗的累積
記得十幾年前開始學攝影,那是學校課程的一門必修課,上課的同學不管你有沒有相機,反正你就是想辦法去借到、買到一台相機,或是跟分組同學一起共用一台相機,36 張照片一起分擔費用,還能省點錢,當時真的光把一些基本的觀念學完,確實是花了 12 堂課的時間。
🟥拍一張照片要多久
拍一張照片要花多少時間? 不是從觀察開始,而是按下快門後直到看到照片前為止,前後要花上多少時間? 最快…,你覺得可以多快? 這問題我在自己的課堂上問過不少學生,幾乎沒有人能答到「最接近的答案」
🔺三天? 五天? 七天? 還是一天,都不是,答案是約 3 小時。🔻
一捲底片差不多拍 36 張,而你裝好後也不會一直胡亂的按快門,而我快的話,差不多也要個把個小時才能把一卷底片拍完,這在當時已經算很心痛的速 – 因為貴哪,快門聲就像是從破掉的錢包,掉出硬幣砸在地上的聲音,從第一張開始拍到最後一張照片結束,快速的取出底片,此時你背對相片館轉身前進,對著老闆說「我要快洗」,這個快洗…,差不多要 60-90 分鐘不等,由於要特別洗你這一份底片,工錢、料錢與時間都特別的貴,前前後後算下來…,自你按下第一次快門直到看到成品照片,也真的差不多約 3 小時左右,當然,有人還可以更快一點。
🔺撰文的今天,需要多少時間? 3 小時不到,甚至還不用 3 秒,1 秒不到的時間,你就可以在相機螢幕上看到剛剛拍的好不好,用上述相同的心情拍完 36 張,「最快看到照片的時間」依然是 1 秒,按下快門後,每一張照片都花不到一秒的時間就能看到。🔻
🟥學習的時間
記得第一個攝影作業,是正確的將曝光三元素給適當的拍出來,我記得那時我在找會動的東西做練習,跑到了圓山兒童公園,拍攝裡頭的旋轉木馬,忘了當時快門是使用多少,最後的結果是無法「凍結」旋轉木馬上頭,以及坐在上頭的人們快樂的表情,然後再用一周內的時間,重新、重拍練習,直到這項練習 PASS。
現在使用數位相機就快多了,從十幾年前還身為學生,到現在變成學生的老師,在教導這個作業時,相同的要求,卻可以省下更多的時間,當學生按下快門,立馬檢查照片…
「快門速度不夠,重來」
學生再重拍一張
「還是差一點,再來一次」
學生再摸著相機,再重新調整更適合的快門速度
「這樣子就對了,下次記得要照這方法練習,而不要死背答案」
這樣子一來一往的動作,大概…,最慢 10 分鐘就可以學好單一練習,比起我第一個練習的作業,花費數天時間,快上了不知數百倍之多。
🟥技術的定義
每學一個新的觀念,當你用相同的模式一試再試,仍需花上不少時間,但也比過去使用底片相機快上不少,不斷的練習、練習、再練習直到熟練。 同樣的一個練習,拿到不同主題,考慮的重點順序、重心又不同了,又再重複練習,直到真的練到「精髓」,我想這時可以說 – 嗯,技術已經熟練了,就算遇上陌生、第一次接觸的場合,也不容易失敗,也不會拍的讓自己失望。
到底「技術」的定義該如何定義,我還是喜歡引用維基百科裡頭的說法,比較讓大家較有討論上的共識:
🔺「技術可以指人類對機器、硬體或人造器皿的運用,但它也可以包含更廣的架構,如系統、組織方法學和技巧。它是知識進化的主體,由社會形塑或形塑社會,如電腦等新技術的增生使人們相信技術是社會進化的決定性力量。換句話說,它是驅動改變的自發性動力。」🔻
「它是驅動改變的自發性動力」,這句話來解釋討論攝影中最有趣的一段話,當我們學習攝影,從基本的曝光到創作,每一個動作與環節,我都認為包含了非常多的「技術」在裡頭,當我們熟練每一個技術後,這「技術能驅動改變」我們,產生一種「動力」,讓我們能組合攝影裡不同的變數,去創造出各種不同的影像可能。
因為技術有這個本質,也就是說,你必需熟練每一個攝影的觀念、操作方法,不能臨時抱佛腳 (因為景像千變萬化不等人的),也不能含糊帶過 (不能無法解釋變數間的交互影響關係),當一切熟練、駕輕就熟,才能讓我們面對一場景下,生出更多的創作可能,這就是技術 – 驅動改變的自發性的動力,這個自發性就是從我們心中所產生的動力。
🟥藝術的定義
🔺「藝術,指憑藉技巧、意願、想像力、經驗等綜合人為因素的融合與平衡,以創作隱含美學的器物、環境、影像、動作或聲音的表達模式,也指和他人分享美的感覺,或有深意的情感與意識的人類,用以表達既有感知,且將個人或群體體驗沉澱與展現的過程」🔻
是的,書讀得不多的我,在我辭窮的字典裡,維基百科總是我偷懶下依賴的來源。
藝術百百種定義,若以上述的定義裡,我留意的是「技巧、意願、 想像力、融合、平衡」這幾個關鍵字義,雖然無法確定裡頭的「技巧」是否為「技術」,但我認為我們暫不拘小節將技巧等同於前面所說的技術。
🔺細看「藝術的定義」他包含了「創作、分享」二個階段,同時藝術是個「過程」,既是創作的過程,也是分享的過程,當然我們難以透過無形的事物憑空用電波在大腦間傳遞,在我們攝影藝術「創作與分享過程」最具體的結果,自然是表視在具體的影像照片,好讓我們溝通有個開始、基礎與焦點。🔻
🟥攝影藝術
藝術定義中「……將個人或群體體驗 “沉澱與展現" 的過程」,進一步我會這麼定義攝影藝術:
🔺攝影藝術也可說是「個人技術的熟練,加以個人生命體驗的 “沉澱” 後,透過自身的意願、想像力、經驗加以融合,創作出影像的過程,並且具體表現在 “照片作品等具像物體上”,與他人共享意識、情感。」🔻
我會這麼解釋「攝影藝術」這個名詞。
我認為,如果在攝影的「觀念、技術」無法熟練,你是無法創造出精采的作品,誤讀了觀念,解釋不清的變數互動,雖然仍可創造出作品,但要記得藝術不但是創作的過程,也包含了分享的過程,在前一階段你可以模模糊糊的拍出一張視覺精豔的作品,但後一階段相信就難去表達清楚,難以他人共享你的意識與情感。
不要說什麼「藝術不該是主觀、客觀、多元解讀」這套說法,來偷渡你無法與他人解讀、分享你作品意義這一關,你可以是一個表達拙劣的「說者」,畢竟「表達這件事,也是個技術與藝術」,但你不能是對自己作品毫無念頭的攝影創作者,吱吱唔唔的說「我覺得這就是美,就該這麼做」,雖然這也是一種自我解讀做品的說法,但以「表達作品,與他人共熟意識、情感,視為藝術創作的一環」來看,前半段作品創作你或許過關了,但後半段作品分享,卻可能打上了零分。
🟥技術與藝術班車
外拍最常遇上學生的問題之一「面對這場景,光圈 (或快門) 該用多少?」,這是常見的問題,也是奇怪的問題,這問題不該問我才對,應該問問你自己要的是什麼樣的「作品呈現」。
但這只是個外拍練習,總不會一開始就將初學學生拉到「藝術創作」的層次,我還是會說「想想光圈是做什麼,快門又是做什麼,上課都有提到」,提示一下,學生通常還是能拍出基本的作品出來。
藝術表達前,技術一定先到位,在技術培養熟練過程,同時也在觀察藝術創造的元素,技術到藝術不是一趟單行票班車,而是來來回回的過程,透過技術熟練,來欣賞、了解藝術是如何創作產生,再透過藝術的欣賞過程,回頭看看自己技術哪裡的欠缺。
在我看來,太多數的人,自認基礎觀念學會了,就一直朝著藝術創作猛衝,卻鮮少有人帶著回程的車票,坐回攝影基礎起點站,重新的想想那些攝影變數下,還能擁有什麼樣的可能,再買張車票重新朝著藝術創作出發,這也是我對現在攝影風潮下,我自己對「我自己」的反思。
🟥生命體驗的沉澱
也許我們太在乎如何讓一張照片富有可看性 (精采的構圖)、故事性 (一張照片千言萬語),只想快速拿著相機跨越了「技術、藝術之間的交集」這困難一關,想要用最快的方法達抵達「終點」,也就是一張讓人讚嘆連連的作品,然後再繼續重複下去。
在藝術的定義中還有一段話讓我非常在意「加以個人生命體驗的 “沉澱”」,一張作品必定是個人生命體驗的「沉澱」,這個「沉澱」真的需要時間、歷練,急也急不得,無法像自底片攝影過渡到數位攝影,彈指之間就能見到作品那樣神速,而我自認這方面我依舊欠缺,我自己也在追尋著「我認為攝影之於我生命的關係解釋」,一直找不到好的解釋,或許這追求的過程,就是為往後作品不斷堆疊的必經之路吧。
🔺最後還是想提醒自己,「攝影藝術下的照片作品,它只是個過程,不是結果,包含了 “創作” 以及 “分享” 的過程」,若要再多說一點,照片的生命不是自按下快門後就走到終點,應往外延伸,如何與他人分享情感與意義,這是攝影藝術觀念裡,作為一張「攝影下的照片作品」的定義。🔻
另一方面,技術與藝術間不是個單程車票,不是一路抵達終點就結束,這是來來回回重複的旅程,在途中同時堆疊自己對攝影與生命的體驗,當拿著相機,走了無數的路、拍了無數張的照片,此時是該停下來、看看自己與他人的作品,聽聽他人的意見,與最要的「心裡的聲音」。沉澱後再重次出發。
📷📷📷📷
7 堂攝影入門課 🙆♂️終生看 ⏱隨時看 🎞線上看
#報名連結:https://go.hojenjen.com/3p2g6n
👉9/30 前早鳥價~~ $4990🔺🔺🔺
硬體架構圖 在 吳老師教學部落格 Youtube 的評價
分享用做網頁(HTML5)的觀念做出APP
這學期在元智大學開的課程,主要教會學生能期中考前架設網站,
期末考前則是把網站轉成APP,不用寫程式,就可以輕易的把用DreamWeaver CS6做好的網站轉成APP,需要用的技術只要會DreamWeaver CS6,而且一定要CS6以後的版本才行,
一節課期時就可以做出APP。
首先分享旅遊使用APP的心得,從自由行使用APP的角度來看,
有APP對自由行幫助極大,會使用APP幾乎可以讓旅遊變的很順暢,不過前提是要有對應的APP,除了旅遊外,食衣住行與各行業,都有APP開發的需求,所以若能在畢業前,努力經營自己有興趣的APP,除了就業助益外,甚至也可以為創業開扇窗。
以下是上課的畫面:
00_如何註冊PHONEGAP帳號
01_如何將102題網站改成APP(新增網站與匯入素材與建立首頁)
02_多頁APP範例之一完成畫面
03_多頁APP範例之一設計畫面
04_如何加上超連結
05_如何加上按鈕
06_加上按鈕完成畫面分享用做網頁(HTML5)的觀念做出102APP
課程理念
智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達800萬人次以上,手機相關應用,將會超越PC,比PC更智慧,更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
上課書目
用Dreamweaver CS6,我也會開發APP
作者: 鄧文淵 總監製/文淵閣工作室 編著
書號: ACU062500
出版日: 2012/10/09
內容特色
用Dreamweaver CS6,你也會開發APP! 能快速完成作品、擁有視覺化的質感介面,更可以驅動手機的硬體設備,舉凡照相錄影、錄音放音、GPS定位、無線網路、語音導覽全都沒問題!
結合HTML5、CSS3、PhoneGap,讓你的網頁瞬間昇華為跨平台的APP應用程式。
不用擔心HTML5、CSS3與PhoneGap的內容,交給Dreamweaver CS6一次就搞定!
利用jQuery Mobile快速打造專業手機使用者介面,只要善用操作面板的設定。
在Dreamweaver CS6一次開發,就能跨iOS、Android等多種不同平台,讓你的APP無遠弗屆!
開發 APP 的新領域混合式應用程式是以 Web 應用程式做為基礎,使用網頁技術開發應用程式,因此絕大多數網頁設計者可以踏入行動裝置應用程式開發者之路,大幅降低設計行動裝置應用程式的門檻。
PhoneGap 特點:
輕量級架構:PhoneGap 以 JavaScript 撰寫,檔案只有一百餘 K。
節省開發及維護成本:建立網頁檔案所需的時間遠比撰寫行動裝置應用程式原生碼要短,曾有專家進行研究,使用 PhoneGap 的開發成本,僅需一般開發成本的五分之一。
開發門檻低:以往要開發行動裝置應用程式,必須經數年的程式語言基礎,才能進行開發。
兼容性:以往開發行動裝置應用程式時,必須為各種平台撰寫不同程式碼,雖然程式邏輯概念相同,不同平台程式仍有差異,也要在不同平台上分別編譯。
雲端編譯:應用程式可以在本地編譯,也可以使用 Phonegap 提供的雲端 Build 工具進行編譯。
配合整合環境軟體開發:在適當的整合環境中進行應用程式的開發可以節省非常時間精力。
元件免費:PhoneGap 是完全免費的元件,如此可降低應用程式開發成本,也是學習行動裝置應用程式入門的最佳選擇。
PhoneGap APP教學研習懶人包:
APP開發, Dreamweaver, JavaScript, PhoneGap, 吳老師, 網站設計理論與實務, 網站轉APP,jquery mobile tutorial,dreamweaver jquery mobile教學,phonegap jquery mobile教學,jquery mobile php教學
硬體架構圖 在 吳老師教學部落格 Youtube 的評價
分享用做網頁(HTML5)的觀念做出APP
這學期在元智大學開的課程,主要教會學生能期中考前架設網站,
期末考前則是把網站轉成APP,不用寫程式,就可以輕易的把用DreamWeaver CS6做好的網站轉成APP,需要用的技術只要會DreamWeaver CS6,而且一定要CS6以後的版本才行,
一節課期時就可以做出APP。
首先分享旅遊使用APP的心得,從自由行使用APP的角度來看,
有APP對自由行幫助極大,會使用APP幾乎可以讓旅遊變的很順暢,不過前提是要有對應的APP,除了旅遊外,食衣住行與各行業,都有APP開發的需求,所以若能在畢業前,努力經營自己有興趣的APP,除了就業助益外,甚至也可以為創業開扇窗。
以下是上課的畫面:
00_如何註冊PHONEGAP帳號
01_如何將102題網站改成APP(新增網站與匯入素材與建立首頁)
02_多頁APP範例之一完成畫面
03_多頁APP範例之一設計畫面
04_如何加上超連結
05_如何加上按鈕
06_加上按鈕完成畫面分享用做網頁(HTML5)的觀念做出102APP
課程理念
智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達800萬人次以上,手機相關應用,將會超越PC,比PC更智慧,更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
上課書目
用Dreamweaver CS6,我也會開發APP
作者: 鄧文淵 總監製/文淵閣工作室 編著
書號: ACU062500
出版日: 2012/10/09
內容特色
用Dreamweaver CS6,你也會開發APP! 能快速完成作品、擁有視覺化的質感介面,更可以驅動手機的硬體設備,舉凡照相錄影、錄音放音、GPS定位、無線網路、語音導覽全都沒問題!
結合HTML5、CSS3、PhoneGap,讓你的網頁瞬間昇華為跨平台的APP應用程式。
不用擔心HTML5、CSS3與PhoneGap的內容,交給Dreamweaver CS6一次就搞定!
利用jQuery Mobile快速打造專業手機使用者介面,只要善用操作面板的設定。
在Dreamweaver CS6一次開發,就能跨iOS、Android等多種不同平台,讓你的APP無遠弗屆!
開發 APP 的新領域混合式應用程式是以 Web 應用程式做為基礎,使用網頁技術開發應用程式,因此絕大多數網頁設計者可以踏入行動裝置應用程式開發者之路,大幅降低設計行動裝置應用程式的門檻。
PhoneGap 特點:
輕量級架構:PhoneGap 以 JavaScript 撰寫,檔案只有一百餘 K。
節省開發及維護成本:建立網頁檔案所需的時間遠比撰寫行動裝置應用程式原生碼要短,曾有專家進行研究,使用 PhoneGap 的開發成本,僅需一般開發成本的五分之一。
開發門檻低:以往要開發行動裝置應用程式,必須經數年的程式語言基礎,才能進行開發。
兼容性:以往開發行動裝置應用程式時,必須為各種平台撰寫不同程式碼,雖然程式邏輯概念相同,不同平台程式仍有差異,也要在不同平台上分別編譯。
雲端編譯:應用程式可以在本地編譯,也可以使用 Phonegap 提供的雲端 Build 工具進行編譯。
配合整合環境軟體開發:在適當的整合環境中進行應用程式的開發可以節省非常時間精力。
元件免費:PhoneGap 是完全免費的元件,如此可降低應用程式開發成本,也是學習行動裝置應用程式入門的最佳選擇。
PhoneGap APP教學研習懶人包:
APP開發, Dreamweaver, JavaScript, PhoneGap, 吳老師, 網站設計理論與實務, 網站轉APP,jquery mobile tutorial,dreamweaver jquery mobile教學,phonegap jquery mobile教學,jquery mobile php教學
硬體架構圖 在 吳老師教學部落格 Youtube 的評價
PhoneGap APP懶人包
http://terry28853669.pixnet.net/blog/category/list/1384515
論壇:
https://groups.google.com/forum/#!forum/labor_app_2014
上課內容:
01_eHappyWeb重點與修改成動態說明
02_eHappyWeb介面ID設定
03_將程式碼貼在HEAD標籤裡並執行
04_JAVASRIPT程式碼說明
05_206APP範例說明
06_建立網站靜態頁面說明
07_如何將206APP頁面變成動態
08_複製程式與修改說明
09_意見回覆改為GOOGLE表單
用JAVA程式設計APP對一般人來說太難,
這門課就是用網站觀念做APP,利用DW6的PhoneGap服務見可以快速將Web轉成APP
課程理念
智慧型手機平台,已成為手機上最完整的開放開發平台
人手必備的趨勢下行動上網已達800萬人次以上,手機相關應用,將會超越PC,比PC更智慧,更貼近個人使用習慣,未來APP將漸取代Web,成為各產業或政府對外窗口。
如何開發APP,以循序漸進的方式講授Android應用程式架構、圖形介面開發、測試與除錯等,進而取得證照。
吳老師教學特色:
1.影音複習分享(全程錄影)。
2.能不硬code程式,有程式也會提供畫面。
3.提供業界實務開發經驗。
4.書上沒講到的操作,圖形化工具使用。
5.隨時更新第一手資訊。
上課書目
用Dreamweaver CS6,我也會開發APP
作者: 鄧文淵 總監製/文淵閣工作室 編著
書號: ACU062500 ???
出版日: 2012/10/09
紙本書價格: 450
內容特色
用Dreamweaver CS6,你也會開發APP!能快速完成作品、擁有視覺化的質感介面,更可以驅動手機的硬體設備,舉凡照相錄影、錄音放音、GPS定位、無線網路、語音導覽全都沒問題!
結合HTML5、CSS3、PhoneGap,讓你的網頁瞬間昇華為跨平台的APP應用程式。
不用擔心HTML5、CSS3與PhoneGap的內容,交給Dreamweaver CS6一次就搞定!
利用jQuery Mobile快速打造專業手機使用者介面,只要善用操作面板的設定。
在Dreamweaver CS6一次開發,就能跨iOS、Android等多種不同平台,讓你的APP無遠弗屆!
開發 APP 的新領域
混合式應用程式是以 Web 應用程式做為基礎,使用網頁技術開發應用程式,因此絕大多數網頁設計
者可以踏入行動裝置應用程式開發者之路,大幅降低設計行動裝置應用程式的門檻。
PhoneGap 特點:
輕量級架構:PhoneGap 以 JavaScript 撰寫,檔案只有一百餘 K。
節省開發及維護成本:建立網頁檔案所需的時間遠比撰寫行動裝置應用程式原生碼要短,曾有專家進行研究,使用 PhoneGap 的開發成本,僅需一般開發成本的五分之一。
開發門檻低:以往要開發行動裝置應用程式,必須經數年的程式語言基礎,才能進行開發。
兼容性:以往開發行動裝置應用程式時,必須為各種平台撰寫不同程式碼,雖然程式邏輯概念相同,不同平台程式仍有差異,也要在不同平台上分別編譯。
雲端編譯:應用程式可以在本地編譯,也可以使用 Phonegap 提供的雲端 Build 工具進行編譯。
配合整合環境軟體開發:在適當的整合環境中進行應用程式的開發可以節省非常時間精力。
元件免費:PhoneGap 是完全免費的元件,如此可降低應用程式開發成本,也是學習行動裝置應用程式入門的最佳選擇。
Android程式開發證照教學懶人包
http://terry55wu.blogspot.com/p/android.html
跨平台手機APP程式(用PhoneGap將網站轉APP)第9次上課
http://terry28853669.pixnet.net/blog/post/56282082
元智跨平台手機APP設計(用PhoneGap將網站轉APP)第4次上課
http://terry28853669.pixnet.net/blog/post/56282109
跨平台手機APP程式(用PhoneGap將網站轉APP)第12次
http://terry28853669.pixnet.net/blog/post/56282124
元智跨平台手機APP設計(用PhoneGap將網站轉APP)第3次上課
http://terry28853669.pixnet.net/blog/post/56282133
元智跨平台手機APP設計(用PhoneGap將網站轉APP)第2次上課
http://terry28853669.pixnet.net/blog/post/56282148
APP開發 Dreamweaver JQUERY MOBILE PhoneGap 網站轉APP android app開發教學 "ios app開發教學" 手機app開發教學 app程式開發教學 app開發課程
硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的八卦
2022軟體架構圖討論資訊,在PTT/MOBILE01/Dcard上的升學考試資訊整理,找Software architecture 中文 ... 心系統與延伸系統之硬體架構、軟體架構、資訊安全、變. ... <看更多>
硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的八卦
2022軟體架構圖討論資訊,在PTT/MOBILE01/Dcard上的升學考試資訊整理,找Software architecture 中文 ... 心系統與延伸系統之硬體架構、軟體架構、資訊安全、變. ... <看更多>
硬體架構圖 在 網路上關於軟體架構圖-在PTT/MOBILE01/Dcard上的升學考試 ... 的八卦
2022軟體架構圖討論資訊,在PTT/MOBILE01/Dcard上的升學考試資訊整理,找Software architecture 中文 ... 心系統與延伸系統之硬體架構、軟體架構、資訊安全、變. ... <看更多>