文字っぽいの。

文字を書いています。写真も混ざります。

Swift4のCodableをUIImageに対応させる

環境 Xcode9 GM Swift4 前提 Swift4からCodableという便利Protocolが追加されました。 public protocol Encodable { public func encode(to encoder: Encoder) throws } public protocol Decodable { public init(from decoder: Decoder) throws } public ty…

Splatoon2を快適にプレイする為にambieを買った。

買いました。 発売当初にほしかったんだけど、在庫切れが続いてそのまま忘れていた。 月日は流れ、Splatoon2が発売された。会社のイカ勢とプラベやバイトをすることが多いのだが、Splatoonはゲーム音声を聞いてないと戦況が分かりにくい。また射撃音で武器の…

Swiftで透明なUIImageを生成する

毎回忘れるのでメモ private func toumeiImage(size: CGSize) -> UIImage? { UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.main.scale) guard let context = UIGraphicsGetCurrentContext() else { return nil } // 背景を透明で塗りつぶ…

結婚しました。

4月に結婚してました。相手はデザイナーの一般女性です。この指輪は鎌倉彫金工房というお店で手作りしました。また今度、体験記を書こうと思います。 これはうちの愛猫のしじみで、特徴はかわいいことです。 結婚した翌週に私の祖父が亡くなり、慶弔が重ね合…

社内勉強会でSwiftのOptionalについて話しました。

SwiftのOptionalは1度分かると簡単に扱えるけど、分かるまでが難しい。 新卒にiOSアプリ開発を教える機会があって、Optionalもさらっと教えようと思ったんだけど、 まったくさらっと教えられなかったので、丁寧に資料を作ることにした。 speakerdeck.com 僕…

SwiftでCollectionTypeのindexをなめたい時はindicesが便利

こういうコードを書いてた。 for index in 0..

HHKB Pro2とMacBook Proで擬似セパレートキーボードし始めた。

※この記事は疑似セパレートキーボードで書かれています。 こんな感じ。 元ネタはここ。 #LGTM @LGTMCamera 擬似セパレートキーボードの様子 pic.twitter.com/N4krzBCnCx— Masayoshi Wada (@masawada) 2016年7月12日 hatenanews.com 前からErgoDox Ezが欲しい…

Sierraでgit pushやgit pullの時に毎回パスワードを聞かれるの対策

Keychainを使ってくれなくなって、地味に不便。 ~/.ssh/configに下記を記載しておけば良い。 Host * UseKeychain yes

株式会社はてなに入社しました

株式会社はてなに入社しました もう一年たったのかという気持ち 株式会社はてなに入社しました - hitode909の日記

Xcode8.2.1でRelease Buildすると"Compiling Swift source files"が無限に終わらない

環境 Xcode8.2.1 Swift3(Swift2.2から移行してきた) OSX El Capitan 起こること Debug Buildだと普通にビルドが通って、シミュレータでも実機でも動くし、アーカイブもできる。しかし、ReleaseフラグをつけてArchiveをしようとすると、Compiling Swift sou…

開発合宿で熱海に行って、サーバサイドSwiftでWebアプリを作りました。

fromatom.hatenablog.com これの旅行記です。熱海でもくもくとサーバサイドSwiftをいじって、Webアプリを作ってきました。 開発成果 見たい映画やアニメがどのサービスで配信しているか探せるWebアプリ『sansa』を作りました。 https://sansa-project.heroku…

マキタの掃除機を買いました。

前まで使っていた掃除機はNationalと書かれている古さで、重いし取り回しもしにくいしで大変だったので、マキタの掃除機を買った。ホテルやビルの清掃で使われてる掃除機というとわかりやすそう。 特徴 重量が1.1kgですごく軽い MBPの13インチより軽い バッ…

熱海に開発合宿に来ています。あの宿ではない。

遅めの正月休みが得られて、2週間弱休みがあったので、チームメンバーとかを雑に誘って2泊3日の開発合宿に来ている。開発合宿といえばという宿もあるんだけど、ネットでそこしか情報がないので手を抜いて脳死的にそこを選んでいる人が多そうだったし、 blog.…

Amazonプライムミュージックでアニソンジャズが聴けて便利

ニコニコ動画で作業用BGMをあさっていた人にはお馴染みなアレ。 アニソンのジャズアレンジなので、耳馴染みもありつつ落ち着いて作業ができる。 追記 カバー画像付きでおしゃれに貼ろうとしたら、CDのリンクだった。すまぬすまぬ。 こっちがAmazonプライムミ…

サーバサイドSwift を Heroku にデプロイする with Kitura

はじめに この記事では Swift 3.0.2 Swift Package Manager Kitura を利用して、Heroku上で簡単なサーバを動作させる手順を記載します。 Swift PMを使ってプロジェクトをセットアップ まずは、最新版のXcode8.2をインストールしましょう。その後はシェル上で…

仕事机の様子

