TIPS

IT/Computer

ClamAVのアップデートミラーを追加する

ClamAVが死んだ?では、ClamAVの不具合情報を公開していただけだったが、その対処法がわかったため、以下に列挙してみたい。なお、今回はDebian GNU/Linux (Jessie)での対応方法であるため、それ以外のディストリビュー...
IT/Computer

git-svnの利点と難点

アプリなどの開発でバージョン管理を行う際、なんらかの理由でSubversionを使う場合があるが、この際にgit-svnを使う場合もあり得る。この場合、それぞれに利点と難点があることから、それを踏まえた上で使い分けたいところである。
C/C++

C言語におけるswitch文の落とし穴

C言語におけるswitch文の扱いは要注意である。これを想定して書いたつもりが、実際にはありえないことになってしまうこともあるからである。
Bug

長らくDebianのサーバーが自動更新できていなかったことが判明

これまで、このブログを運用しているサーバーについて、自動更新をかけているはずなのに、実際にはかかっておらず、手動で更新をする羽目になっていた件について、ようやく原因を特定できて、更新できるようになった。
IT/Computer

転ばぬ先Composer

これは開発でとっさの判断として行ったことだが、PHPでは外部のライブラリーを使う時にComposerが便利な時がある。ComposerはiOSアプリで言えばCocoaPodsみたいな存在といえる。
C/C++

ポインタ演算の型にunsigned long型を使ってはいけない

C言語やC++において、ポインターのアドレスを計算する際などに整数に変換する際に往々にしてunsigned long型が使われれることがあるが、これは絶対に行ってはならない。それを行ってしまうと、環境によっては正常に動かないことがあるからで...
C/C++

C言語の論理型は要注意

C言語では論理値の扱い方に要注意である。C言語では厳密には論理型はなく、実際には整数値であたかも論理型を表現しているからである。
C/C++

関数プロトタイプ宣言は忘るべからず

C言語やC++でプログラミングを行う場合、関数のプロトタイプ宣言はちゃんと行わなければならない。さもないと深刻なバグに悩まされるかもしれない。
iOS

Info.plistで制御コードが入っていると・・・

これは通常ではありえないことであるが、iOS/OS Xのアプリ申請時に使用するInfo.plistに意図せぬ制御コードが入っていると申請が通らない問題が発生する。
C/C++

C言語で気をつけなければならないコードの例 – 配列外参照編

C/C++の配列は要注意で以前挙げたことがあるが、C言語やC++においては、(独自ライブラリーを使っていない通常配列で、なおかつ一般的な環境においては)配列外参照をしても問題ないように動いてしまうという問題を持っていることは簡単に説明した ...
C/C++

AddressSanitizerが思った以上に優秀

memcpyでアドレスオーバーラップさせると・・・で少しだけ言及したが、gcc4.8以降あるいはclang 3.1以降ではAddressSanitizer(略称ASan)が使えるようになっている。また、Xxode 7以降ではビルドスキーマの...
C/C++

memcpyでアドレスオーバーラップさせると・・・

memcpyで配列のアドレスをオーバーラップした場合、意図せぬ動作を引き起こすことがある。それは非常に厄介な問題を孕んでおり、通常では見つけることも困難になることも予想される。
Mac

Safariで検索バーが出ない時の対策法

時折、Safariで原因不明のバグが出るときがある。システム的にはそこまで致命的ではないのだが、非常に不便なバグである。それが、検索しようとして「Command+F」キーを押しても検索バーが表示されないというバグを踏んだときである。
C/C++

C++プログラミング入門番外編 – std::functionとラムダ式

これまでC言語及びC++の入門に関連する情報を色々書いてみたが、今回は番外編としてC++11以降特有の機能を使ってみたい。
C/C++

C/C++の配列は要注意

C言語およびC++の配列は他の言語と比較して使用するには気をつけなければならないことがある。配列外参照は特に要注意で、他の言語の多くではランタイムエラーが発生して処理が止まるが、C言語やC++では一見すると正常に動いているように見えてメモリ...
C/C++

平成27年度秋季の基本情報技術者試験のC言語の設問にひどいコードがあるらしい

平成27年度の基本情報技術者試験の午後の問題のうち、C言語の設問にひどいコードが出ているとのことである。当方もIPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2015、平成27年)の基本情報技術者試験 平成27...
C/C++

enumをキーとしたポインター配列を使った時にクラッシュする際の一時しのぎ

これは当方が実際に遭遇したことだが、任意のクラスポインターをenumのキーを使って格納している配列で、一部環境で動作させた時に原因不明のEXC_BAD_ACCESSが発生してクラッシュするという問題に直面した。思った以上に厄介な問題で、根本...
iOS

2016年からAPNSデバイストークンが長くなる点は要注意

これまでiOS 9/El Capitan/Xcode 7以降で要注意箇所、App Transport SecurityのTLS要件が思った以上に厳しかった件、Xcode 7ではデフォルトでビルド時にビットコードが含まれる ((実際にはiOS...
Bug

またサーバーのメンテナンスで時刻ずれ発生

Windows 10 Homeの値上げの公開が予定より大幅に遅れた原因だが、まんま記事の投稿予約時間を過ぎても公開されないと思ったら、サーバーの時計が遅れてたで言及していた時刻ずれ問題が再発しているのを確認した。
iOS

iOS9 SDKではUIGestureRecognizerのターゲットに弱い参照を使っている?

どうやらiOS9 SDKではUIGestureRecognizerのtargetを内部的には弱い参照に切り替えているようだ。そのため、何らかの形でtargetに弱い参照を禁止したクラスをセットするとクラッシュが発生する模様である。