Takahiro Octopress Blog

-1から始める情弱プログラミング

iOS形態素解析で見る幽白、海藤戦のタブー能力

| Comments

はじめに

最近、業務で形態素解析の話が出ました。
形態素解析はサーバサイドで実行していることが多く、あまりアプリでは馴染みがないと思っていたのですが、
意外とそんなことはなく、iOSでも簡単に試すことができることを知り、今更驚きました。

因みに、筆者が形態素解析と聞いて真っ先に思い出したのは、
「幽遊白書の海藤戦のタブー能力」でした笑。

今回はiOSでの形態素解析を、海藤戦のタブー能力を織り交ぜつつ説明したいと思います。

シェルスクリプトで特定フォルダ配下のファイル名をチェックしよう!

| Comments

はじめに

大量のファイルを新規作成して、そのファイルが一定のルールを持った名称であるかどうかをチェックする際に、流石に目視で確認するのは大変過ぎるので、
シェルスクリプトで確認できるようにしてみました。

その時のメモとして残しておこうと思います。

Xcodeの環境変数を有効に利用しよう!

| Comments

はじめに

iOSアプリを開発する中で避けて通れないのが Xcode 周りの扱いです。
とは言え、個人でのアプリ開発であれば、そこまで工夫せずともビルド待ち時間に困ったりすることはないかもしれません。
ですが、業務で扱うような大規模なアプリ開発となると、やはり様々な工夫が必要になることでしょう。

その中の一つに『 Xcode の環境変数を有効に利用すること』が上げられます。
今回はその『 Xcode の環境変数』に関するメモ書きを残しておこうと思います。

GitHubとSlackを自作で連携させてみよう!

| Comments

はじめに

今回は GitHubSlack の連携を自作でやってみる話の備忘録です。

と言っても、手法は本当に簡易で、

  • GitHub 上で Webhook を設定する
  • GitHub からの POSTリクエスト を受け付けるサーバを用意する
  • 受け付けた POSTリクエスト から各種値を抽出して、Slackに通知する

を対応することで実現することが可能です。
それでは早速見ていきましょう。

UIStackViewとConstraintで変わるアニメーション

| Comments

はじめに

今日はUIStackViewとアニメーションに関するメモです。
通常、UIStackViewを利用すれば、ラッピングされた内部のView間の距離は、
Spacingで指定することができます。
逆に言えば、NSLayoutCostraintを指定する必要はありません。

ですが、もしアニメーションで工夫を加えた場合はその限りではないという話をしたいと思います。

iPhoneX時代のNetwork Indicatorについて

| Comments

はじめに

これまでのiPhone8/8Plus/SEなどでは通信中に下図のような Network Indicator が表示されていました。

従来のNetwork Indicator

しかしながら、iPhoneX系統では、下図のように Network Indicator の表示がなくなってしまいました。

iPhoneX系統ではNetwork Indicatorがない

今回は、この Network Indicator に焦点を当てたいと思います。

iOSアプリ開発時に注意したい色空間(Generic RGB vs sRGB)

| Comments

はじめに

最近、iOSアプリ開発をしている際に、

デザイナーさんが指定している色をXcode上で指定しているにも関わらず、
iPhoneで見た時に、デザイナーさんが指定した色になっていない

といった話が出ました。
結論から言えば、

デザイナーさんが利用しているツール(PhotoshopやXdなど)と、
エンジニアが利用しているXcodeとで、
指定している 色空間が異なる ことが原因でした。

筆者は過去に同様の問題に直面した経験があったため、すぐに理由の予測がついたのですが、
ふと『元々こういった話って開発時に出てきていただろうか?』と疑問に思いました。

そこでXcodeでの色空間について触りを見ていきたいと思います。

Swiftのグローバルプロパティとスタティックプロパティは自動でlazyになる

| Comments

はじめに

今日はSwiftでグローバルプロパティを定義した時の挙動についてのメモです。

Swiftではプロパティを定義する時に、わざと遅延評価させるための lazy という修飾子があります。
lazy をつけることで、そのプロパティが利用される時に、初期化されメモリが消費されるため、メモリの効率性を上げることに一役買います。

実際の定義は下記の通りです。

1
2
3
4
5
6
// ViewController.swift

class ViewController: UIViewController {
    lazy var localProp = "local"
    ...
}

これがSwiftで グローバルプロパティスタティックプロパティ を定義した時に自動的に付与されます。

『Team Geek Googleのギークたちはいかにしてチームを作るのか』を読んで

| Comments

はじめに

今回は今更ながら読んで 『Team Geek Googleのギークたちはいかにしてチームを作るのか』 という本を紹介しつつ、
転職前後で自身の置かれた立場の変化から思ったことや感じたことを連々と書いていきたいと思います。

書籍『Team Geek Googleのギークたちはいかにしてチームを作るのか』の紹介

2013年に初版発行されたオライリー書籍で、 Subversion などのフリーソフトウェア開発に携わり、Googleでも働いていた Brian Fitzpatrickさんが執筆した書籍です。

Included file 'google_plus_one.html' not found in _includes directory