TIPS

Programming

if (XXX == true) はNG

プログラミングでは条件分岐は必須事項と言える。その中でもif文は極めて初歩的な段階で習得するほど重要なものと言える。ただし、その条件分岐のルールは言語によって異なる場合があるので、それが落とし穴になってしまうこともある。今回はSwiftとC...
Swift

Swiftで整数・実数が絡む計算の時に気をつけるべきこと

プログラミング言語では必ずといっていいほど計算が行われる。当然ながらSwiftでも演算が行えるわけだが、Swiftにおいては整数と実数が絡む計算をする時は気をつけなければならないことがある。とはいっても、変数の型がわかればこちらの方が判別し...
TIPS

Circle CIでgit submoduleをクローンしたい場合

最近では、様々なプロジェクトでCircle CIを使っていると考えられる。Circle CIではGitHubやBitbucketと連携して、コミットのプッシュを受け取ったら、自動的にビルドやテストをすることができる。さて、今回はgit su...
Objective-C

Objective-C/Swiftにおけるシングルトン定義備忘録

オブジェクト指向言語では、シングルトンパターンがしばしば使われる。iOSあるいはmacOSアプリで使われているObjective-CやSwiftではそれを実現する方法があり ((Objective-Cでは言語仕様の問題で不完全)) 、定義を...
TIPS

anyenvというのもあるのか

現在、複数のNode.jsのバージョンを管理するのにはnvmを、Rubyのバージョン管理にはrbenvを使っているが、それらを一つにまとめることができるという、かなり便利なツールがあるという。それが、anyenvというツールだそうだ。
IT/Computer

rbenvをインストールする

rbenvは、複数のバージョンのrubyをインストールできるだけでなく、ディレクトリーごとにrubyのバージョンを切り替えることができるといったかなり便利な機能を兼ねそろえたruby管理ツールである。debやrpmなどのパッケージ管理ツール...
C/C++

POH6六村リオのコーヒー問題でありがちな間違い

今回は古い記事を読み直して、PaizaオンラインハッカソンVol.6に参加してみた(六村リオミッション, C++)とPaizaオンラインハッカソンVol.6に参加してみた(六村リオミッション, C言語)を読み直してみたい。というのも、この問...
IT/Computer

Swiftではswitch文のbreakは基本的に不要

C言語やその系統の言語では、多くの場合、switch文を使う場合、各caseの最後には意図的にフォールスルーを行う場合を除けばbreak文を付与しなければならなかった。というのは、C言語においては、各caseはラベルとしての意味合いしかなか...
IT/Computer

GitHubのラベルを使っているか

あなたはGitHubでプルリクエスト・マージでの開発、あるいはissue管理において、ラベルを使っているだろうか?これは使われる機会が多いとは言えないが、それをうまく使いこなせれば、そのプルリクエストあるいはissueがどういうものかを判別...
IT/Computer

デバッグ時にログを吐かせる方法はシンプルだが・・・

アプリを実際に走らせてデバッグをするときに、往々にしてログを吐かせる方法が使われている。この方法はとてもシンプルで、単純明快という大きな利点がある。一方で、それを使うというのは、必ずしも適切とは言い難い側面もある。
IT/Computer

FabricでBundle IDを変えると・・・

今回は割とどうでもいい話題だが、Fabric、その中でもCrashlyticsを使っている場合は、安易にBundle IDを変更するのは避けるべきである。というのも、いろいろと面倒なことになるからである。
iOS

Carthageで必ずソースコードからインストールする場合

Carthageでは、簡単にパッケージをインストールすることができる。多くの場合はソースコードを取得、それをビルドして準備するが、一部のバイナリーが提供されているものについては、それを優先的に使う。この場合、問題を起こすことがあるため、その...
IT/Computer

debian/ubuntuで/bootパーティションがいっぱいになったときの対処法

debianやubuntuを使っているとき、たまに/bootパーティションがいっぱいになってカーネルが正常に新しいものにならない時がある。この原因と対処法について説明をしてみたい。
IT/Computer

Swiftにおける整数型と浮動小数点数型

Swiftもプログラミング言語であるため、当然のことながら変数の型がある。C言語であれば、C/C++における整数型には気をつけよでも扱ったように、型によって、扱える数に差があったように、Swiftでも変数型によって扱えるビット数に差がある。
IT/Computer

Xcode 8.0環境でSwiftLintをインストールするには注意が必要 (2017/02/05追記)

Xcode 8.0ではデフォルトでSwift 3.0が使われるようになり、Swift 2.3は、古いプロジェクトからの互換性を維持するも目的で残っているにとどまっている状態である。これが思わぬところで落とし穴になっている。Homebrewを...
TIPS

パブリサイズ共有がうまくいかない時の対処法

Jetpack by WordPressを使ってSNSに更新情報を共通していると、時折起こるのがパブリサイズ共有に失敗してしまうという問題である。ここでは、それが起きてしまった時にどうすれば復帰できるのかを私がやったことをベースに説明してみ...
iOS

Xcode 8.0でPodをlintするには

CocoaPodsでlintを通すとき、CocoaPods 1.0.xでは通常、iPhone Simulator 4sを使ってlintが行われるようである。従って、そのままではpod spec lintを走らせても異常終了してしまう。従って...
IT/Computer

Objective-CでSwift用のStatic Propertyを定義するには?

SwiftではSingletonインスタンスをstaticプロパティーとして定義することができるが、Objective-Cではそれを行うことはできない。しかしながら、Swift、特にSwift 3との整合性を図るために、Swiftから呼び出...
iOS

Xcode 8.0ではキーチェンアクセスの挙動が変わった?

Xcode 8.0からキーチェンアクセスの挙動が微妙に変わったようである。具体的には、セキュリティーが厳しくなったのか、Xcodeのプロジェクト設定でKeychain Sharingの設定がオフになっている場合は、キーチェンアクセスが機能し...
IT/Computer

apt-getやaptitudeでmooする

今回はちょっとしたネタとして、Debianのapt-get及びaptitudeコマンドのイースターエッグであるmooについて色々書いてみたい。今回は本当に無駄な小ネタなので、本気にしないでもらいたい。