転è·ãã¦3ã¶æãçµã¡ã¾ããã
æ£ç¢ºã«ã¯3ã¶æã¨åæã§ããã ä»å¹´ã®2ææ«ããã£ã¦æ ªå¼ä¼ç¤¾ã¡ã«ã«ãªãéè·ãã3æããæ ªå¼ä¼ç¤¾ãã¬ãã¸ã¯ã¼ã¯ã§åãã¦ãã¾ãã
ã¡ã«ã«ãªã§ã®æãåºã¯ç¤¾å ã®wikiã¨slackã«ç½®ãã¦ããã®ã§éè·ããã°ã§æ¸ããã¨ããªãã¦æ¾ç½®ãã¦ãã¾ããããæ°ããä¼ç¤¾ã§è©¦ç¨æéãéãã(ãã¶ã)ã®ã§ãã¡ãã£ã¨è¿æ³ãæ¸ãã¦ãããã¨æãã¾ãã
ã¡ã«ã«ãªã«ã¤ãã¦
å¤ããæ¸ãæ°ã¯ãªãã®ã§ãããèªåã¯ãã¬ã¤ã¤ã¼ã¨ãã¦ãããã¼ã¸ã£ã¼ã¨ãã¦ãæ¿åã®ä¸ã§è²ããªçµé¨ãããã¦ããããå¦ã¶ãã¨ã®å¤ãå ´æã§ããã ã¾ãMerciBoxå¶åº¦ã®è£å©ã®ãããã§ä¸å¦æ²»çãç¶ãããã¦åä¾ãæãããã¨ãã§ããã®ã§ãæ¬å½ã«æè¬ãã¦ãã¾ãã
人çã®è¾ãé¨åãã¬ãããªæ¯ãã¦ããããããããå¶åº¦ããã/ã©ãã©ãæ¹åãããã®ã¯æ¬å½ã«ãããä¼ç¤¾ã ãªãã¨æããå¹æãããªãã¨èº«ãæã£ã¦æãã¾ãããã¿ãªãããã¸ç¦å©åçãåãããã»ããããã§ããã
å人çã«ã¯ãè¾ãã¦ãªãããä¼ç¤¾ã ã¨æãã¾ãããååã«ããããã人ã«ããããã§ããããå¼·ãæé·ãã¦ãããã ãããªã¨æãã¦ãã¾ãã
ãã¬ãã¸ã¯ã¼ã¯ã«ã¤ãã¦
æ ªå¼ä¼ç¤¾ãã¬ãã¸ã¯ã¼ã¯ã¯ãæ¨å¹´ï¼æã«åµæ¥ããã°ããã®ã¹ã¿ã¼ãã¢ããä¼æ¥ã§ãã ç¾å¨ãããã¯ãã¯ã¾ã ã¹ãã«ã¹ã§ãã£ã¦ããããã詳細ã«ã¤ãã¦ã¯å¤ããèªãã¾ããã ããããã£ããããã¨äººã®æ¥åä½é¨ãå¤ãããã¯ã¼ã¯ã¨ã¯ã¹ããªã¨ã³ã¹ãé«ãã¦ãããããªãã¨ãç®æãã¦ãã¾ãã
ç¾å¨ããã§èªåã¯ã¤ã³ãã©/SREã®ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã¨ãã¦åãã¦ãã¾ãã
ä»ã¾ã§èªåã¯ãã£ãªã¢ãç¹å®åéã«å¶éããã«ã ã¤ã³ãã©ããWeb Frontend / iOSã¾ã§è²ã ãã£ã¦ãã¾ããããããï¼å¹´ã¯Engineering Managerã¨ãã¦ç¾å ´ãé¢ãã¦ãã¾ããã ãã®ãããæ¹ãã¦ãã¬ã¤ã¤ã¼ãããé¸æãããéã«ä»ã¾ã§ã®ãã£ãªã¢ã§æãå¼·ãå°éæ§ã ã£ãã¤ã³ãã©ã®ã¨ã³ã¸ãã¢ã¨ãã¦ãããã¦ããã£ã¦ãã¾ãã
ä¹ ã ã®ç¾å ´ã§å¦ã¶ãã§ã¼ãºãå¤ãã¦è¿·æãããã¦ãã¾ãããç©ãã§ããçµé¨ãããããªå½¢ã§ä½¿ãã¾ããã¦é å¼µã£ã¦ãã¾ãã
ä¼ç¤¾ã®ä¸ã®æ§å
æ£ç´è¨ãã¨ãèªç»èªè³ã¿ãããªã»ã¯ã·ã§ã³ã§ããããã¯ã
ãã¬ãã¸ã¯ã¼ã¯ã«å ¥ã£ã¦ä¸çªã«é©ãããã¨ãã1å¹´æªæºã®ã¹ã¿ã¼ãã¢ããã¨ã¯æããªãæ´åãããçµç¹ä½å¶ã§ããããï¼
æ確ãªãã¸ã§ã³ã¨ç²¾åº¦ã®é«ãè¨ç»ããã¯ã¤ãã«åããæ´ã£ãä¼ç¤¾å¶åº¦ã¨è©ä¾¡å¶åº¦ããã¶ã¤ã³ã»ãã¸ãã¹ã»æè¡ã®ãã©ã³ã¹ãåã£ã¦é«ãã¬ãã«ã§ãããã¯ãè°è«ã¨ã«ã¼ããåãããã¼ã ã¡ã³ãã¼ãããã¾ã§ã®çµé¨ã§è¦ç¥ã£ã10åå¼±ã®ã¹ã¿ã¼ãã¢ããããã¼ã ã¨ã¯ä¸ç·ãç»ããã¤ã¬ãã«ãªä¸çãããã¾ããã
ä¸æ¹ã§ã¹ã¿ã¼ãã¢ããç¹æã®å¢ãããªãã®ãã¨ããã¨ããããããã§ã¯ãªããã¡ã³ãã¼å ¨å¡ã®ç´å¾ã®ãã¨ã§æ¯æ¥ãã¤ãã¼ã¹ã§ä»æ§ã決ã¾ããé©ç°çãªãã¼ã¹ã§éçºãé²ãã§ãã¾ãã
ããã¨ä¼ç¤¾ãä¸ã®äººéã®æ§è³ªçã«ããã¡ãã¨ä¸æ®µã®ç®ç·ããç©äºãæ´ãã¦æ±ºãã¦ããã®ãã好ã&åããã人ãå¤ãããã§ãæ§ã ãªç©äºãçãéã£ãå½¢ã§æ´ã£ã¦ãã¾ãã
å人çã«ã¯ãã¹ã¿ã¼ãã¢ããã«è¡ãããã«ã¯ãã¼ãã£ã§æ´ã£ã¦ããªãä¼ç¤¾ãå½¢ä½ã£ã¦ãããã§ã¼ãºãããããªããããããã§æ¥½ããããªãããªãã¦æã£ã¦ããããã£ãããããã¦ãã¦ãéã«å ¥ã£ã¦ããã£ã¦ãã¾ãã¾ããï½
ã¡ã³ãã¼åéã®è©±
ä¸ã«æ¸ããããã«ã¨ã¦ãæ´ã£ãä¼ç¤¾ã§ãããä»ã¯ç¤¾å¡ã10åãè¶ ããã¨ããã§ã¾ã ã¾ã å°ããçµç¹ã§ãã ãã¬ãã¸ã¯ã¼ã¯ã¯ã¹ãã«ã¹ã§ãã£ã¦ããæ§è³ªä¸ãããã¾ã§æ¡ç¨ã¯ç¤¾å¡ãªãã¡ã©ã«ããã¤ã¬ã¯ãã³ã³ã¿ã¯ããªã©ã«éå®ããã¦ãã¾ããã
ã§ãããããããæ£å¼ãªãªã¼ã¹ã«åãã¦ããä¸æ®µã®ã¢ãä¸ãã¦ããããã¨ã³ã¸ãã¢ãåéãããã¨ã«ãªããå¿åãçªå£ãéããã¨ã«ãªãã¾ããã
ãªã®ã§ï¼ãã£ã¨ï¼ã¨ã³ã¸ãã¢çµ¶è³åéä¸ã§ãï¼ï¼ï¼ï¼ï¼ï¼ã¿ããªãã¦ãï¼ï¼ï¼ï¼ï¼
ä¸è¨ãã¼ã¸ã®æ¡ç¨ããã¯ãããã«è²¼ã£ã¦ããã¾ãã
å¼ç¤¾ã®CTOãã·ã§ã¢ãã¦ããã§ããã
æ ªå¼ä¼ç¤¾ãã¬ãã¸ã¯ã¼ã¯ã®æ¡ç¨ãã¼ã¸ãæ°ãããªã£ã¦ãã¨ã³ã¸ãã¢è·ã¯ç´æ¥å¿åãã§ããããã«ãã¾ãã (via HERP)ã
— mayah (@mayahjp) 2021å¹´6æ14æ¥
å¾ éã»å´åæ¡ä»¶ãearly stageã®ã¹ã¿ã¼ãã¢ããã«ãã¦ã¯ãããªã«æªããªãã¨æã£ã¦ãã¾ããä¸ãè¨ãåºãã°ããªããªããã©ãã¾ã è¯ããã¦ããããã§ããhttps://t.co/NKq4wbkGMS pic.twitter.com/5y1QPODzg1
early stageã«ãã¦ã¯ã»ã»ã»ãªã©ã¨è¨ã£ã¦ã¾ãããå ±é ¬ãæ®éã«ãã£ãããã¦ãã¨æãã¾ãã
å ¨ç¶ãããã¯ãã®è©±ãæ¸ãã¦ããªãã®ã§ããããªãã¨ãªãèå³ã湧ããã»ã¡ãã£ã¨è©±ãèãã¦ã¿ãã£ããªã£ããªãã¦äººã¯ãã²ããã¡ãã®ãã©ã¼ã ã«å ¥ãã¦ã¿ãã§ãèªåã®TwittterãSNSã§å£°ããã¦ã¿ãã§ããä½ã§ããå¾ ã¡ãã¦ãã¾ãã®ã§ãããããããããã¾ãï¼ï¼ï¼
Karabiner-Elementsã§ESCãCtrl+[ãã¼æ¼ä¸æã«æ¥æ¬èªå ¥åã解é¤ã§ããããã«ãªã£ã¦ãã
ã¿ã¤ãã«ã§å ¨ã¦è¨ã£ãã
æ®æ®µããã¡ã¢ã«MacVimã常ç¨ãã¦ãã®ã ãã©ãKarabiner-Elementsã«ãªã£ã¦ããæ¥æ¬èªã¢ã¼ãããã®åæ¿æã« ãã¡ãã¡æ¥æ¬èªIMEãèªåã§è§£é¤ããªãã¨ãããªãã¦ãæéã ã£ãã
ããæ°ã¥ãããããããã£ã¨å®ç¾ããCustomè¨å®ã使ããããã«ãªã£ã¦ããããï¼
å®ã¯çµæ§åããã£ã½ãã ããã幸ãã«ãªããè¨å®ã ã£ãã®ã§ãæ©éå ¥ãã¦ã¿ãã
è¨å®æ¹æ³
Karabiner-Elementsã®[Preference]->[Complex Modifications]
ä¸é¨ã®[Add rule] -> [Import more rules from the Internet(open a web browser)]
ããã§ã Karabiner-Elementsã®è¿½å ã«ã¼ã«ç¾¤ã®ãã¼ã¸ ãéãã®ã§ã
ãã㧠[International (Language Specific)] -> [For Japanese (æ¥æ¬ç°å¢ãã®è¨å®) (rev 3)] ã import ãã
åã³Karabiner-Elementsã®[Add rule] ç»é¢ãéãã
escãã¼ãæ¼ããã¨ãã«ãè±æ°ãã¼ãéä¿¡ããï¼vimç¨ï¼
Ctrl+[ãæ¼ããã¨ãã«ãè±æ°ãã¼ãéä¿¡ããï¼vimç¨ï¼ (rev 2)
ã®ï¼ã¤ã Enable
ã«ããã
ããã§ãvimä¸ã§æ¿å ¥ã¢ã¼ããæããéã«æ¥æ¬èªå ¥åã解é¤ã§ããããã«ãªãã
å¿«é©ã§æ¶ãåºãã£ãã
è£è¶³ã¨åè
ãã®è¨å®ã¯å¥ã«vimå°ç¨ã®è¨å®ã«ã¯ãªã£ã¦ããªãã®ã§ãå½ç¶ä»ã®ã¢ããªä¸ã§ãESCå©ãã¨è±æ°ãã¼ãéä¿¡ãããã
å人çã«ã¯å°ããªãããããããªã¼ã¨æã£ã¦ããã©ããã対象ã®Appãçµãããå ´åã«ã¯ä»¥ä¸ã®ããã« èªå㧠complex modificationã®è¨å®ãæ¸ãã¦è¿½å ãããã¨ãå¯è½ã½ãã
docker & Kubernetes on Mac ã®ç°å¢æ§ç¯ at 2018åé
ãããã°ããã¤ã³ãã©æ¹é¢ã®ç¥èupdateããªããä¹ ã ã«dockerå¨ããã復ç¿ãããã¼ã¨æãç«ã£ã¦ã¿ã¾ããã
ããé²åã®éãã¨ã大人ã®é½åã¨ãã«ãã£ã¦1~2å¹´ã®ãã¡ã«ç¶æ³ã2転3転ãã¦ããããã§æ§ã ãªæ å ±ãå ¥ãä¹±ãã¦ãã¦ãå ¥éããã«ãã¦ããã§ãã©ããä¿¡ããã°ãããããã¨ããæãã«ã
ã¨ããããã§èªåãªãã«ç¶æ³ã調ã¹ã¦ããå°ãªãã¨ã2018å¹´1æç¾å¨ã«ããã¦ãããã»ããã¢ãããã¦ãã®ã便å©ãã¤æ¨æºãããã¨ããã®ãæé ã¨ã¨ãã«ã¾ã¨ãã¾ããã
ç®æãç°å¢
- Macä¸ã§dockerãããã³Kubernetesã®ãã¼ã«ã«ç°å¢ãæ§ç¯ãã
ãªã¢ã¼ãã®docker / Kubernetes ã¯cliã® docker / kubectl ã使ãã°ããã®ã§ãã²ã¨ã¾ãããã ãã
å ã«ã¾ã¨ã
å ã«ã¾ã¨ããã¨ã以ä¸ããã£ã¨ãã°è¯ãã
% brew tap caskroom/versions % brew cask install docker-edge % open /Applications/Docker.app -> Preference -> [Enable Kubernetes]
ããå°ãç¶æ³èª¬æ
Dockerã«ã¤ãã¦
- ç¾æç¹ã§ã¯
Docker for Mac
ãå©ç¨ããã®ã便å©ãã¤æ¨æº - homebrewã®å ´åã¯
homebrew-caskã®docker
 ã使ãã®ãæ£è§£- homebrewæ¬å®¶ãæã£ã¦ã
docker
fomulaã¯å¤ãã®ã§ä½¿ããªã
- homebrewæ¬å®¶ãæã£ã¦ã
- ç¾æç¹ã§ã¯
Kubernetesã«ã¤ãã¦
Docker for Mac
ã® Edgeçããå ¥ã£ã¦ããKubernetesã使ãã®ãè¯ããã- å¤åã¾ã ä¸ã®ä¸ã¯
minikube
ãæ¨æº - Docker for Macã®Kubernetesãµãã¼ãã«ãã£ã¦å¤åãå§ã¾ã£ã¦ã¦ãã©ã¡ããæ¨æºãã¨ããã¯ã¾ã ä¸æ
- ã§ãæ軽ãåãã£ã¡ããªã¼ã£ã¦æãã®ã§æ¡ç¨ãã
- å¤åã¾ã ä¸ã®ä¸ã¯
- caskã®versionsã«
docker-edge
ãããã®ã§ãå½é¢ã¯ããã楽
 ã¡ãªã¿ã«Kubernetesã®Install
ããããã§ãã¯å ¥ãã¦ãé²ããã¨
ããã§å®äºã
æå¾ã«
Kubernetesã¨ãkubectlã®çºé³ã£ã¦ãDockerCon ã®åç»è¦ã¦ã㨠ãã¥ã¼ãããã£ã¹
ãã¥ã¼ãã³ã³ããã¼ã«
ã£ã¦å¼ãã§ã¦ãåãä»åº¦ããããå¼ã¼ãã£ã¦æãã¾ããã¾ã
iOSDC Japan 2016 ã«åå ãã¦ãã
iOSDC Japana 2016ãã¾ãã£ã¨ä¸æ¥åå ãã¦ãã¾ããã ãããããããã®äººã¨ç±æ°ã§ããã¼ã¯ãé¢ç½ããã®ããã£ããè©°ã¾ã£ã¦ãã¦ã¨ã¦ãå å®ããã¤ãã³ãã§ããã
ã¹ã¿ãããªãã³ã«ã¹ãã¼ã«ã¼ã®çæ§ãç´ æµãªã¤ãã³ãããããã¨ããããã¾ãã£ï¼ï¼¼ï¼¼\Ù©( 'Ï' )Ù //ï¼
LTã¯ãã¼ã¹ã«è¿½ãã¤ããã«ã¾ã¨ããããªãã£ããã§ãããä»æ¥èãã¦ãããã¼ã¯ã¯ãããããã°ãåãã¾ããã (è³æãè²¼ã£ã¦ãªããã®ã¯ãè¦ã¤ã次第足ãã¾ã)
è²ã æ°ããæ å ±ã¨ãåèã«ãªã話ãèããã®ã§ãææ¥ã¯æ°ã«ãªãã¨ãããå°ãæ·±æãã¨ããã¦ã¿ããããªã¼ã
- iOSDC Japan 2016 åå ã¡ã¢: A-1 - Handling rich text in Swift
- iOSDC Japan 2016 åå ã¡ã¢: A-2 RxSwiftã¯éçºãã©ãå¤ããã
- iOSDC Japan 2016 åå ã¡ã¢: A-3 iOS 10æ代ã®æ°ããCollectionView使ãããªãè¡
- iOSDC Japan 2016 åå ã¡ã¢: A-5 Reactive State Machine
- iOSDC Japan 2016 åå ã¡ã¢: A-6 ããã°ãã¼ãã£ã³ã°ããããç°å¢ãæ´ãã
- iOSDC Japan 2016 åå ã¡ã¢: A-7 ã¡ã¢ãªã¼ç®¡çã®å¬ãããã¤ãã³ã°æç
- iOSDC Japan 2016 åå ã¡ã¢: A-8 ãã¶ã¤ãã¼ã«Storyboardããä»»ãããæè¡
- iOSDC Japan 2016 åå ã¡ã¢: B-9 Swiftã®ããã¾ã§ã®ååã®ã¾ã¨ãã¨ä»å¾ã®ãããªãçºå±ã®æå¾
- iOSDC Japan 2016 åå ã¡ã¢: A-10 Swiftã§JavaScriptå§ãã¾ãããï¼
- iOSDC Japan 2016 åå ã¡ã¢: A-11 Xcodeã§å¿«é©ãªãããã°ã©ã¤ãã追ãæ±ãã
iOSDC Japan 2016 åå ã¡ã¢: A-11 Xcodeã§å¿«é©ãªãããã°ã©ã¤ãã追ãæ±ãã
森æ¬ãã @dealforest ããªã¼ã©ã³ã¹
Xcode Plugin
- Xcode 8 ãã Xcod Pluginãåããªããªã£ãããã
Xcode
ã¯ã©ãã·ã¥ãããAppDelegateã ã£ãåé¡
- ãããã¯ã¢ã»ã³ãã©ã ã£ãåé¡
Exception Breakpointã追å
Breakpoint追å æã«
Exception Breakpoint
ãé¸ãã§è¿½å- ãã ããExceptionåæã§æ¸ããã¦ããã¨æå³ã¨éãã¿ã¤ãã³ã°ã§breakãã¦ãã¾ã
- storyboardããªããã°ãã©ã¼ã«ããã¯ãããã¨ã
- ãã ããExceptionåæã§æ¸ããã¦ããã¨æå³ã¨éãã¿ã¤ãã³ã°ã§breakãã¦ãã¾ã
Diagonosticsãè¨å®
- ä¸æ£ãªã¡ã¢ãªæä½ãæ¤ç¥
- dynamic library
- Edit Schemaããè¨å®ã§ãã
- Enable Zombi Object
- Enable Address Sanitizor -> ããã©ã¼ãã³ã¹ã¯ä¸ãã
- ã¢ã»ã³ãã©ã¬ãã«ã¾ã§ã¯ã©ãã·ã¥ããå ´åããããããã°è¿½ãã
ã©ã®ViewControllerãããããªãåé¡
æ°ããããã¸ã§ã¯ãã«å ¥ãã¨ããã
Symblic Breakpointã追å
- Symbolã«viewWillAppear / viewDidLoadãªã©ã追å
- commandã§
bt 0
ããã¨ã§ã
- commandã§
- viewControllerã§è¨å®ãã¦ãããªãã¨ãSymbolic Breakpointãå¹ããªã
- Symbolã«viewWillAppear / viewDidLoadãªã©ã追å
Share Breakpointããã¨ããã¼ã éã§å ±æã§ãã
èµ·åæã«ç¹å®ã®ViewControllerã«ãããåé¡
- ãããã°æã«æ·±ããã¼ã¸éãã®è¾ãããã
- Environment Variables
- Edit Schemaããè¨å®ã§ãã
- ãã®ç°å¢å¤æ°ãåç §ãã¦æåãå¤ããå¦çãAppDelegateã«æ¸ãã¦ãã
- ã¡ãªãã
- Xcode ããèµ·åããæã®ã¿æå¹ã«ãªãï¼
- ä¸æçãªæåã®åæ¿ã«ä¾¿å©
- Edit Schemaããè¨å®ã§ãã
端æ«ã®ãã°ããã¡ã¤ã«ãåå¾ãããåé¡
å®æ©ã®ãã°ãRealmãã¿ãã
- ã§ãããã©ããã©ããã
LLDBã使ã£ã¦è©²å½ãã¡ã¤ã«ãSlackã«éä¿¡
- breakpointã§breakãã¦ã³ãã³ããæã¤
- gistã«å
¬éãã¾ãã
./llidbinit
ã®ä¸ã«å¼ã³åºããå ¥ãã¦ãã
ã¾ã¨ã
- å¿«é©ã«ãªãã¨è¯ããï¼
QA
Closureã®ä¸ã§ãªãã¸ã§ã¯ããåç §ããæ¹æ³ã¨ãããã¾ããï¼
- lldbãå·§ããã¬ã¼ã ãåãã¦ãªãã®ãæªãã
- 2é£çºã§åãã¨å·§ãè¡ããã¨ã¯ããããããã©åºæ¬è«¦ãã¦ã
Breakpointã¨logãå¤ããã¦ããããªããªãã®ã¯ã©ããã¦ã¾ããï¼
- Loglevelãåãæ¿ããããããã«ããããã¦ããã£ã«ã¿ãã¦ã
iOSDC Japan 2016 åå ã¡ã¢: A-10 Swiftã§JavaScriptå§ãã¾ãããï¼
JavaScriptããã§ããï¼
- SwiftããJavaScriptã使ããï¼
- JavascriptCore
çè°·ãã
- 横æµã®æ¹ã§åå¼·ä¼ãã¦ã¾ã
- ãããã©ã¸ãªãå§ãã¾ã
Swiftã§JavaScript
- JavaScript
- æ軽ã«æ¸ããã¹ã¯ãªããè¨èª
JavaScriptCoreã¨ã¯
- JSã®ã©ã³ã¿ã¤ã å®è¡ç°å¢
Swiftã¨ã®ç¸äºéç¨ãå¯è½
使ç¨ä¾
- åãã«ããããã«å®è£ ãå·®ãæ¿ãã
- ã«ã¹ã¿ã ã¹ã¯ãªããç°å¢ãæä¾
- JSã使ã£ã¦ãã¤ãã£ãã¢ããªãå¶å¾¡ã§ãã
- Webçµç±ã§ã½ã¼ã¹ã³ã¼ãããã¦ã³ãã¼ãããªã©
ã¡ãã£ã¨ã¾ã£ã
- å¼·åãããªããï¼
審æ»éãï¼
- èãã¦ãªãã£ãï¼
ç°å¢
åºæ¬çãªä½¿ãæ¹
- JavaScriptCoreãimport
- JSContextçæ
- JSã³ã¼ãå®è¡
- evalã®çµæã¯contextã«æºã¾ã£ã¦ãã
- å®è¡çµæãSwiftã§åãåã
- è¿ãå¤ãSwiftã§åãåãã
å¤æ°ã®æ±ã
JSValueã§è¡¨ç¾
- toTypenameã¡ã½ããã§Swiftã®åã«ã§ãã
- isTypenameããããã£ã§å¤å®ãã¦ããåãåºãã
ãªãã¸ã§ã¯ããJSValueã§
- swiftå´ããforPropertyãªã©ã§åãåºãããã§ãã
JavaScript API
- JSã®åºæ¬çãªçµã¿è¾¼ã¿æ©è½ã ããåãã£ã¦ãã
DOMãªã©ã®é«åº¦ãªãã®ã¯ãªã
èªåã®æã§APIãæ§ç¯ãã¦ãã
- ããæ¹ã¯è²ã
- JSããã§ãSwiftããã§ã
- ããæ¹ã¯è²ã
å¤æ°/é¢æ°/ãªãã¸ã§ã¯ããJSã§å®ç¾©ãã
- æ®éã«eval
Swiftã§å®ç¾©ãã
- setObjectãããã¨ã§ãJSä¸ã§åç §ã§ããããã«ãªã
- åç §åã ã¨å ±æãã¡ãã
é¢æ°ãSwiftããåãè¾¼ã
- ã¯ãã¼ã¸ã£ãã³ã³ããã¹ãã«è¨å®ãã
- AnyObjectã«ãã£ã¹ããã¦setObjecããã¨ãJSä¸ããå¼ã³åºãã
Swiftã®åãJSã§ä½¿ã
@objc
ãã¤ãã¦NSObjctç¶æ¿ãã¦ããã°ã渡ãã- ã¤ã³ã¹ã¿ã³ã¹ã渡ãäºãã§ãã
- meta typeã渡ããã¨ãã§ããã®ã§ãJSã®ä¸ã§ã¤ã³ã¹ã¿ã³ã¹åãããã¨ãå¯è½
Swiftã®æ©è½ããã®ã¾ã¾JSä¸ã§ä½¿ããï¼
ã³ã¼ããæ¸ããããããæ¹æ³
- æ®éã«æ¸ãã¦ãã¨èªã¿ã¥ãã
- ããã¸ã§ã¯ãã«JSãã¡ã¤ã«ãçµã¿è¾¼ãã§ãBundleããèªã¿è¾¼ãã§Stringã«ãã¦evalã«æµãã¦ãããã°æ¥½ã«ã§ãã
ã¾ã¨ã
- JSãSwiftããç°¡åã»èªå¨ã«æ±ãã
- 審æ»éããã¯ãå¾æ¥ï¼
QA
ECMAScript 2016ã¯å¯¾å¿ãã¦ãï¼
- è¡ããã
JSå´ã§Swiftã®ãªãã¸ã§ã¯ããåç §ããå ´åãéæ¾ããããªãã¸ã§ã¯ãã®æ±ãã¯ã©ããªãï¼
- JS Managed Valueããããè¦ãã¨ããããã
React Nativeã¯ä½¿ã£ã¦ãã¯ããªã®ã§ã審æ»ã¯éããã
iOSDC Japan 2016 åå ã¡ã¢: B-9 Swiftã®ããã¾ã§ã®ååã®ã¾ã¨ãã¨ä»å¾ã®ãããªãçºå±ã®æå¾
@_mono
å°é å°ä¹ãã Join.us ã®ä¸ã®äºº
Swiftã®å¤é·
ããã¾ã§ããããã
2014/06å ¬é
- WWDCã§Swiftãå ¬é
- è¯ãã£ãç¹
- æªãã£ãç¹
- é »ç¹ã«Xcode / ã³ã³ãã¤ã©ã®ã¯ã©ãã·ã¥
- ãã«ããé
ã
- ã¡ãã£ã¨ããå¤æ´ã§ãå ¨ä½ãã«ã
- å½æã¯ã¾ã è²ã è¨èªä»æ§ããªãã£ããã¾ãOKãªç¯å²
2015/09
- Swift 2
- 主ãªä¸æºç¹ã解æ¶
- ã¯ã©ãã·ã¥é »åº¦ä½ä¸
- å·®åãã«ã対å¿
- è¨èªä»æ§ãååæã£ã¦ãã
2015/12/03
- Swiftããªã¼ãã³ã½ã¼ã¹å
- ã³ã³ãã¤ã©
- æ¨æºã©ã¤ãã©ãª
- ã³ã¢ã©ã¤ãã©ãª
- Package Manager
- SourceKit
- ãµã¼ããã¼ãã£ã¨ãã£ã¿ãå¢ããã®ã§ã¯
- Ubuntuçãæä¾ããã
- ãµã¼ããµã¤ãSwiftã注ç®ãéãã
- ã³ãã¥ããã£ããªã¼ãã³ã«
- ã³ã¢ã¡ã³ãã¼ã¯Apple社å¡ã®ã¿ã ããè²¢ç®åº¦ã«ãã£ã¦å¤é¨ã«ã権éã渡ãã¦ããäºå®
- Swiftããªã¼ãã³ã½ã¼ã¹å
ããããã®è©±
Swift 3.0
- ãªã¼ãã³ã½ã¼ã¹ååã®ã¡ã¸ã£ã¼ã¢ãããã¼ã
Swift 2.2
- 3.0ã®ãã¬ãªãªã¼ã¹çæ±ã
Swift 3ã®ã¢ãããã¼ãå 容
æå¾ã®å¤§ããªç ´å£çå¤æ´
- å¾®å¦ãªè¨èªä»æ§ãå ¨é¢è¦ç´ã
ãããããã®ãSwiftyã«
äºææ§åé¡
- å¾æ¹äºææ§ã®ä¿è¨¼ã§ã¯ããªã
- ãã¼ã¸ã§ã³ã¢ããã®ãã³ã®ç ´å£çãªå¤æ´ã¯ãªããªããã
- ABIã®å®å®åã¯4.0ã«æã¡è¶ã
- å¤ãSwiftã§ãã«ãããã©ã¤ãã©ãªã¨ãªã³ã¯å¯è½ã«ãªã
Swiftyã«ãã¦ãã
- Objective-Cç±æ¥ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®è¦ç´ã
APIã¬ã¤ãã©ã¤ã³ã®è¦ç´ã
- Objective-Cã¨ãã¦æ£ããæ¸ãããAPIãèªåå¤æ
Foundationãã¬ã¼ã ã¯ã¼ã¯ã®ã¯ã©ã¹ã«å¯¾å¿ããSwiftã®å¤åã追å
- Cè¨èªAPIãSwiftã£ã½ãå¤æ
- å¤ãã©ã¤ãã©ãªã§ããªãã¸ã§ã¯ãæåã£ã½ãããã
æå¾ã«
- é£è¼ããããããï¼
QA
Swift 3ã使ãã¯ãããã®ã¯ãã¤é ããã©ã«èããã°ããï¼
- ä»æ§å¤æ´ã¯ããããããªããªãã¨æã
- 使ãå§ãã¯ã¨ã³ã¸ãã¢ãã©ããããçç¥ãã¦ãããããã
- èªåã³ã³ãã¼ããã¼ã«ãã¤ãã¦ãã
éã«3ã§ä¸æºãªå¤æ´ç¹ã¯ï¼
- å人ã¨ãã¦ãããªã«å対ãªå¤æ´ã¯ãªã
ä¸çªç´ æ´ãããå¤æ´ã¯ï¼
- ç¡é§ãªé¨åãããè½ã¨ãã¦ãããã¨ãã姿å¢ãããã¨æã
Swift3ã®æ£ããæ¸ãæ¹ã¨ããã¬ã¤ãã«ãªããããªãããã®ããã¾ããï¼
- APIãã¶ã¤ã³ã¬ã¤ãã©ã¤ã³
- Appleã®å ¬å¼ããã¥ã¡ã³ããæ°ãããã®ã¯è¯ãã¨æã