入社して2年目で、もうちょっとしたら3年目になる。時間が進むに連れてオフィスのデスクもカスタマイズされてきたので、備忘録も兼ねて書いておく。 PC MacBook Pro (Retina, 13-inch, Early 2015) を使ってる。Touch Barついた新しいモデルが欲しいけど、ス…

丸亀製麺の生ビール飲み放題に来てる

今6分過ぎてるところでビール2杯目です。これで1000円ってのは良さしかない。 参考 ASCII.jp:丸亀製麺1000円飲み放題セットがコスパ最強|寅年生まれ肉食ナベコの「なんでも食べてみる」

Swiftで与えられたIndexがArrayのindex有効範囲内にあるか確認する

こんな感じ。 let array = [2,3,5,6,9,10] let index = 0 if 0..

エンジニア立ち居振舞い:なんでもかんでも技術で解決しない

お題「エンジニア立ち居振舞い」 面白そうなので便乗する。 だいたい表題通りで、エンジニアはエンジニアリングができてしまうので、エンジニアリング(技術)で解決できる or できないの視点で見がち。 自動化とかスケールするかとかの話も好きなので、自動…

Swift3でCornerRadiusが効かない、というか崩れて背景色がおかしくなる。

UITableViewCellの中でよくやってた、 override func layoutSubviews() { super.layoutSubviews() someView.layer.cornerRadius = someView.frame.height / 2.0 someView.clipsToBounds = true } という書き方だとはViewが崩れたり、角丸にならなかったり、…

Swift3でオブジェクトのシリアライズ・デシリアライズがうまくいかなくなった問題の対処

いままではこんなふう required init?(coder aDecoder: NSCoder)に書いていた。 guard let id = aDecoder.decodeObject(forKey: "id") as? Int else { // なんかする return } Swift3 & Xcode8環境下では、idにずっとnilが返ってきて、デシリアライズができ…

iOS10でUIToolBarが半透明じゃなくなる問題対策

ここ読んだら書いてあった、 iOS 10 GM Seed Release Notes.pages ios - How to draw a transparent UIToolbar or UINavigationBar in iOS7 - Stack Overflow # swift3 toolbar.setBackgroundImage(UIImage(), forToolbarPosition: .any, barMetrics: .defau…

Swiftで配列の一番最後のIndexをおしゃれにとる

毎回忘れてTwilog見に行ってるので書いておく。 let array: [Int] = [1, 2, 3, 4, 5] let lastIndex = array.endIndex.predecessor() print(lastIndex) // => 4 @FromAtom あ,それで合ってます.添字に使いたかったら `array.endIndex.predecessor()` とす…

gitのpre-commitで、変更のある"*.swift"ファイルだけSwiftLintをかける。

題名の通り。git commitにHookして、変更がある*.swiftファイルにのみLintをかける。Lintでコケたらcommitされなくて便利。 #!/usr/bin/env ruby require 'yaml' LINT_CONFIG_FILE_NAME = '.swiftlint.yml' updated_swiftfiles = `git diff --cached --name-…

Swiftのコードレビュー勘所

はじめに Swift with iOSなコードをレビューする時に僕が気をつけて見ているところをざっくりまとめました 今年からSwift始めます!って人が読めばクラッシュしやすいコードを書きにくくなるはず ロジック面についてもちゃんと確認しましょう 勘所 AnyObject…

ターミナルから音速でXcodeプロジェクトを開く

iOS開発をしていると、*.xcworkspaceや*.xcodeprojをよく開きます。Xcodeはよく落ちるし調子が悪くなると再起動しないといけないので、1日に何度も開いたりします。 最弱 $ cd ios-project $ open . # おもむろにクリック 弱い $ cd ios-project $ ls # ディ…

『ライアン・マッギンレー BODY LOUD!』を観に行った。

オペラシティで開催されている、『ライアン・マッギンレー BODY LOUD !|東京オペラシティアートギャラリー』を観に行ってきた。 写真撮影可能だったので、気に入ったのを撮った。 GW後の土日ということもあり、あまり人もいなくて良かった。特にこのインス…

健康を確認した。

健康診断の結果が返ってきた。 オールAで圧倒的健康。 社会人になって美味いもの食いまくって、ビール飲みまくったので、痛風になるんじゃないかとヒヤヒヤしていたけど尿酸値も正常だった。これからもジャブジャブビール飲むぞ!!!

「これバグじゃね?」で始めるコミュニケーションはやめよう。

バグを見つけて教えてくれるのは嬉しいしありがたい。ユーザの体験損失や脆弱性を防ぐことができて良い。これは何にも勝る絶対的な真理である。 しかし、なにか変な挙動を見つけた時に脊髄反射的に「これバグじゃね?」と言うのは良くない。この発言はただの…

自転車パクられたけどチームメンバーにプレゼントしてもらった。

2015年10月、僕は自転車をパクられた。スーパーで買い物している時に、鍵をかけてなかったので窃盗犯にとってはとてもありがたい状態だったであろう。「鍵かけてないのが悪い」という意見もあると思うが、自転車をパクった奴が悪いのである。「痴漢されるの…