TIPS

IT/Computer

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

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

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

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

Carthageという選択肢

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

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

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

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

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

clamscanとclamdscanの違い

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

homebrew-caskの仕様が変わった

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

EFIシステムパーティションがあるとWindowsのバックアップは上手くいかない

バックアップ用のHDDを買い換えて、Windowsのバックアップ ((ここではWindows 7で使われていたバックアップ機能)) をしようとしていたのだが、なぜか3TBのHDDでは上手くいかないという問題が発生、悪戦苦闘の状態となっていた...
IT/Computer

Debianでfreshclamが動かないときは

突然clamのウィルス定義ファイルが更新されなくなったという事態が発生したので、原因を確認したら、ある部分の設定が使えなくなり、それが悪さをしていてfreshclamを動かない状態にしていたということが判明した。
C/C++

std::mapの落とし穴

これは、paizaオンラインハッカソンVol.8 恋するハッカソン〜君色に染まるアイドル〜のとある問題でstd::mapを使った時に気付いたことなのだが、これは使い方に注意が必要なものである。ここではその注意点をコードを交えながら気をつけた...
C/C++

C言語の配列を0埋めするときは

C言語において、配列を自動変数として生成した時に0で埋めたいときが往々にしてあるが、その際にはどのようにすれば良いのだろうか。ここでは、その方法とそれぞれの特徴について説明を行ってみたい。
IT/Computer

Ubuntu 16.04 LTSではaptitudeがデフォルトでインストールされない

これは実際に使ってみて気づいたことなのだが、Ubuntu 16.04 LTSではデフォルトでaptitudeがインストールされない。したがって、普段aptitudeを使ってパッケージ管理をしていたユーザーはUbuntu 16.04 LTSを...
IT/Computer

defineとプロパティーの使い分け

これはあくまでライブラリーを開発する方向けなのだが、何らかの方法で特定の機能を有効化/無効化できるようにする際に、C言語においてはdefineを使う方法とプロパティー ((C/C++ではプロパティーそのものはないので、メンバー変数及びそのア...
IT/Computer

「rm -rf /」が行われるようなプログラムは極めて危険

『レンタルサーバー業者、「rm -rf /」で誤って全サーバーのデータを削除』(businessnewsline)によれば、某レンタルサーバー業者の従業員が誤ってrm -rf /コマンドを入れてしまって全データが削除されてしまうという事態が...
IT/Computer

メモリーを増設しただけで快適になるパターンは割とある

PCに詳しくない人はわかりづらいのかもしれないが、PCのメモリーを増設しただけでかなり快適になるケースは往々にしてある。特に、今使っているPCが重いと感じた時はメモリーを増設あるいは交換してみるというのも検討すると良いだろう。
IT/Computer

Xcode 7.3でweakポインターの扱いが変わった模様

これはSBJson 3.0.4 ((SBJsonとしては非ARCの最終バージョン、それ以降はARC対応)) を組み込んだプロジェクトをXcode 7.3でビルドしようとして組み込んだSBJsonのビルドが通らないという問題に直面したことで気...
IT/Computer

シェルスクリプトでHomebrewのパッケージをアップグレードする

今回はHomebrewのパッケージをシェルスプリプト一発でアップグレードする方法を伝授してみたい。