Programming

Dart/Flutter

Dart/Flutterプログラミング入門 – Dart/Flutterとは

最近、仕事でFlutterを使う機会があり、調べたりしながら開発を行っているという状態にある。ここでは、Dart/Flutterについて説明してみたい。FlutterとはFlutterは、Googleにより提供されているモバイルアプリ向けア...
Linux

genkernelからDistribution Kernelへ

Gentoo Linuxを使う場合、カーネルの構築を行うには手動でカーネルの設定を行った上で、またはgenkernelを使って必要に応じて設定を行った上でビルドを行っていた。私もこれまでは仮想環境上ではgenkernelを使ってカーネルのビ...
Programming

iOS/macOSアプリ開発でツール・ライブラリのインストールスクリプトを作ってみた

iOSアプリ開発ではしばしばCocoaPodsやCarthageだけでなく、場合によってはRubyGemsやNPMなどのパッケージを使うことも往々にしてある。しかしながら、これらをいちいちコマンドで処理をしては地味に面倒だし、かなり面倒な時...
Java

すでにJava IDEではIntelliJ IDEAが主流になっていた

私も多少はAndroidアプリの開発に関わっており、2015年ごろからAndroidの開発ツールではEclipse+Android Development ToolsからAndroid Studio(またはIntelliJ IDEA)への移...
iOS

CarthageはCacheを活用する

今日では、macOSやiOSアプリをはじめとしたアップル製品向けのアプリを開発するときに一度は使ったことがあるであろうCarthageだが、うまく使いこなせていないせいで、不必要にビルド時間を長時間かさせてしまっていることがあったりする。こ...
Objective-C

iOSアプリの開発言語はSwiftが主流になったか

今日では、iOSアプリ開発では概ねSwiftが主流になったと言えるような状態になっている。少なくとも、私が関わっている限りではObjective-Cを使った開発はだいぶ聞かなくなっており、ライブラリー群でObjective-CやC言語の系統...
Opinion

コードを書くときはメンテナンスのしやすさを考える

現在関わっているプロジェクトで、他人の書いたコードをメンテナンスすることがしばしばあるのだが、あまりにもメンテナンスが考えられていないようなコードで修正箇所の把握に時間がかかった上に修正箇所の把握ミスでさらなる修正という事態になってしまい、...
iOS

Stack Smashing Protectionは念の為要注意

関わっているプロジェクトで脆弱性診断を受けていた時に、スタックスマッシング攻撃に対する脆弱性が指摘されるという報告があり、現在対処法を検討するうことになったのだが、これはSwiftで開発したアプリでは珍しいことであるということもわかった。この記事では、スタックスマッシング攻撃について、およびその対策法等について書いてみたい。
IT/Computer

Carthageパッケージを作るのは簡単

皆さんはCarthageパッケージを作ったことはあるだろうか?Carthageパッケージを作るのは思ったよりも簡単で、GitHubアカウントさえ持っていればすぐにできてしまう。ここでは、Carthageのパッケージの作り方の仕組みを簡単に説...
IT/Computer

floatやdoubleの落とし穴

プログラミング言語においては、小数を扱う場合、一般的にはfloat型やdouble型を使うことが多い。多くの場合はfloat型やdouble型を使うことで問題ないのだが、実はそれらを使ってはいけない場面もしばしばある。
Diary

RxSwiftを使っているが

ここ最近、仕事の関係からRxSwiftを使ってアプリ開発を使うようになった。最近はある程度は使い勝手がわかってきたのか、だいぶ扱いがわかってきたのだが、学習コストはそれなりにかかりそうだ。
iOS

Awesome iOSは是非とも知っておきたい

iOSアプリを開発するなら、是非とも「Awesome iOS」は知っておきたい。
Diary

Swiftに慣れると・・・

Objective-Cが使いづらくなるのは致し方ないだろう。多くの場合、Swiftの方が安全であること、また、Objective-Cの開発でもSwiftを意識しなければならないようになっているため、面倒になっているからである。
Java

Javaが有償化されるが・・・

最近、Javaを巡って騒動が起きている。Oracleから提供されているJava SDKの無償提供がバージョン10で終了し、バージョン11以降は有償のみとなるという。したがって、オラクルとサポート契約を結ぶか、コミュニティーによるOpenJD...
Opinion

単なる写経ではプログラミングは上達しない

いくつかの記事において、プログラミングのスキルを身につける、あるいは上達させる方法としていわゆる「写経」がしばしば取り上げられるが、個人的には、確かに重要な要素ではあるとは考えている一方で、単なる写経では上達しないと考えている。また、「写経...
Programming

Gitのブランチルールには気をつけているだろうか?

今日では、ソフトウェアの開発にGitを使う機会がかなり増えている。とりわけ、GitHubというホスティングサービスが普及してからは、Gitなしでかなり不便なほどになっているくらいだ。ところで、Gitのブランチルールには気をつけているだろうか...
Programming

lint類はなるべく使うようにしたい

複数人で開発となると、言語や人によってコーディングスタイルに大きなばらつきが出ることがあり、読みづらい場合が往々にしてある。この対策のためにも、lint類はなるべく使うようにしたい。
Programming

プログラムが複雑になっても3つの基本処理は基本的に変わらない

およそ1年弱前にプログラミングにおける3つの基本処理を書いたが、これはプログラムが大規模になって複雑になったとしても、基本的にこれ自体が変わることは基本的にない。
Python

RubyとPythonを学習する – if文による条件分岐

RubyとPythonを学習する – 計算を行うではRubyとPythonによる簡単な計算を行った。今回は、プログラミングで重要となる条件分岐のうち、if文を使ったものについて説明を行ってみたい。
Programming

Xcodeの移行でも一悶着あり

iOSやmacOSの開発を行っていると、毎年1回は避けては通れないことがある。それが、新しいバージョンへの移行である。これは必ずと言っていいほど経験するが、その際にバグに悩まされるというのが往々にしてある。