hiragram no blog

iOSとか

クックパッドを退職しnana musicに入社しました

ボートレース戸田の様子 こんにちはー。 2022年1月末をもってクックパッド株式会社を退職し、2月から株式会社nana musicで働いています。 6ヶ月の試用期間を経て8月以降も雇用が継続される見込みとなったので、この記事を書いています(書いてるのは6月末)。 …

痔瘻の手術をした

3行 2泊3日の入院をして、大腸の内視鏡検査と持病の痔瘻の手術をした リモート期間で助かっている 健康マジ大事 痔瘻とは "じろう"と読みます。以下のページが大変わかりやすいです。 https://www.iwadare.jp/G-WEB/1-4.html 経過 2018年12月に最初の肛門周…

開発合宿した

仲良しが集まったコミュニティであるところの hiragram.slack.com メンバーで開発合宿をやりました。 メンバーは私, suthio, anoChick, miyachik。場所は湯河原にあるおんやど恵という宿。 出発当日の様子。 本当は踊り子の中でさっそく酒盛りだ〜❗と思って…

いつもhiragramを応援してくださる皆様へ

スタートトゥデイテクノロジーズ(旧VASILY)を退職します。今日から有給消化です。 次は決まっていません。8月からiOSらへんの技術者として雇ってもらえる会社を探しています。 最近業務やら個人やらでやったことは以下の通りです RxSwiftの啓蒙 ビットコイン…

Vapor + Vapor Cloudでクローラー的バッチ処理

この記事はVASILY Advent Calendar 2017の17日目の記事です。 また、以下の記事の続きです。 hiragram.hatenablog.jp アプリにJSONを返す部分を安全にする話を前回したので、今度は取引所のAPIを叩いてデータを取得するバッチを紹介する。 データ集めのバッ…

安全サーバーサイドSwift

この記事はVASILY Advent Calendar 2017の9日目の記事です。 目指すのは労働からの引退。 VASILY開発合宿で取り組んだ内容です。 何を作りたいのか ビットコインの売買価格は取引所によって異なる。そこで、安い取引所で買って、すぐに高い取引所で売ること…

iOSDC2017参加した

トークの内容などは他の方がたくさん書いてるのでそういうのは割愛して感想だけ。 前回のiOSDCに参加したときはただトークを聞いてふんふんして終わったから帰るか〜という感じで当時はそれで満足していたけど、今年はTwitterで繋がってた人と初めて挨拶でき…

Pairsのクラッシュバグをみつけたお

pairs-2017-09-16 項目 情報 アプリバージョン 5.26.0 iOSバージョン 10.3.2 端末 iPhone 6s 操作 ユーザー詳細画面で、上方向に素早くスワイプしたあと、写真の上に表示されている右方向のインジケータをタップする 次のユーザーに切り替わるが、スクロール…

iOSアプリのバックエンドにFirebase使ってみた感想

習作としてレシピのマスターデータがあってそれを作ったよというレポートをアプリから投稿できるようなやつを作ってみて感じたこと。 とりあえず動かすのが超簡単 コンソールからプロジェクトつくってキー発行してSDK入れて初期化すればDBにアクセスできて簡…

行動指針

SwiftでiOSアプリを作るにあたっての自分の行動指針をまとめて公開してみた。 というのも、最近転職したり個人でアプリ作ったり友人とのプロジェクトが動き出しそうになったりしており、複数のコーディング規約にまたがってコードを書くことになりそうで(仕…

退職します!

3年2ヶ月在籍したSpeeeを退職します。今日が最終日です。 なにしてたの? 元々サーバーサイドのエンジニアとして新卒入社してPHPやっていて、自社サービスのiOSアプリ用のAPIを作ってました。そのうちアプリ側のちょっとしたデバッグとか修正をXcodeでやるよ…

AutoLayoutのエラーを紐解くときにやっていること

以前ふとこんなツイートをしたところ意外とLikeされた。 AutoLayoutのエラーがコンソールに出た時意味不明だけどviewのaccesibilityIdentifierとconstraintのidentifierに任意の文字列入れておくとメモリアドレスの部分がそれに置き換わるのでおすすめ— ひら…

Mastodon用のiOSクライアントアプリを作っている

Mastodon、どうせ1ヶ月で飽きるっしょという思いがあったのでユーザーとしては全然使っていなかったが、流行りモノのサービスでアプリ開発競争みたいになってるのには参加してみたいという思いがあったので作っている。 開発に使っているアカウントはPawooに…

自分用 けっこう体調崩したとき用

コカ・コーラ アクエリアス 1.0L×12本出版社/メーカー: コカ・コーラ発売日: 2012/04/03メディア: 食品&飲料この商品を含むブログを見る ウイダーinゼリー エネルギー マスカット味 180g×6個出版社/メーカー: 森永製菓メディア: ヘルスケア&ケア用品この商品…

Segueを使わずにかっこよく画面遷移する方法を考えた

最近Segueをいかに安全に使って画面遷移するかということを考えていたけど、#swtwsを見ていてそもそもSegueを使わない/嫌いという人が結構いるんだなと思ったのでSegueを使わないで楽に安全に画面遷移する方法を考えてみたら意外といい感じになった。 Segue…

2017年やること

自分用 大事な順 [ ] ケガ病気しない [ ] アプリを5個出す [ ] iOS以外のこと何か身につける [ ] 100ブクマ [ ] 月2記事 [ ] TOEIC850 [ ] フォロワー1000人 (年初550人) [ ] 貯金xx万 [ ] シークレット

クソアプリ開発は目的ではなく手段

クソアプリ Advent Calendarの16日目です。 先日個人で作ったSushiCameraというアプリをリリースした。 hiragram.hatenablog.jp 個人で作ったアプリがストアリリースまで行ったのは初めてだったので、やる前の気持ちや今の気持ちを雑に書く。 クソアプリ作る…

UITableViewのセクションの区切り線を消す

高さ1のviewを無視する系。 UITableViewCellのサブクラスでaddSubviewをオーバーライド。 override func addSubview(_ view: UIView) { if view.frame.height * UIScreen.main.scale == 1 { return } super.addSubview(view) } おわり。

registという単語が含まれていたらビルドエラーにするやつ作った

iOS その3 Advent Calendarの9日目の記事です。 最近、NGワード一覧みたいなのを定義しておいたらコンパイル時にそれがコード中に含まれていないかチェックして含まれてたらビルド落ちるように出来ないかな〜とか思って試してみた。 XcodeのBuild phaseの中…

アクセス修飾子周りでSwiftのバグっぽいのみつけた

Swiftのバージョンは3.0 ViewController.swift import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() print(TypeA.name) } } ProtocolA.swift import Foundation private protocol ProtocolA { } exte…

