ftpクライアントを実装してみる

まとまった時間ができたので、ちょっと前からやろうと思っていましたftp clientの実装に取り組んでみました。 とりあえず形にしようというところまでを着地地点として仕上げたので、本当にftpのみの実装になっています。 引き続きftpsなどの実装を拡張して行きたいと思います。 実装した感じとしては、ftp自体は非常にシンプルなプロトコルだなと。 C実装ではすでにTCP/IPを利用するためのライブラ … 続きを読む ftpクライアントを実装してみる

SeleniumのStaleElementReferenceExceptionに対応する

概要 Selenium (javaAPI) を用いてスクレイピングを実施しするような仕組みを作っていたところタイトルにもあるエラーに遭遇した (そうでなくてもSeleniumはなれるまでなかなかピーキーな動きをするときもあるが) 厄介なことに毎回必ず同じタイミングで発生するわけでもなく、その発生はかなり不定期である。 実施しているスクレピング処理においては、条件を引き起こすページすら一致せずにどの … 続きを読む SeleniumのStaleElementReferenceExceptionに対応する

MVCというデザインパターンはもはや十分ではない

概要 今さら私が提示するような話でもないほど同じような話はネット上に腐るほど存在しているだろう。 にも関わらず不思議とシステム開発の現場レベルで見てみると、昔と変わらない手法をずっと続けていたり、また優秀なアーキテクトに恵まれていない現場などはひどく絡みあったコードと格闘していることは多い。 改めて近代的なデザインパターン・アーキテクチャとは何かということについて自分なりに詰めてみようと思う。 初 … 続きを読む MVCというデザインパターンはもはや十分ではない

osxでsshにて公開鍵認証を行っていてkeychainにパスワードを毎回聞かれる際の対応

なんてことはない小ネタですが、備忘録として 対応としては秘密鍵に対応する公開鍵が存在していないことが原因のようです。 keychainの仕様と言ってしまえばそれまでですが、公開鍵を ~/.ssh ディレクトリ内部に保存することで対応できました。 ~/.ssh/configを確認したりssh-addを明示的に実行したりといろいろ試しましたがやはり公開鍵がなければ駄目なようです。 公開鍵がないという場 … 続きを読む osxでsshにて公開鍵認証を行っていてkeychainにパスワードを毎回聞かれる際の対応

【AD】フリーランスを応援します

何度か本ブログでも取り上げていますが、自分の腕で生き抜いていきたいと考えているエンジニアほど、独立すべきだと思っています。 とはいえ不安、何をどうしたら良いかわからない。など悩みは尽きないと思います。 そんなあなたに、とりあえず相談してみることからオススメします。 今の仕事をすぐ変える必要はなく、リスク無しでフリーランスのライフスタイルを明確にすることができます。 私のオススメは断然下記の「株式会 … 続きを読む 【AD】フリーランスを応援します

scalikejdbcでmysqlとの通信時のCommunicationsExceptionに対処する

概要 scalaアプリケーションを作成している際に下記のような例外が発生しているケースがありました。 今回はこのエラーの原因とその対処についてまとめたいと思います。 ちなみにタイトルにはscalikejdbcと記述してありますが、原因分析についてはmysqlを使用していれば例外なくほぼ同じことが原因であることが多いです。 またアプリケーションについてもscalaといわず、javaを用いていれば同じ … 続きを読む scalikejdbcでmysqlとの通信時のCommunicationsExceptionに対処する

mac osx におけるファイルディスクリプタの上限

概要 mac osxでmysql5.7.11を用いてアプリケーション開発を行ったところ、特定の動作をした時点でアプリケーションが動作しなくなる現象に直面した。 mysqlのエラーログを確認してみると下記のようなエラーが出ていることが確認できた。 開発にともなって行った「特定の動作」とはmysqlにおいて、あるテーブルにpartitioningを適用したことである。それも結構な数の。 なるほどmys … 続きを読む mac osx におけるファイルディスクリプタの上限

nginxでbasic認証をhtaccessライクに設定できるモジュールを作成しました

今回nginxにてbasic認証を取り扱うファイルを公開ディレクトリに設置することで解釈してくれるモジュールを作成しました。 githubにて公開してあります。 このモジュールの振る舞いは端的にいうとapacheでいう.htaccessファイルに等しいです。 (機能的には認証のみに限定しておりますが) インストール方法や設定ファイルのシンタックスなどについてはgithub上に公開してありますので参 … 続きを読む nginxでbasic認証をhtaccessライクに設定できるモジュールを作成しました

nginx拡張モジュールをアップデートしました

先日作成しましたnginxの拡張モジュールを更新しました。 (前回の更新はこちらになります) 前回の拡張ではunixのshared memory segment上にデータを展開するようにしました。 これによって各プロセス間でユーザからのアクセス情報を共有できるといったものでした。 今回の対応では更にネットワーク上で構成された複数のnginxサーバでもデータを共有することを目的として、ネットワーク上 … 続きを読む nginx拡張モジュールをアップデートしました

nginx拡張モジュールを作りました

nginxの拡張モジュールを作成してgithubにて公開しました。 DOSのような攻撃的なアクセスを制御するようなモジュールで、指定時間に指定回数のアクセスを検知すると、任意の時間403を返却するようになります。 正確に言うと以前から公開していたものなのですが、改良を加えております。以前のものはprocess固有の領域にユーザのアクセス情報を格納していたのですが、これだとworker proces … 続きを読む nginx拡張モジュールを作りました

東南アジアで活動するエンジニアブログ。技術的なトピックをメインに。