読者です 読者をやめる 読者になる 読者になる

ほんじゃら堂

めんどくさがりやのための仕事自動化レシピ紹介

Node.jsで大容量ログファイルをデータベースに登録する

IT系・技術系 Javascript nodejs

サーバが重いけどどこを直せばよいか分からないから調査してくれー、と

Tomcatのでかいアクセスログファイルを渡されたので、

とりあえずデータベースに入れて調査してみるべ、と

ログファイルの内容ををデータベースに取り込むスクリプトを書いてみた。

Node.jsのStreamを全然理解してなかったので、よい勉強になった。

続きを読む

Underscore.js で文字列内の文字別出現回数を数える

Javascript nodejs IT系・技術系 ライブラリ

Javascriptライブラリの中でも、

Underscore.jsが大変気に入っている。

Underscore.js

each、filter、map、reduce等

リスト操作、マップ操作関連の関数が

100以上含まれたユーティリティライブラリで、

他の言語にあってJavascriptにもあったらいいのにな、

と思うようなものをいい具合に用意してくれている。

作業効率化のための一括処理には欠かせないライブラリだ。

今回はUnderscore.jsに含まれるcountBy関数を使って

文字別出現回数取得関数を作ってみる。

続きを読む

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

IT系・技術系 Javascript nodejs スクレイピング grunt

f:id:piro_suke:20160501015354j:plain

特定のWebサイトを定期的にチェックして特定のキーワードが含まれていたら

通知してくれる仕組みを1つ覚えておくと色々重宝する。

例えば

会社に社員用Webサイトがあるなら、

(そしてそのサイトがRSSもメール通知も提供してないなら)

そこに「重要」とか「人事」とかのキーワードを含む記事が投稿された時に

通知を受け取れるようにしておけば、

いちいちサイトをチェックしにいかなくても

逃さず確認できる。

また、Webスクレイピングする方法を覚えておけば、

通知を受け取る以外にも、

画面キャプチャの撮影や画像やテキストの収集を

自動化したり、作成したWebシステムの画面テストを行う、

等の応用もしやすくなる。

今回は Node.js + Grunt + cheerio-httpcli を使用して

手軽にWebサイトのデータをチェックする方法を紹介する。

続きを読む

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

grunt IT系・技術系 Javascript 自動化 通知自動化

f:id:piro_suke:20160422003356j:plain

どうせ自動化するなら完全自動化したいよね、

ということで今回は作成したGruntスクリプトを

Windowsの起動時や毎日の決まった時間に実行できるように

タスクスケジューラに登録する方法を紹介する。

この記事はGruntを実行する環境が整っていることを前提としているので、

未インストールの方は下記の記事を参考にしていただきたい:

blog.honjala.net

続きを読む

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

grunt IT系・技術系 nodejs 自動化

先日iPad miniとiPhone 6sを導入してから、

うちの古いルーターが2日間隔くらいで再起動しないと

通信が遅くなってネットに繋がらなくなるようになった。

どうやら新しいiPadとiPhoneはWi-fi環境だとガシガシ通信するようで、

ルーターのキャパをすぐに超えてしまうみたいだ。

ルーターを新しくすればすぐに解決しそうな話だが、

とりあえず1日1回再起動すれば快適に使えるようなので、

ルーターを再起動するスクリプトを書いてみた。

続きを読む

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

IT系・技術系 Javascript grunt 通知自動化 仕事効率化 nodejs

f:id:piro_suke:20160414001322j:plain

コミュニケーションというのはなかなか難しいもので、

「急いで確認したいから資料ができたら共有フォルダに入れて、すぐ連絡してよ」

と強めに伝えても、

資料はとっくにできてるのに

やれ後で連絡するつもりだっただの、

もうちょっと確認してから連絡するつもりだっただの、

今メール書いてただので、

一本内線をくれるだけで良いのになかなか連絡がもらえないことがある。

そんなストレスフルな行き違いは

「このやろう!」と毎回怒りを爆発させるよりも

ツールを使って解決の仕組みを用意してしまうに限る。

ということで今回は指定したフォルダを監視して、

ファイルが追加されたり更新されたりしたら

自動で通知してくれるスクリプトをつくってみたい。

続きを読む

プログラムを「読む」スキルを身につける

IT系・技術系 仕事効率化

f:id:piro_suke:20160411005004j:plain

会社の新入社員研修の事を考えていてふと思いついた。

社内で何がしかの開発を行っている場合、

全員がプログラマになるわけではない場合でも

一通りプログラムの基礎を身につけておこう、と新人研修に

プログラミング研修が含まれていることがある。

そこでは「プログラムを"書く"スキルを身につける」ことを前提として

研修を行っているわけだが、

ここで視点を変えて

「プログラムを"読解する"スキルを身に着けて活用する」

という目的で研修内容を考えてみるのはどうか。

続きを読む