PlaygroundでViewControllerを表示する。

Assistant Editors を開いて、下記のようなコードで表示できます。 import UIKit import XCPlayground let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) let viewController = UIViewController() viewController.view.backgroun…

try! Swift 3日目個人まとめ

初めにまとめサイト紹介 スライドの写真もある速記まとめ(3日目だけのまとめはない) 全日程の資料まとめ クラスメソッドさんのまとめ 個人まとめ "Motivation based library abstraction" レポート 業務の中で出てきた課題に対応するための3つのライブラリを…

try! Swift 2日目個人まとめ

初めにまとめサイト紹介 スライドの写真もある速記まとめ 全日程の資料まとめ クラスメソッドさんのまとめ 個人まとめ "実践的 “Boundaries”" : "Boundaries in Practice" レポート BoundariesはFunctional Programingでよく参照される内容。 https://www.de…

try! Swift 1日目個人まとめ

初めにまとめサイト紹介 スライドの写真もある速記まとめ 全日程の資料まとめ クラスメソッドさんのまとめ 個人まとめ "Swiftのエコシステムに飛び込む" : "Dive into Swift Ecosystem" レポート エコシステムに貢献する段階 使う。 Git HubならStarを付ける…

gitで直前のcommitを取り消す

git

git reset --soft HEAD^

Vim勉強ノート

Vimチートシート http://www.namaraii.com/files/vim-cheatsheet.pdf 削除コマンド vimmer.blog5.fc2.com

iOS SystemFont サイズ毎のラベルの高さ。

デザインの指定で「高さはラベルいっぱいでお願いします。」とかあるので調べてみました。 結果 Font Size: 1, heihgt: 1.5 Font Size: 2, heihgt: 2.5 Font Size: 3, heihgt: 4.0 Font Size: 4, heihgt: 5.0 Font Size: 5, heihgt: 6.0 Font Size: 6, heihg…

SwiftのArrayを拡張してremoveメソッドを追加する。

SwiftのArrayには removeAll や removeAtIndex はありますが、removeしたい element を渡して remove するメソッドがありません。 そこで、removeメソッドを追加しました。参考にしたのはstackoverflowのこちらの記事です。 stackoverflow.com上記の記事で紹…

地方在住ITエンジニア(元・地方在住も可) Advent Calendar 2015 を一通り読んでみて。

将来的は地方で働きたいという思いがあるので、こちらのAdvent Calendarの全記事ざっと読みました。 記事の中で書かれている地方の特徴を簡単にまとめておこうと思います。www.adventar.org お金 家賃は安い。 家賃以外の生活費はあまり変わらない。 平均給…

Argo でnullの場合に空文字や配列を得る。

ArgoはSwiftでJSONのParse処理を簡潔に記載できるライブラリです。github.comちょっと古い記事ですが まだSwiftyJSONで消耗してるの? - Qiita でも紹介されています。ただ、今回のアプリでは以下の振る舞いの方が都合が良くメソッドを追加しました。 JSON …

国内のKotlin導入事例

最近Android開発界隈で話題のKotlinについて国内の導入状況をまとめてみます。 見つけ次第随時更新していく予定です。 会社 導入状況 参考サイト 記事投稿日 Qoncept がっつり導入 Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita…

読んだ:iOS/Androidアプリの3つの大事な設計方針

こちらのスライドのまとめです。 Modelとそれ以外を分ける Modelとそれ以外(ここではEditor)に分ける。 ModelはUIに関わらない部分 EditorはUIに関わる部分 参照 OK:Editor -> Model の直接参照 NG:Model -> Editor の直接参照 ModelからEditorを参照する…

