2014年10月22日 星期三

2014 JSDC


DAY 1

Future of Enterprise Web Applications
Jeff Pope
1. JS css3 html5

2. Ember jquery angulars...

3. What about Micro-frameworks?
  • Ext.js the interface of Business
  • 監控系統等
  • 10/12 有 workshop
4. SENCHA AT a glance
  • Customers   Sony Casio ...3m top 100 company. TSMC
  • IBM CITYBANK...
  • 公司內外部都會用
  • AIR Asia -touch app to check fight
  • Master card 桌上跟行動應用
  • Smile brands - 牙醫記錄 sophisticated ExtJS IMPLEMENT 
5. Want to know more?
  1. The 90 minute app Ext JS Workshop

Q1: 未來始用層面
  • 更快架構Application
Q2: SENCHA any way to improv ?
  • Htc 台基電 亞洲有好多客戶

介紹 Ext JS 超好用及擁有多少大廠客戶,詳細介紹沒有多著墨,重點放在隔天的 90 分鐘 Workshop,但是我並沒有參加。


Browserify - Maxwell Ogden

雖然我是第一次聽到 Browserify 整場下來聽不太懂,但是演講者超有親和力,講解的很生動有趣,Demo了用瀏覽器玩 Minecraft,他非常喜歡貓,也利用社群結交愛貓人士,結束時還徵求台北哪裡有貓咖啡廳。參加JSDC 讓我認識好多國外的大師,而 Maxwell本人真的非常可愛! 會後已經開始關注他的動態。


CNPM: 打造企業私有NPM
- MK 袁鋒 ( 支付寶技術專家 )
  • NPM in Taiwan
  • #scalenpm
  • CNPM
  • 為蛇麼需要私有NPM?-發佈私有模組
  • CNPM Solution-快宿同步
  • There's some tigon prpbelm 共有 有模組重名、如何接入公司內部授權
  • 阿里巴巴 一個月下載兩百萬次 paypal 1⃣️周五十萬次 2014開始
  • PayPal 400 new JavaScript engineers per year
  • Lower Cost - 一個月600 新台幣 20美元 cnpmjs.org for example...
  • 部屬簡單- My SQL
  • 便捷參與開發
  • Koa example- what koa? Who use? Who enjoy? 
  • 代碼量減少、
  • Alobaba
  • Meituan

原本很期待會了解支付寶的相關介紹,不過這似乎是商業機密,有稍微了解到阿里巴巴跟PayPal的發展及技術組織。



不被重視的 HTML: Accessibility
楊曉明

  • The matro, toilet deisign, traffic light, 
  • trellis Color Blind Friendly Lables
  • Yue.css
  • voice over 盲人上網 (Mac Vo: Control + Option)
  • chromeVox 工具  Accessibility Developer Tools
  • Accessibility is easy 
  • Aria Label
  • tablist
  • Captcha
  • Recaptcha 台灣的 被google買了
  • Lepture.com

聽完 HTML Accessibility ,覺得跟工業設計的 "通用設計" 意思非常相近,讓所有人無障礙公平的使用產品,了解原來Web 也有一塊關心少數人的權益,可以讓世界亙美好。




PgREST - PostgreSQL
- 高嘉良 ( clkao ) 台灣自由軟體程式員,共同發起g0v 零時政府
  • @clkao
  • 獨立開源開發者
  •  Decent.tw
  • 抓資料沒問題 他是公開資訊
  • Jason資料倒出
  • PgREST is: http://pgre.st/

利用本身的知識及技術,將開源資料倒出幫助社會大眾更容易接觸及了解這些公開的資訊,非常崇拜這些自由軟體程式員,一直為這個世界奉獻,希望有朝一日我也可以利用自己的知識技術造福人群。




RxJS FOR f2e
Huge Huang
  • Spotify
  • Netflix-線上影音串流
  • Callback 
  • throttle input(250m)
  • Array V.S. eventForEach
    • Collections
    • Event 有時間概念
  • Map
  • Filter
  • Reduce
  • ConcatAll
    • 二維變一維array
  • Get top rate videos
    • Map filter output
  • Get mouse dragsLike SQL
    • Mouse down
  • OBSERVABLERecap every thingies observable
    • COLLEction+time
  • Reference
Q1: 適合拿來解決什麼問題?
  • Ui pattern
    • User重覆發query
    • 重新組合檔下來
  • Demo: mouse move = Rx observable
    • Delay 重新render
    • 滑鼠特效

希望可以有更多實際的 DEMO 可以欣賞,Slides 非常多Code 其實看不太懂也消化不了,只好加緊腳步充實自己的能力了。

