Javascript
Node.jsは入出力関連の処理を非同期で行ないます。入出力イベントが非同期で実行されることで、遅い入出力処理の合間に他の処理を挟んで効率的にプログラムを実行することができます。この特長を活かすため、ライブラリに含まれる関数も非同期的に実行される…
OpenCV、インストール難しすぎじゃね? 前回の記事で blog.honjala.net Node.jsでOpenCVを使うことに成功したわけですが、 OpenCVはとにかくインストールでうまくいかないことが多くて、 Macでどうにかうまく動いてもLinuxにインストールしようとすると また…
画像処理で遊びたいな、と思い立ったので、 以前PythonとOpenCVで作成した画像線画化スクリプトを Node.jsで作成しなおしてみました。 blog.honjala.net OpenCVはPythonと使うのがやはり一番使いやすいのですが、 Javascript用APIも提供されているので、 Web…
プログラマの仕事は、人が行う作業を代わりに行なってくれるプログラムを書くことであり、それはつまるところ「作業を自動化」することだ。 長くプログラマをやってると忘れちゃうけど、 コマンドプロンプトを開いてコマンドを実行するのは、 プログラマ以外…
子どもたちがマインクラフト(iOS版)にはまっており、一緒に遊んだりしている。 クリエイティブモードで一緒にわーわー言いながら街や建物を作るのはなかなか楽しい。 楽しいのだけど、 ちまちまブロックを置いていくのはそろそろ飽きてきたので、 ビャーっと…
苦労したのでメモ。 Node.jsでのデータベース操作にはいつもknexを使用していて、 Knex.js - A SQL Query Builder for Javascript knexはSQLServerにも対応しているのだけど、 そこで使用されているmssqlパッケージがWindows認証には対応していないのか、 う…
以前作成した映画情報取得用スクリプトのように blog.honjala.net 定期的に実行したいスクリプトを作成した場合、 そのスクリプトをどこで動かすか、というのが悩みどころになる。 いくつか方法はあるのだけど、 ローカルのPCでタスクスケジューラなりcronな…
Javascript と Node.js を使ってあれこれ自動化する記事が増えてきたので、 目次としてまとめておく。 blog.honjala.net blog.honjala.net
最近素晴らしいことに家族内でSlackを使ってやりとりするようになった。 せっかくなので何かボット的なものを作ろう、ということで 昔Clojureで作った、 「映画情報をスクレイピングして通知する」スクリプトのNode.js版を作って、 定期的にSlackに通知する…
会社の自分のPC(Windows)で何かを定期的に実行したいときは だいたいPythonなりnode.jsなりでスクリプトを書いて タスクスケジューラに登録しておく。 のだけど、 タスクスケジューラは未ログイン時に実行しようとすると ログインアカウントを登録しておく必…
数当てゲーム、マインスイーパーに続き、Vue.jsでこども向けゲームを作る。 もう少し動きのあるゲームが作ってみたいので、 今回はボールが跳ね回るブロック崩しゲームに挑戦する。 これまでに作ったゲームは初期処理で何か答えを生成しておいて、 あとはユ…
node.jsでデータ収集のためのWebスクレイピングを行う。 Webスクレイピングの流れというのはだいたい決まっていて、 WebページにアクセスしてHTMLを取得する 取得したHTMLの中から必要なデータを抽出する 抽出したデータを保存する の3段階となる。
ぼくが仕事でLinuxサーバ環境に接続して行う操作というのはだいたい決まっていて、 コマンドでサーバの状態を確認 ログをファイル出力してダウンロード サービスの設定変更と再起動 SSHトンネル経由でDBアクセス のうちどれかを行うことが多い。 基本は手作…
Vue.jsでこども用ゲーム作成シリーズ第3弾。 前回作ったマインスイーパーは、ゲームルール自体の中毒性のおかげか、 たまにプレイしてくれてるようで作った甲斐があった。 blog.honjala.net 飽きないうちに次のゲームを作成しておこう、ということで 今回は…
前回作った数当てゲームがこどもに好評だったので、 blog.honjala.net 次はもう少し複雑なマインスイーパー作成に挑んでみた。 数当てゲームはシンプルすぎて2秒で飽きられたけど、 マインスイーパーならしばらく遊んでくれるにちがいない。 今回は前回使っ…
料理人の子がパパにおいしい料理を作ってもらえるように、 うちの子も何がしかプログラマの子としてのメリットを受けて然るべきではないか、 と急に思い立ち、子供用のゲームを色々作ってあげよう! と燃えてきたので、すぐ作れそうな「数当てゲーム」を作っ…
Webアプリを開発する際、 最近の多くのテンプレートエンジンはHTMLをレイアウトや部品に分割して作成し、 それをextendしたりincludeしたりして1つのHTMLとして出力できるようになっている。 部品化することで、ヘッダーとかメニューとかフッターとか、 複数…
正月休み、帰省した実家で娘たちがかるた遊びにハマり、 ほぼ毎日祖母やいとこと遊んでいた。 楽しそうだし、瞬発力やら記憶力やらが鍛えられそうで大変良い。 大変良いのだけど、 かるた遊びの困ったところは、プレイヤー以外に読み手が必要だというところ…
YouTubeでお気に入りに入れた動画のタイトルを一覧化して見たくなったので、 YouTube Data API経由でデータを取得して表示するNode.jsスクリプトを作ってみた。 APIへのアクセス自体はサクッとできたのだけど、 複数ページデータを非同期で取得するフローの…
例えば商品のランキングを手動で管理する場合、 商品データに並び順のようなものをつけてその順序で表示すると思うのだけど、 並び順を設定するUIをどのように作るのが良いか。 近いうちに作る機会がありそうなので、考えてみる。 ReactやVue.jsを使う機会は…
Pythonを堪能したのでJavascriptに戻ってきた。 JavascriptでPythonのジェネレータみたいな機能はないのかな、 と調べてみると、ES6(ES2015)で追加され、Node.jsはES6対応済みらしい。 そういえばES5もES6もよく調べたことないな、と思って 調べてみると、便…
サーバが重いけどどこを直せばよいか分からないから調査してくれー、と Tomcatのでかいアクセスログファイルを渡されたので、 とりあえずデータベースに入れて調査してみるべ、と ログファイルの内容ををデータベースに取り込むスクリプトを書いてみた。 Nod…
Javascriptライブラリの中でも、 Underscore.jsが大変気に入っている。 Underscore.js each、filter、map、reduce等 リスト操作、マップ操作関連の関数が 100以上含まれたユーティリティライブラリで、 他の言語にあってJavascriptにもあったらいいのにな、 …
特定のWebサイトを定期的にチェックして特定のキーワードが含まれていたら 通知してくれる仕組みを1つ覚えておくと色々重宝する。 例えば 会社に社員用Webサイトがあるなら、 (そしてそのサイトがRSSもメール通知も提供してないなら) そこに「重要」とか「…
どうせ自動化するなら完全自動化したいよね、 ということで今回は作成したGruntスクリプトを Windowsの起動時や毎日の決まった時間に実行できるように タスクスケジューラに登録する方法を紹介する。 この記事はGruntを実行する環境が整っていることを前提と…
コミュニケーションというのはなかなか難しいもので、 「急いで確認したいから資料ができたら共有フォルダに入れて、すぐ連絡してよ」 と強めに伝えても、 資料はとっくにできてるのに やれ後で連絡するつもりだっただの、 もうちょっと確認してから連絡する…
文字列を検索したりマッチしたものを置換したり、という作業は 技術者が制作・開発する時だけでなく、例えばExcelやWordで文書を編集する際や Webページ内で目的の文章を探したりする場合にも行うもので、 「作業の効率化」という点では欠かせないものだ。 …
前回書いたNode.js入門記事の続き。 blog.honjala.net 前回から引き続き、 いかにプログラムの勉強無しで自動化できることを増やすか、 もとい、 いかに他部署のノンプログラマに自動化ツールを使わせて自分への作業依頼を減らすか、 をマイテーマに少しずつ…
これまでいくつかの記事でNode.jsを使ったスクリプトを載せてきたが、 自動化のためのスクリプトを書いて動かす環境として Node.jsは手軽だし速いし色々ライブラリは揃ってきているし なかなか良い環境だと感じている。 Web系の仕事をしていればJavascriptは…
仕事でチーム間のコミュニケーションツールとして使い始めたチャットワークだが、 最近は「いろんなサービスやスクリプトからの通知を集めるツール」としての利用がメインになってきている。 www.chatwork.com 以前記事にした、 「Subversionのコミット情報…