ほんじゃらねっと

ダイエット中プログラマのブログ

Pythonのジェネレータを使って大容量ファイルを分割する

過去に下記のような、ファイルを複数に分割する方法について記事を書いた: blog.honjala.net この記事に書いたコードをもう少しエレガントに書けないものか、 と方法を調べていて、 Pythonのジェネレータが使えそうだったので色々試してみた。

PythonでSSHトンネリングしてデータベースアクセス

稼働中のWebアプリのデータベースに定期的にアクセスして データの状態をチェックしたい、でもデータベースには 外部から直アクセスできないようになっているので、 SSHトンネル経由でないとアクセスできない、という場合。 A5:SQLなりpgAdminなり最近のDBア…

Pythonでgrep風にディレクトリ内のファイルを検索する方法(Python3対応&機能追加版)

だいぶ前に書いた下記の記事 blog.honjala.net の内容がPython3で動かないようなので、 Python3対応しつつ、もう少し使えるように書きなおしてみる。

SQL Serverから出力したrptファイルを使いやすいようにcsvファイルに変換する【Python】

SQL Serverからエクスポートしたrpt形式ファイルを渡され、 CSVに変換してくれと依頼される。 「あれ、SQL Server Management Studioに 直接CSV出力する機能ありませんでしたっけ?」 と確認しても「しらん。やれ。」と言われる。 そんなよくある状況で助け…

ボケてきたのかタイムカードの打刻を忘れてしまうので、打刻漏れ防止用チェックプログラムを作成した

毎朝出社時に社員カードで入室し、 入室したのと同じカードで出勤打刻をするのだが、 入って数歩のところにタイムレコーダーが置いてあるにも関わらず、 打刻が漏れることがある。 どうやら、 雨の日に途中で傘を置いたり(傘立てはドアとタイムレコーダーの…

PostgreSQLにサクッとテストデータを登録するPythonテンプレ

Python手軽でいいね、ってことで 最近はJavascriptよりもPythonでスクリプトを書いている。 今日もパフォーマンステスト用に大量データを登録する必要があったので SQLAlchemyを使ってスクリプトを書いてみた。 Python3で動作確認済み。

iPythonでコマンド履歴ログ出力を自動化する

たまにはPythonを使っておこう、 ということでここ数日シェル環境としてiPythonを使っている。 Jupyter and the future of IPython — IPython ほぼPython言語としての機能は使っていないのだけど、 ちょっとした計算をしたりするにはなかなか便利だ。 せっか…

Node.jsでメモリを使い切らずに大容量ファイルを読み込んでデータベースに登録する方法

サーバが重いけどどこを直せばよいか分からないから調査してくれー、と Tomcatのでかいアクセスログファイルを渡されたので、 とりあえずデータベースに入れて調査してみるべ、と ログファイルの内容ををデータベースに取り込むスクリプトを書いてみた。 Nod…

便利なリスト・マップ操作関数を提供してくれるUnderscore.js を使ってJavascriptで文字別出現回数を数えるスクリプトを作成する

Javascriptライブラリの中でも、 Underscore.jsが大変気に入っている。 Underscore.js each、filter、map、reduce等 リスト操作、マップ操作関連の関数が 100以上含まれたユーティリティライブラリで、 他の言語にあってJavascriptにもあったらいいのにな、 …

Node.jsでWebサイトの更新チェックを自動化する

特定のWebサイトを定期的にチェックして特定のキーワードが含まれていたら 通知してくれる仕組みを1つ覚えておくと色々重宝する。 例えば 会社に社員用Webサイトがあるなら、 (そしてそのサイトがRSSもメール通知も提供してないなら) そこに「重要」とか「…

WindowsのタスクスケジューラからGruntスクリプトを起動する方法

どうせ自動化するなら完全自動化したいよね、 ということで今回は作成したGruntスクリプトを Windowsの起動時や毎日の決まった時間に実行できるように タスクスケジューラに登録する方法を紹介する。 この記事はGruntを実行する環境が整っていることを前提と…

一日使い続けるだけで通信速度が低下する古いルーターを毎日再起動させるNode.jsスクリプト

先日iPad miniとiPhone 6sを導入してから、 うちの古いルーターが2日間隔くらいで再起動しないと 通信が遅くなってネットに繋がらなくなるようになった。 どうやら新しいiPadとiPhoneはWi-fi環境だとガシガシ通信するようで、 ルーターのキャパをすぐに超え…

Node.jsとGruntでフォルダ監視ツールを作る

コミュニケーションというのはなかなか難しいもので、 「急いで確認したいから資料ができたら共有フォルダに入れて、すぐ連絡してよ」 と強めに伝えても、 資料はとっくにできてるのに やれ後で連絡するつもりだっただの、 もうちょっと確認してから連絡する…

新人にはまずプログラムを「読む」スキルを身につけていただきたい

会社の新入社員研修の事を考えていてふと思いついた。 社内で何がしかの開発を行っている場合、 全員がプログラマになるわけではない場合でも 一通りプログラムの基礎を身につけておこう、と新人研修に プログラミング研修が含まれていることがある。 そこで…

【Windows】フォルダ内のファイル名一覧を簡単に作成する方法

後輩に教えてあげたら喜ばれたので、 1つの作業効率化方法として書いておく。 資料を作成する際、特定のフォルダに入っているファイルの一覧を Excelに貼り付けたりしたい場合がある。 しかし、エクスプローラではファイル一覧を見ることはできるが、 それを…