Substack - James Halliday
  • TBD
  • Micro database 
  • Leveldb
  • #wikidb

DAY 2

Panel talk - 大師經驗分享會
1. 程式開發是興趣還是工作?
  • 興趣當工作:周末寫一個modual
  • 喜歡跟人溝通
  • 團隊工作比較強: open source
  • 做覺得有趣的事
  • 喜歡把事情做好的感覺
  • 寫 Code 原來可以這麼專心,我寫故我在
  • Enjoy 寫 Code 的過程
  • 喜歡解決問題,解決了就會很開心
  • RxJs for frontend developers
  • 太喜歡寫 code 而週末在家當宅宅沒陪朋友出去玩,你可以找朋友來教他寫程式
  • Cats members find instegrame
  • Coffeeen is really active
  • 工作吃飯每三小時一個循環
  • 一天睡五-六小時!工作18個小時
  • 很專心的時間中可以搞定一天的工作量
  • Coffee shop 是好朋友
  • 時間管理: 一直工作一直工作一直工作 ,一周給自己一天人間蒸發

2. How to be a hard coder?
  • Find a teacher work together everyday! This is important
  • Find something you care about!
  • Read code and asking, communicate with hard coder
  • Muan: 跟別人一起寫程式可以學比較多東西,所以要用GitHub 
  • 找到一個人一直問問題一直問問題 (註:台灣人很nice問他問到煩也沒關係,過幾天就好了
  • Sometimes be good ex: buy a coffee for him

3. Is there any news like RSS about JavaScript?
  • 追綜Twitter who write interesting code!

4. 會想要自由生活嗎?
  • 我不喜歡有老板
  • 我賺ok money 就好
  • 把view垃高 理解笨蛋老板背後原因
  • 做開心的事 或是賺更多錢

5. JavaScrip 對妳的意義是什麼?
  • 這不是一個選擇 而是妳需要他
  • 我喜歡的是每個人都可以寫
  • 世界上有好多有趣的人在社群
  • 無聊的話我才會離開JavaScript
  • Web page I an use JavaScript write
  • 社群被受到歡喜 感到非常興奮
  •  JavaScript 很有趣可以做很多事情而且也很容易
此座談會是兩天下來最輕鬆的一場聊天式的互動議程,可藉由發問了解開發者及大師們的心路歷程及寫程式所會遇到的大大小小事,關於生活態度也著墨非常多值得我借鏡及學習非常的有趣,也是我筆記最多的一場,最喜歡 Maxwell 及 Muan,開始關注他們的動態。


Koa - Asynchronous Decorators as Middleware
- Jonathan
  • Node.js
  • ES7 Asynchronous/Await with promises
  • Koa:Generators as Middleware
  • Try  catch
  • Middleware are Apps
  • Koajs there are 4000^ fans in github
  • Try catch any where
  • Apps are like Christmas trees
    • Keep decorated it
  • ES6+
  • Koa is very new
2014 JSDC 有許多關於 Node.js 的議程,但是我比較想聽到關於 Client 端的應用,Node.js似乎是趨勢,我要多加油了!


特色導向式開發 - Feature-oriented Programming(FOP)
- 錢逸翔 (Fred Chien)

這是我點頭如搗蒜的一場議程,因為一值寫同樣功能的Code有時候會重複做工,原來我以前的開發經驗所用的開發模式叫做 "特色導向式開發",當初用得很開心就像堆積木一樣有趣,所有的產品部位模組化可供擴充,雖然有順序及相依性問題,但是可以綁keyword來解決,而一層又包一層的開發模式 Debug 工具還是可以告訴壞在哪一支JS裡,物件是獨立的。


leveraging ZMQ with Node.js
- Ruben

Zero Message Queue
  • ZMQ is a lightweight networking library
  • A very useful tool to have and understand
Q: 有沒有實作例子
  • Taxi app
Q: 馬來西亞程式現況
  • Javascript很年輕
  • Php比較強
  • Ruby找不到人




大型互聯網公司前端團隊那些事兒(前端團隊發展思考)
 - 吳亮 ( 奇虎 360 高級技術經理 )

1. 百度 奇虎360 ( >70人 )奇舞團 - 導航 雲盤 搜索 電商⋯
  • 大師說"這裡"就解決問題了 - 但,真的解決問題了嗎?
  • 設定目標
    • 學習、工作 -> 累積、沉殿 -> 分享 -> 影響力
    • 知識 ( 書本 ) -> 眼界 ( 學習他人 ) -> 影響力 ( 分享 )
  • 技術構成
    • HTML, JavaScript, CSS, AS, PHP, Web, Mobile, Web Server...
  • 人員組成
    • 工程師、業務接口人( 我想應該意思是 PM 吧? )、自由人
  • 技術能力
    • 建立技術的公信力(解決問題的能力)
    • 跨瀏覽器的挑戰

Q: 分享會頻率太高沒東西怎麼辦?
  • 停一期,分享很多期其實還好沒這個問題
Q: 如何面試前端人才?
  • 看簡歷看他對前端有沒有的興趣?
  • 可從GitHub 發佈頻率,還有對問題的理解及理想,技術程度的描述其實沒什麼公信力!




Mathias - Node.js P2P and MAD SCIENCE
  • BitTorrent  - nice and simple
  • Peer to peer
  • Split the file into pieces ~512k to 1024k ...
  • Hash them
  • Peerflix on GitHub 
  • This is not gimmick
  • Stream 流量
  • Peerwiki
  • Stream video p2p 

Q1: there's many problems in the beginning , what's the biggest challenge 
  • There no article
  • And there is many bugs
  • It can work just ok


GitHub 大冒險
 - Muan ( Designer at GitHub )
1. 經歷: 
  • 嘖嘖稱奇
  • 2014 JSDC 是他本人第一場在台灣中文的演講
  • GitHub 設計師,寫寫Ruby ( GitHub 設計師都會前端 )
  • 70%人 不在公司工作

2. 在GitHub裡面你可以加入不同的組織
  • @github/CSS
  • @github/engineering
  • @github/design
  • @github/accessibility
  • ...
  • ...
  • ...
  • @github/colorBlind ( 是由一群有 colorblind 的小可愛所組成 )
  • @github/$$ ( ?賺錢的部門 )

3. 設計師都會寫程式,但有少部分 Hardcore 專注在技術上並不會做設計
( 註: Hardcore - 程式硬漢。來源: http://goo.gl/ryZV8d)
  • Engineering > Design > CSS > accessibility  ( 這裡 ">" 指的是包含的意思 )
4. 設計師提案 is a protoype, not a picture!

5. Design + Code = 魯夫 + 惡魔果實

6. 多鼓勵設計學寫程式
  • 現在學寫程式比以前容易多了 ( 她小時候以為寫程式就是做設計的工具,當時還不曉得有Photoshop 這個東西! )
  • Be care about accessibility ( http://www.accessibilitycamp.org/ ) 
  • CSS 不要超過5層,最好3層就好
  • accessibility 檢測的項目
    • img tag 要 + alt.
    • a 要 +  href 
    • 有些按鈕只有圖要加上文字說明。( 不然 VoiceOver 讀到會變成 "" 一聲 )

Q1: GitHub 有幾個華人?
  • 2個台灣人,一個設計、一個會計。
Q2: Hardcore Javascripters 要做設計嗎?
  • Hardcore 關注在JS,不用做設計。
Q3: Prototype 需要做到什麼程度?
  • 不一定要非常完整才能提出,提出後大家可以一起修改
Q4: 有 Deadline嗎?
  • 沒有 Deadline 要放假提出就可以放假。
Q5: 您在台灣有公開的場合技術交流嗎? 或是在哪兒可以找到您交個朋友?
  • 基本上在GitHub可以找到我XD

在參加大會之前 Muan 是我的偶像之一,台灣第一個GitHub員工,能聽到他的大冒險之旅真的是非常幸運,程式可以幫助實現設計的願望,就像Photoshop之於設計,會後有好多繽紛的 GitHub 的貼紙可以拿,不過太搶手了拿到了一張還是很開心,未來要好好學習多多活躍於 GitHub。



Lighting talk








2014年10月16日 星期四

jquery 過濾 字串 空白鍵

jQuery.trim()

jquery 過濾 字串 空白鍵 

Example: 

$.trim("         hello, how are you?       ");

Result:

"hello, how are you?"

CKEditor (jQuery Plugin) 文字編輯工具列

文字編輯工具
原本以為做文字編輯器很難,沒想到這麼簡單!
首先下載 CKEditor.js,你可以客製化喜歡的外觀,
還可以選擇 簡易版、標準版或完整版,
選完後下載下來,匯入的時候注意連結位置。

匯入CKEditor.js之後 View 的處理很簡單,
幫 <textarea> 加上一個 class="ckeditor",
大功告成。

=========================================

includ:
<script src="yourfolder/ckeditor.js" type="text/javascript"></script>

View:
<textarea class='ckeditor' id='' rows='' name=""></textarea>

萬一你需要自己呼叫 CKEditor你可以參考下列程式碼!
call CKEditor method:
CKEDITOR.replace("textarea#id");



2014年9月2日 星期二

SASS學習歷程

Sass 是一個比較嚴謹且提升寫 Css 效率的程式語言,用過 Sass 就回不去 Css 啦!
請服用 - 30天掌握Sass語法 - by 廖洧杰

以下是學習心路歷程:
2. 增聽 "compass watch coffee" ( coffee 是你新增的專案資料夾)
  • cmd //開始搜尋框輸入 "cmd"
  • d: 
  • compass create coffee
  • cd coffee
  • compass watch coffee
3. 新增網頁框架 index.html
4. 編輯樣式 sass/index.sass
5. images sprites
  • $tab-spacing: 5px //圖片合併間隔空間
    @import "tab/*.png"  //在 images 底下你設定的 png 資料夾所有的 png 圖檔
    @include all-tab-sprites //匯入合併圖檔
  • images sprites hover & active
If you want to add selectors for your sprites, it's easy todo by adding _active _target or _hover to the file name. Sprite Tutorial
  • images path - relative
config.rb - relative_assets = true //把註解打開
注意:當修改 config 設定後,要重新在命令提示字元 watch 資料夾一次,設定才會生效。

6. How to replace a tab with four spaces in sublime text2 ?
    http://stackoverflow.com/questions/9575739/how-to-replace-four-spaces-with-a-tab-in-sublime-text-2
    Sass 相當嚴謹如果你的空格是一個 tab 就跑不出來啦!空格要用使用空白鍵。
    如果你是使用 sublime text 2 來編輯,這個網站教你如何將空格預設為四個空白鍵。

7. sass structure
  • @import mixin //放置所有 Sass 全域變數與 Mixin  
  • @import reset // reset.css  
  • @import extnd // 拿來合併樣式,都放 @extend 用的檔案  
  • @import layout //共同框架  
  • @import index //首頁  
  • @import page //內頁   
  • @import xxx  //各單元 Css  
  • 規劃你的 Sass 結構 http://ithelp.ithome.com.tw/question/10132821


F2E菜鳥的進擊

  • 寫程式三步驟
    1. 想好整個流程
    2. 建構架構
    3. 慢慢補細節及簡化
  • for each 耗資源,請改用 hash 寫法
  • 先不要急著問答案,先找一個解決辦法試試看 - 什麼方法都 Ok 畢竟工作是「結果論」,這樣子才學到東西,如果別人直接告訴你答案,當下次又遇到了是不是就忘記了? 
  • 公版要拆開,這是前端的工作 
  • function first css is secondary. ( 完成比完美更重要。)
  • 檢查完再給後端,放到公共沒問題就 OK!
  • debug - 下 console 或中斷都可,看有無跑到這支程式? 
  • 工程師真正的價值,不是在於多了解自己的產品,而是能處理別人不能解決問題,並整合一切元件,使一切專案順利

  • 2014.06 ~ 09 前端關鍵字:
Jarallax.js 
parallax
2D Box, spin, 碰撞, canvas framework, TWEEN, create.js/kinetic.js( canvas web ) - 2014.07.31
同場加映: cocos2D - 場景、角色、鏡頭、視角。preload.js, sound.js
border-box for RWD 好用 ( css boxsizing ) 
SVG, iconfont
TweenMax
PostMan

  • 前端工作環境
Sublime
SourceTree
Skype
Google drive
Photoshop
Sass ( node.js )
Compass / Ruby
Git

  • 生活:
    1. 尊重、信任、忠誠、承諾
    2. 金剛經、自性經、渡人
    3. 戒、定、慧 ←→ 貪、嗔、癡 (常讀師訓語、凡中聖長存)
    4. 浩然之氣 - 自性
    5. 故事: 亞歷山大的三個願望 - 兩手空空什麼都帶不走
    6. 一定要11點躺平睡覺
    7. 經驗不足可以用學習補足(態度很重要)
    8. 作品集
    9. 年薪兩百萬人生哲學 -
      • 人生有意思&變化
      • 工作內容有挑戰性
      • 不愛抱怨
      • 有幽默感
      • open mind 不排斥 fresh things
      • 投資自己
      • 不花時間看偶像劇

2014.09.02  - by 菲比 

2014年1月17日 星期五

Image replacement by css 用純CSS方法換掉 圖片

original: http://www.audenaerde.org/csstricks.html#

CSS:
img.imgClick{  
    height: 0;
    width: 0;
    padding: 17.5px;
    background: url("camera_35x35_MD.png") repeat scroll 0 0 rgba(0, 0, 0, 0);
}

HTML:

<img class="imgClick" src="camera_35x35.png">


CSS Tips:
1. use CSS height & width hide the html img
2. padding make the background space
3. css background attribute is appear