Programming

iOS

CocoaPodsやCarthageを使っている場合はXcode 8.0へのアップデートは待った方がいい

もしiOSおよmacOSのアプリプロジェクトでCocoaPodsやCarthageを使っているのであれば、一旦Xcode 8.0へのアップデートは待った方が良い。そうしないと、かなり大変なことになるからである。
IT/Computer

apt-getやaptitudeでmooする

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

Swiftを意識したObjective-Cのヘッダーファイルの作り方

Swiftが登場してから2年以上経過しており、Swiftが使われるパターンもかなり増えている。一方で、プログラミングの仕方によっては、依然としてSwiftが合わないような場合、例えば、ライブラリー開発や、C++を混在させたコードなどがあるが...
IT/Computer

コールバック処理の実装方法について

プログラミング言語などで、何らかの非同期処理やイベントベースの処理を行う際に、「何らかのイベントが届いたら、こういう処理を行う」というような処理の仕方を行うときがある。例えば、ファイルのダウンロード処理などがそれに該当する。この場合は、ダウ...
IT/Computer

複数のプログラミング言語を覚えることはもはや必須条件

すでにアプリやシステムは特定のシステム単体では成り立っておらず、複数のマシン、あるいはクライアント・サーバー・ウェブといった複数の要素の組み合わせで成り立っているものがほとんどになっている。したがって、そのようなアプリやシステムを作りたいと...
IT/Computer

Javaには構造体がないのでクラスで代用するしかない

C言語からプログラミングを始めた場合、Javaのプログラミングの学習を行った際に時折遭遇するものとして、「Javaで構造体を表現したい時はどうすればいいのか」という問題がある。Javaでは構造体がないので、クラスで代用するという方法がある。
IT/Computer

プログラミングを習得するには目的が重要

よく「オブジェクト指向」ということが言われているが、この「オブジェクト」とは「目的」あるいは「対象物」という意味であり、その対象にポイントを置く考え方と言われている。個人的にはプログラミングを習得するには、なにを作りたいのかを重点に置くこと...
iOS

Carthageという選択肢

iOS及びmacOS向けアプリで外部のライブラリーを容易に導入するためのツールとしてはCocoaPodsが有名だが、このツールでは開発しているプロジェクトに影響を与えるという問題があり、使いづらい側面があった。その代替としてCarthage...
IT/Computer

外部ライブラリーやツールを使う際のライセンスの注意点

近年では、必ずと言っていいほど外部のツール類やライブラリー類を使うのが主流になっている。これによって、アプリを開発するときの生産性が大幅に上がり、短期間で優れたアプリを作るというのも可能になっている。しかしながら、これらは基本的に著作権は放...
IT/Computer

タブvsスペース

コーディングをする際のインデントとして、スペースかタブかという論争が往々にしてある。この問題はかなり不毛なものであり、解決は不可能と言っても良いものであろう。
IT/Computer

ファイル名の拡張子の重要度は環境による

Windowsでは必ずと言っていいほど使われているファイルの拡張子だが、実のところ、それは環境によって変わってくる。
IT/Computer

Objective-CとSwiftのクラス定義の落とし穴

SwiftがObjective-Cの後継という位置付けという関係からか、Objective-CとSwiftは1対1で対応していると思われがちだが、実際にはそういうわけではなく、落とし穴となるようなところはたくさんある。ここで説明するクラス定...
IT/Computer

NSIntegerとCGFloatの実体は・・・

これはどちらかというと、Objective-Cで気をつけなければならないことであるが、NSIntegerとCGFloatの実体はmacOSやiOS端末によって違いがある。正確には、32bit版のOSが動いているか、64bit版のOSが動いて...
IT/Computer

Objective-CとSwiftは結構違う

Objective-CとSwiftは、どちらもApple製品向けアプリを開発するのに主要な位置を占めている言語で、どちらもCocoa Frameworkを使っているが、それぞれ意外と違いがあるようだ。わたしが両方使ってみて気になったところな...
Diary

今はコンパイラーをインストールしなくてもプログラミングの学習ができる

今では、すでにコンパイラーをインストールしなくてもプログラミングの学習ができるようになっている。私がプログラミングを始めた頃と比べても、ずいぶん便利な時代になったものである。
IT/Computer

プログラミング言語を覚えたからといってそれがいつまでも通用するわけではない

プログラミング言語はアプリやシステムの開発をする上では必須だが、それを覚えたからといって、いつまでもそれが通用するわけではない。それを念頭に入れないと時代の流れに取り残されて、生きていけるかどうかさえ怪しいだろう。
IT/Computer

テキストエディットのデフォルトの書式変更

私はCotEditorやEclipse、Xcodeなどの他のツールを使っている関係上、テキストエディット(英語名: TextEdit)を使うことは基本的にないが、テキストエディットでは新規作成時のデフォルトのフォーマットはリッチテキスト形式...
IT/Computer

WindowsでSwiftが使えるようになる日はまだ遠そうだ

SwiftがWindowsで使えるようになる日は来るのかなどの記事でもWindowsにおけるSwiftの移植の可能性やあり方などについて色々書いていたが、そこから半年以上経過したが、少なくともWindowsでSwiftが使えるようになる日は...
IT/Computer

clamscanとclamdscanの違い

Linuxで使われているセキュリティーソフトウェアとして、Clam AntiVirus(通称Clam AV)というものがあり、その中でもコマンドラインでウィルススキャンを行うコマンドとしてclamscanとclamdscanというものが用意...
C/C++

恋するハッカソン解答例と解説・ゆかた(C++)

恋するハッカソン解答例と解説・制服(C++)からかなりの期間が経ったが、今回は「ゆかた」のお題にチャレンジしてみたい。