2017-03-01から1ヶ月間の記事一覧
概要 エリックエバンズの「ドメイン駆動設計」を読む中で、アプリケーション開発に適用する時に感じてきた違和感をまとめてみました。 まだ前半しか読み終えてないので、後半を読んだ際にはまた別のエントリーでまとめようと思います。 レイヤー化アーキテク…
※ 自戒をこめて チーム開発する上で認識甘かったことがあって、最近反省することが多かったので、備忘録として残しておきます。 開発する上での前提 「開発の前提知識が整わないと生産性高く開発ってできないよね」っていうお話です。 今回反省したのは、技…
computed property内でforを使った実装をしていた部分をmapを使ったswiftらしい構文へ書き換えました。 変更対象コード var isSuccess: Bool { for q in questions { if !q.isSuccess { return false } } return true } 変換第一段階は以下 var isSuccess: B…
Protocolの定義 宣言したインターフェースは継承先のクラス、もしくはプロトコル、構造体で、宣言必須。 とはいえ、必要ないインターフェースは継承先で記述省きたいとも思う。 そこでswiftで使えるオプショナルなインターフェースについて調べてみた。 オプ…
swiftのタプルについて 公式リファレンス呼んだ備忘録 php, rubyと経験してきて、swiftを学習し始めてから「tuple」という概念を知ったのでまとめます。 タプルとは? タプル(tuple)とは、複数のものからなっている組の構成要素数を表している集合数詞である…
背景 今年は間違いなくAIだったり深層学習だったりがバズワードになり、色んな製品にそういった技術が使われてくる世の中になるだろうと思います。 そんな中、結局「AI」とか「人工知能」とか「深層学習」ってそもそも何?っていうことの背景だったり歴史だ…
先に注意事項を書いておきます。 コピペの仕方を書いているわけではありません。 ソースコードの検索は実装の手助けをするものです。 その前段階で設計や実装の準備はしっかり行っておく必要があります。 上記3つをこの記事では意識しています。 ソースコー…
ビジネスサイドや企画サイドと新機能や要望のやり取りをするときに、最近否定的な態度を取ってしまうことが多く、良くない傾向だとおもったので、そもそもなぜ否定的に考えてしまうのかということの理由を考えてみました。 拡散思考と実装前提思考 1. 拡散思…
エンジニアとしてのキャリアを今後どうしていくか、どうあるべきかの現時点を記録していこうと思います。 自分なりのエンジニアキャリアの考え方 一般的なエンジニアのキャリアの考え方は3種類あると思っています。 それは 技術突き詰める 技術をわかった上…
年明けから業務でiOS開発を担当することになったので、ここ一ヶ月半で何をして何をしなかったのかを書きます。 目標 一ヶ月でiOS開発に必要な知識のベースをつける キャッチアップしないと行けなかったこと Swift Xcode Cocoaプログラミング Rx (含むリアク…
以前書いたカスタムUIStackViewクラス内の子要素を削除するの追記 removeArrangedSubview() (UIView).removeFromSuperView の動作の違いとなぜ2つのメソッドを使わないと完全に削除できないのかということについて。 removeArrangedSubview https://develope…
画像を選択してUIImageに表示させるという処理を実装します。 手順 UIImagePickerControllerDelegate と UINavigationViewControllerDelegate を実装したViewControllerに継承させます。 UIImagePickerControllerDelegate...UIImagePicler → Libraryから画像…
UINavigationViewControllerをEnbedInしている状態で編集ボタンをコードから生成する。 navigationItem.leftBarButtonItem = editButtonItem これで該当NavigationControllerを設置している箇所に対して、左上に編集ボタンを配置できる。 また、TableViewCon…
さまり Jump Right In でNSCodingを初期化する時に required と convenience を使って初期化している意図がわからなかったので調べた話 NSCodingの初期化について 公式のリファレンス https://developer.apple.com/reference/foundation/nscoding/1416145-in…
さまり prepareメソッドが理解できずにいた件 swiftの外部引数と内部引数について prepareメソッドが理解できずにいた件 prepare(for: ,sender:)メソッドがなかなか理解できずにいて、ようやく理解したので、その備忘録です。 まずprepare(for: ,sender:)に…
emacs のパッケージ管理 emacs 25.1 cask を使ってパッケージの管理をしていたりします 一応githubにemacsのパッケージリストは公開中 my emacs conf えぐさま Vagrantで立ち上げた仮想環境でcaskが動作しない Macでcaskを入れる場合とcentOSでcaskを入れる…
UIStackViewとは? iOS9から導入された概念 UIView郡をUIStackView内に入れ子として管理できる。 UIStackViewが親でUIButtonなどの各UIパーツが子要素になる。 Apple公式チュートリアル内でボタンを削除する JumpRightIn 対象となるコードはこちら(抜粋) pri…
iTerm2で青色がすごく見づらかった... iTerm2で作業する時に青が見えづらくてしかたなかったので、青の文字の色彩を調整しました。 調整の仕方は、iTerm2の設定(Cmd + ,)を開いて、Profile -> Defauktの外観の設定 -> Colorを選択 Minimun Contrastを調整…
AppleのiOS開発の公式チュートリアルに記載されている画像の読み込みについての備忘録。 画像はAssetsに入っているものとし、アプリ内で保持している画像を読み込むという前提。 対象箇所 Appleの公式チュートリアル「JumpRightIn」での画像を指定している箇…
atomでmarkdownのシンタックスハイライトとライブプレビューを使うお話です。 使っているパッケージ language-markdown linter-markdown Core 1. markdown-preview Markdownプレビュー Ctl + Shift + Alt を同時に押した状態でキーボードの「M」を押すとMark…
お試し投稿です。 jekyll now で作ったgithubページから移行 もともと jekyll now を使った静的ページでブログ書いてましたが、画像等々を上げる時にホストするサーバーだったりを用意したりするのがめんどくさかったので、どうしようか考えたところ、はてブ…