Programming

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++)からかなりの期間が経ったが、今回は「ゆかた」のお題にチャレンジしてみたい。
IT/Computer

プログラマーはコードが書ければ良いというわけではない

これは私が関わったプロジェクトの環境がそういう考えに至らしめた結果なのかもしれないが、プログラマーは設計書の通りにコードを書ければいいというわけではないと考えている。むしろ、曖昧な部分の大きい要件定義書レベルのもの、あるいは基本設計書レベル...
Diary

実のところSwiftは使いやすいのかも

最近Swiftで開発をするようになっており、Objective-Cとの書き方の違いにまだまだ慣れてはいないところではあるが、少しずつではあるものの、Swiftの使いやすさがわかってきたような気がする。
IT/Computer

外部ライブラリーを使う際に気をつけるべきこと

近年では、アプリやシステムを開発する際、外部のライブラリーやフレームワークなどを使うことが多くなり、なおかつその際に導入を簡単にするためにパッケージ管理ツールを使うことも非常に多くなってきた。例えばiOS/macOSアプリを開発する際にはC...
IT/Computer

homebrew-caskの仕様が変わった

どうやら、Mac向けパッケージ管理ツール「Homebrew」のGUIアプリを扱った「homebrew-cask」のパッケージの扱い方に関する仕様が変わった模様である。案の定、警告メッセージがあったが、ツールの状況によってはかなり面倒な作業を...