2015-01-01から1年間の記事一覧

簡易ログ解析

はじめに ウェブサービスをはじめとしたサーバを伴うアプリの運用では、ログの解析が必要となる場面が非常に多くある。 KPI などの集計の他、障害時対応で、限られた時間でアクセスログから目的のデータを抽出しなければならない、といったエンジニアとして…

NSTextViewの末尾に文字を追加する方法

NSTextViewに文字列を追加しようと調べると、 func insertText(_ insertString: AnyObject) が見つかる。 だが、このメソッドは OS X v10.11 で deprecated となっていて、使うべきではない。 NSTextInputClient NSTextViewのリファレンスを見ると、NSTextVi…

SwiftでC++のコードを使う方法

SwiftでC++のコードを使う場合、Objective-C++でラップして呼び出す必要がある。具体的には以下の手順が必要となる。 C++ファイル、C++ヘッダファイルを作成 C++をラップするObjective-C++ファイル、Objective-C++ヘッダファイルを作成 ObjectiveC++ブリッジ…

スマホネイティブゲームのチート対策

はじめに オンラインゲームの開発では、常にチート対策を考えなければならない。 特にスマホネイティブゲームの場合、クライアント解析、通信改竄、サーバ脆弱性への攻撃と、ブラウザゲームと比べてもアタックポイントの範囲が広く、常にチート、及びセキュ…

Arduino Ethernet Shield 2

Arduino みたいなガジェットは、とにかくインプットとアウトプットの豊富さ、そしてその組み合わせによって実現できるユースケースが重要で、むしろそれが全てだと思う。 この点、インターネットへの接続というのは、入力においても出力においても最大のリソ…

HTTPサーバを作る

きっかけ 最近、HTTPサーバを作っている。 と言っても、商用利用を考えているわけではなくて、学習目的だ。 何事も理解したいと思ったら自分で作ってみるのが一番だし、学習にはなるべく低レイヤーの方が良い。 明確にゴールを決めているわけではないけど、…

Homebrewが壊れたら

はじめに OS X のパッケージマネージャーといえば、もちろん Homebrew だ。 Homebrew — OS X用パッケージマネージャー開発ツールの管理を非常に便利に行うことができる。ところが、この Homebrew、ふとした拍子によく壊れる (気がする) 。 特に、OS のアップ…

nginxのリバースプロキシ設定

はじめに nginxは、Webサーバであると同時にリバースプロキシとしても使用することができる。 例えば 静的コンテンツはそのままnginxで返し、動的な処理はapacheへ回す フロントにnginxを配置し、LoadBalancerとしてリクエストを各Webサーバへ振り分ける と…

PHP5.6へZend APCuをインストールする

はじめに PHPではオペコードのキャッシュに、ver5.4まではAPC (Alternative PHP Cache)、ver5.5からはOPcacheが採用されている。 OPcacheはAPCに比べパフォーマンス面での改善が図られているが、逆にAPCでは可能だった、コードキャッシュ以外の任意のデータ…

Makefileでワイルドカードを使う方法

はじめに 最近、C言語でコードを書くことが多く、頻繁にmakeコマンドを使っている。 ただ、単純な設定だと、ファイルを追加するごとにMakefileにもファイル名を追記しなければならず、この操作が大変煩わしい。 そこで、Makefileの勉強を兼ねて、これを自動…

ミニ四駆ラップタイマーを作った

きっかけ 前回ミニ四駆のコースを自作したので、Arduinoでラップタイマーを作った。 ミニ四駆をチューンアップする時の指標にしたい。youtu.be以下のようにシリアルモニタにタイムが記録される。 作り方 用意するもの 今回使ったのは、Arduino Unoと超音波セ…

ミニ四駆のコース制作

きっかけ ミニ四駆を思い切り走らせたい! と思い、早2年。 何度もコースを買おうと思いながら、お金だったり設置場所だったりの都合がつかなくて、なんだかんだ躊躇してきた。 それならば自作だ!と思い、調べてみると、軒並み材料費1,000円、作業時間6〜7…