ビルドターゲットがフレームワークの時にCommonCryptoをimportしたい

この記事はSwift Advent Calendar 2016の2日目です。 TL;DR 結局イケてる解決はできませんでした 前提 UIにかかわらない部分を切り離すため、Embedded Frameworkの仕組みを用いてモデル層を別モジュールにした API通信時にSHA256でトークンを作ってるところ…

SushiCameraとかいうアプリをリリースした

お盆くらいから暇な時間を見つけてはちょこちょこ作ってたカメラアプリがようやくストアレビューに通ったのでリリースした。 SushiCameraというカメラアプリをリリースしたhttps://t.co/sdOzfDC6gA— 人間らしい生活 (@hiragram) 2016年11月5日 iOSの"写真"ア…

"ReactiveCocoa vs RxSwift"の和訳

https://www.raywenderlich.com/126522/reactivecocoa-vs-rxswift - Functional Reactive ProgrammingはSwift開発者の間でますます人気が高まってきている方法論である。それは複雑な非同期処理のコードを書きやすく、理解しやすくすることができる。 この記…

Enums as configurationは別にアンチパターンでは無いのでは

ちょっと前の記事だけど。 Enums as configuration: the anti-pattern via @jesse_squires この記事が言いたいのは enumでインスタンスの設定をするのは、提供された選択肢から選ぶしか無いので利用者側の自由度が低く良くない。 ライブラリやフレームワーク…

Swift3の新しいアクセス修飾子について考察

3行で Swift3から新たなアクセス修飾子 open,fileprivateが追加された privateの扱いが変わった ゆるい順に、open,public,internal,fileprivate,private open 「モジュール外からアクセスでき、 サブクラス化(継承)可能である」ことを示すアクセス修飾子。以…

複数のプロトコルに適合する型、という書き方

最近知りました。 //: Playground - noun: a place where people can play protocol Animal { func run() } protocol Vehicle { func drive() } struct Nekobasu: Animal, Vehicle { func run() { } func drive() { } } let bus: protocol<Animal, Vehicle> bus = Nekobasu() </animal,>…

xibからビューのインスタンスを生成するコードの治安を良くする

AwesomeView.xibからAwesomeViewのインスタンスを作りたい時、普通にUINibのイニシャライザを使って呼び出すと let awesome = UINib(nibName: "AwesomeView", bundle: nil).instantiateWithOwner(nil, options: nil).first as! AwesomeView こんなに治安が悪…

iOSDCに参加した #iosdc

会場が練馬って朝知ったので遅刻した。 到着即ランチセッション #iosdc— ひらり (@hiragram) 2016年8月20日 ランチセッションの弁当がうまそう pic.twitter.com/UhgOb9hRRp— ひらり (@hiragram) 2016年8月20日 ベストトーク賞とられたReactive Programmingの…

NSTextFieldをAutoLayoutで配置すると幅が0になっちゃう

最近趣味プログラミングでAppKitを触っている。 AppKitについて言いたいことはいろいろあるがUILabel代わりに使ったNSTextFieldについてハマったので書いておく。 Slackのメッセージみたいな見た目のビューを作りたくてAutoLayoutでごちゃごちゃ配置してたら…

awakeFromNibのドキュメント読んだ

awakeFromNib https://developer.apple.com/library/ios/documentation/UIKit/Reference/NSObject_UIKitAdditions/#//apple_ref/occ/instm/NSObject/awakeFromNib ちゃんと理解してる自信がなかったので読んでみた。 Prepares the receiver for service afte…