読んだ:軽量なView Controller(objc.io #1-1 日本語訳)

qiita.comViewControllerからロジックを分離する内容が書かれています。 protocol UITableViewDataSource もViewControllerから分離しよう。という提案がなるほどなと思いました。 他はMVCフレームワークとかで言われることと同じなので新鮮味は特にありませ…

Swiftで高さ0のConstratintインスタンスを作成する。

たまに使うのですが、毎回忘れてしまうので記載しておきます。 let zeroHeightConstraint = NSLayoutConstraint( item: self, // 対象のViewインスタンス attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .Height, multiplier: 1.0, consta…

iOS9でホームアイコンにバッチが表示されなくなった時の対応方法

検証OS: iOS 9 beta 5 Xcode: Xcode 7 beta 5 対応前 let types: UIUserNotificationType = [.Alert, .Sound] let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: nil) UIApplication.sharedApplication(…

DDDの不吉な匂い

ddd

避けるべきDDDの10の失敗 www.infoq.comInfoQで10個上げられていたので抽出しておきます。 永続化やデータストレージがモデルに影響を与えてしまう ドメインエキスパートと交わらない ドメインエキスパートの言葉を無視する 境界付けられたコンテキストを特…

iOSアプリのgitブランチ運用

iOSアプリはApple審査期間がありリリーススパンがWebに比べて長くなってしまいます。 WebではGitHub Flowやgit-flowが使われているようですが、iOSアプリではgit-flowをアレンジした下記に示す運用が良いと思います。なお、この運用は2,3人での開発を想定し…

Swiftのバージョンを手軽に確認する方法。

いろんな情報が出てくるので一番手軽な方法をメモします。 ターミナルで下記コマンドを実行します。 swift -version 下記のように表示されます。私のバージョンは 1.1 でした。 $ swift -version Swift version 1.1 (swift-600.0.57.4) Target: x86_64-apple…

Windowsのコマンドプロンプト(cmd)で複数ファイルコピーバッチ

xcopyを使って下記コマンドで複数ファイルをコピーしようといします。 xcopy a.txt new_a.txt /R /Y xcopy b.txt new_b.txt /R /Yすると、下記メッセージが表示され入力待となってしまい、処理が止まってしまいます。 \(ファイル名) は受け側のファイル名で…

iOSで半角円マーク(\) を表示させる。

https://social.msdn.microsoft.com/Forums/ja-JP/96c84e1c-a316-4e5a-89d2-b91527c6f21f?forum=wp7devtoolja上記記事はWindowsPhoneですが、Unicodeの円記号 (U+00A5) に置換したところ、iOSでも半角円マーク(\)で表示されました。 str.Replace('\u005c','\…

COALESCE と ISNULL

SQLServer(MSSQL)には ISNULL という関数があります。 本記事では以下の記事を参考に COALESCE と ISNULL の違いをまとめます。 COALESCE vs. ISNULL T-SQL Functions | T-SQL content from SQL Server Proまた、本記事では通常の開発で意識すべき内容だと判…

SQLServer(MSSQL)で変数宣言。

毎回忘れてしまうのでメモ。DECLARE @p int = -1 SELECT * FROM Products WHERE Code = @pDECLARE @local_variable (Transact-SQL)

すごいHaskellたのしく学ぼう! 9.5 写経と課題

すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (67件) を見る通称:すごいH本上記書籍の「9.5 ToDoリ…

REST紹介(簡易版)。RESTとSOAP。

RESTについて自分の理解をまとめておきます。 何も知らない方へREST理解の手助けになれば幸いです。 RESTとSOAP。 RESTを学ぼうとする時にSOAPと比較しがちですが、SOAPとRESTはレイアが違うというか全く別物で比較すべきものではないと思います。 従って、R…

コンストラクタか。ファクトリか。

実装に依存せず、全て抽象(インタフェース)に依存するようにするためには、 オブジェクトの生成はコンストラクタではなく、ファクトリで行う必要があります。ただし、現実問題として全てを抽象(インタフェース)に依存するようなプログラムは、 複雑になりす…

PhantomJS1つのファイルで複数サイトをスクレイピングする。

PhatomJSは、JavaScriptで記述できるブラウザレスなWebスクレイピングフレームワークです。 スクレイピングのフレームワークのなのでassetメソッドなどのテストフレームワークは含まれていません。PhantomJS | PhantomJS1つのjsファイルで複数ページをレンダ…

JSTQB Fundation Level 受験してきました。

2014/08/30(土)にJSTQBのFundation Levelを受験してきました。 JSTQBテスト技術者資格認定受験までに使用したもの、やったこと等を記載します。 使用したもの。 ソフトウェアテスト教科書 JSTQB Foundation 第3版 公式サイトに掲載されているシラバス。 公式…

JavaScriptでArrayの差分を取得する。

コード (function(){ var arrayDiff = function(that){ var diffArr = []; for(var i=0,len=that.length; i < len; i++){ var thisVal = this[i]; var thatVal = that[i]; if(JSON.stringify(thisVal) !== JSON.stringify(thatVal)){ diffArr.push(thatVal);…

JavaScriptでコンストラクタを使ってクラス継承を行う。

テスト駆動JavaScript作者: Christian Johansen,長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2011/11/25メディア: 大型本購入: 19人 クリック: 331回この商品を含むブログを見る上記書籍に紹介されているコンストラクタを使ったクラス継承…

セマンティクス とは。

よく調べている気がするのでメモ。下記サイトより引用しました。プログラムは「言語」であるため、様々な機能を持つ予約語や記号の組み合わせによって作られる。 これらの予約語や記号の機能は「シンタックス」、つまり言語仕様上の機能でしかない。 だが、…