こういうコードを書いてた。
for index in 0..<array.count { // indexを使った処理 }
indices
ってのがCollectionTypeに生えていて、それをつかえば良いと知った。
for index in array.indices { // indexを使った処理 }
こういうコードを書いてた。
for index in 0..<array.count { // indexを使った処理 }
indices
ってのがCollectionTypeに生えていて、それをつかえば良いと知った。
for index in array.indices { // indexを使った処理 }
※この記事は疑似セパレートキーボードで書かれています。
こんな感じ。
元ネタはここ。
#LGTM @LGTMCamera 擬似セパレートキーボードの様子 pic.twitter.com/N4krzBCnCx
— Masayoshi Wada (@masawada) 2016年7月12日
前からErgoDox Ezが欲しいんだけど、値段が値段だけに躊躇していた。そもそも、ホームポジションもへったくれもない打ち方をしていたので、セパレート式のキーボードでちゃんと打てる自信が無かった。 都合よく手元にはHHKB Pro2とMBPというキーボードが2台あったので試してみることにした。
やってみた感想としては、
という感じ。つらい点としては
という感じ。とはいえ案外使いやすくて開発速度も遅くならなかったので、ErgoDoxが買えるまでこのまま使っていこうと思う。
Keychainを使ってくれなくなって、地味に不便。
~/.ssh/config
に下記を記載しておけば良い。
Host * UseKeychain yes
Debug Buildだと普通にビルドが通って、シミュレータでも実機でも動くし、アーカイブもできる。しかし、ReleaseフラグをつけてArchiveをしようとすると、Compiling Swift source files
で処理が止まってしまい、永遠に進まない。
Swiftはコンパイル遅いからしかたないと思って待っていたけど、流石に2時間放置して進まないのはおかしいので調べた。
Optimization Levelを Fast, Whole Module Optimization
からFast, Single-File Opitimization
に変更したらビルドできるようになった。
下記の記事でみつけたけど、「Xcode8.2.1のバグでは?」って書かれてる。どうなんじゃろうか。
これの旅行記です。熱海でもくもくとサーバサイドSwiftをいじって、Webアプリを作ってきました。
見たい映画やアニメがどのサービスで配信しているか探せるWebアプリ『sansa』を作りました。
例えば iron
で検索するとこうやって出てくる。
詳細画面に飛ぶと
こうなっていて、下にあるHuluとかを押すとHuluの視聴ページに飛ぶ。ただし、USリージョン(かつ英語)しか対応してないので、日本人には使いにくい。この辺については後述。
あるアニメや映画を見たい時に、「さて、いったいどのサービスで見られるんじゃろ?」となることが多くて、それを解決したかった。僕はAmazon プライムビデオとHuluを契約してるんだけど、例えば「けものフレンズ」が観たいと思った時に、両方のサービスにログインして検索をする必要があって面倒だった。そもそもなかったときの徒労感がヤバイ。
このWebアプリはHTMLとCSS以外はすべてSwiftで書かれています。そうですServer Side Swiftです。みなさんはSwiftですか?
フレームワークにkitura、テンプレートエンジンにStencilを利用している。本腰を入れてServer Side Swiftで開発した感想としては、とにかくつらい。つらさを箇条書しておく。
swift package generate-xcodeproj
を叩かないとXcode上でライブラリが認識されない
こんな感じで入れたライブラリが軒並み動かなくて、全部自分でAPIClientやJSONのObject Mappingまわりを自作した。成果発表の5時間前にDecodableがHerokuで動かないことが分かって、全部のモデルを書き換えたのはさすがに疲れた。
現状の、Server Side SwiftはJSONを生成して返す程度なら良さそう。ただ、プロダクションレベルで導入するのは、まだ待ったほうが良いなという印象。Swiftは、Swift3でようやくベータ版が終わってver1.0.0なった言語だと思う。ようやくLinuxでもへんてこなツールや環境変数を使わなくても開発ができるようになったので、1年後ぐらいには強くなってそうだなという気持ちです。
また、映画の情報は Guidebox API | A Free Movie, TV and Video APIというAPIを利用した。無料で使えて便利なんだけど、US Regionしかまだデータが揃ってないらしい。JPでアクセスすると「手伝ってくれる人募集!」って書いてあってなるほどってなった。
[熱海 開発合宿] で検索したけど、微妙そうだったり、部屋の空きがなかった。というか[熱海 開発合宿]で検索するといろんな会社の開発ブログみたいなのがヒットするんだけど、みんな同じ場所を利用していて新規性皆無で辟易とした。新規開拓したいので、じゃらんと一休でえっさほいさ検索した。
探した時のポイントは、
という感じ。手順としては最初にじゃらんでいくつか良さそうな宿をみつくろっておいて、全部の宿に電話して「部屋にネットあります?Youtubeが快適に見られますか?」と聞いていくといい感じになる。最終的に、チェーンなホテルだけどココにした。
ウェルカムドリンクとしてコーヒーが飲み放題で、ガブガブ飲んでいた。あと、チェックアウトを1部屋1000円で12時にできるのが嬉しい。開発合宿の最終日は疲れ切っているし、のんびりしていたいのでとても良い。
事前にDropbox Paperでしおりを作って配布しておいた。持ち物や宿情報とか、宿でXcodeのインストールをしないなど基本的なことをまとめてある。
窓際を陣取って、こういう風景を見ながら、ワインを飲みながらコードを書いていた。高等遊民感があってとても良かった。
よくあるご飯で安心。ソフトドリンクが飲み放題で良かった。朝からメロンソーダやコーラが飲めて脳みそがクラクラする。
部屋に大きいディスプレイ(一般人はテレビと呼ぶ)があったので、それにつなげて発表会をした。2日目の24時に発表開始だったんだけど、それまでになんとか動くものを作ろうとみんな必死になっていて良さがあった。
今回は8人で参加したんですが、連絡手段はSlackにしました。新しくTeamを作って、slackinをHerokuにデプロイして招待した。こういう短期的なやつでも面倒くさがらずにTeam作ったほうが良いと思う。会社でSlackを使っている場合、そこで新しくchannelを作ろうと考えがちだけど、そうすると仕事の通知も見ることになって集中できない。あと、使い捨てのWebHookやBotも気軽に入れられるし、Teamごと消せばいいので後処理も楽ちん。
けものフレンズメソッドによる煽りも飛び交う、実に平和なSlackでした。
電源タップとAnkerのUSB充電器(5口とかのやつ)が重要。後は、家で使っている無線LANルータを引っこ抜いて持ってくと良い。
あとは、こういうのを持っていって、Jazzとかけものフレンズとかあいまいみーを流しておくと良い。
今回得た知見として、天井から音楽を流すとカフェっぽくなって集中しやすいというのがある。
1泊だと全然時間無くてつらいし、3泊だとだれるので、2泊3日がちょうどよい。
熱海、開発合宿に向いて無さそう。日帰り湯で他の宿行こうかなって思っていたけど、すごい強気の値段設定だし、宿と宿の間が離れていてつらい。『湯巡り』コンテンツがないと厳しい。あと、観光目的でブラブラ歩いても何もないのがちょっとつらい。これはたぶん開発合宿の2日前に京都に旅行に行っていたので、相対評価になっている気がする。ただ、干物や鮮魚は美味しかったし、今回利用したホテルは良かった。
海が見たいという理由と、都内からアクセスしやすいという理由で選んだけど、おそらく望んで再訪することはないと思う。次は湯田中渋温泉郷とか、白骨温泉に行こうかな。
前まで使っていた掃除機はNationalと書かれている古さで、重いし取り回しもしにくいしで大変だったので、マキタの掃除機を買った。ホテルやビルの清掃で使われてる掃除機というとわかりやすそう。
とにかく軽いし、吸い込みも良いし、さすがマキタだなという質実剛健さで使いやすい。過度な装飾やヘンテコ機能がないというのは、なんて使いやすいんだろう。最高の買い物だった。
前から人気だったマキタ掃除機の新商品とあって、すごい人気。人気に生産が間に合っていなくて全然売ってない。Amazonでも、
マキタ 充電式クリーナ バッテリー・充電器付 CL107FDSHW
ヨドバシカメラでも、 - http://www.yodobashi.com/ec/product/100000001003261473
売り切れている。僕の場合は12月末にヨドバシカメラで取り寄せを頼んで、届いたのは2月頭だった。めっちゃ時間かかるので、欲しい場合は早めに動いたほうが良いです。