タグ

ブックマーク / blog.honjala.net (138)

  • 一日使い続けるだけで通信速度が低下する古いルーターを毎日再起動させるNode.jsスクリプト - ほんじゃらねっと

    先日iPad miniとiPhone 6sを導入してから、 うちの古いルーターが2日間隔くらいで再起動しないと 通信が遅くなってネットに繋がらなくなるようになった。 どうやら新しいiPadiPhoneWi-fi環境だとガシガシ通信するようで、 ルーターのキャパをすぐに超えてしまうみたいだ。 ルーターを新しくすればすぐに解決しそうな話だが、 とりあえず1日1回再起動すれば快適に使えるようなので、 ルーターを再起動するスクリプトを書いてみた。 幸いうちのルーターはWebブラウザで操作できる管理画面を持っており、 BASIC認証でログインして特定のURLを叩くと再起動できるので、 httpアクセスするスクリプトを書いて毎晩実行されるように 定期処理の設定をしておけば自動化できそうだ。 ついでに、ちゃんと定期処理が実行されてるか確認できるように 再起動前に「これから再起動しますよ」という通知を

    一日使い続けるだけで通信速度が低下する古いルーターを毎日再起動させるNode.jsスクリプト - ほんじゃらねっと
    piro_suke
    piro_suke 2016/04/19
    はてなブログに投稿しました #はてなブログ すぐ通信速度が低下する古いルーターを毎日再起動させるNode.jsスクリプト - ほんじゃら堂
  • Node.jsとGruntでフォルダ監視ツールを作る - ほんじゃらねっと

    コミュニケーションというのはなかなか難しいもので、 「急いで確認したいから資料ができたら共有フォルダに入れて、すぐ連絡してよ」 と強めに伝えても、 資料はとっくにできてるのに やれ後で連絡するつもりだっただの、 もうちょっと確認してから連絡するつもりだっただの、 今メール書いてただので、 一内線をくれるだけで良いのになかなか連絡がもらえないことがある。 そんなストレスフルな行き違いは 「このやろう!」と毎回怒りを爆発させるよりも ツールを使って解決の仕組みを用意してしまうに限る。 ということで今回は指定したフォルダを監視して、 ファイルが追加されたり更新されたりしたら 自動で通知してくれるスクリプトをつくってみたい。 以前別の記事で紹介したNode.jsのタスクランナー、Gruntを使えば 割と簡単にファイル監視ツールを作ることができる。 blog.honjala.net 「grunt-

    Node.jsとGruntでフォルダ監視ツールを作る - ほんじゃらねっと
    piro_suke
    piro_suke 2016/04/14
    はてなブログに投稿しました #はてなブログ 共有フォルダを監視してファイルが変更されたらすぐ通知してくれるツールを作る【Node.js & Grunt】 - ほんじゃら堂
  • 新人にはまずプログラムを「読む」スキルを身につけていただきたい - ほんじゃらねっと

    会社の新入社員研修の事を考えていてふと思いついた。 社内で何がしかの開発を行っている場合、 全員がプログラマになるわけではない場合でも 一通りプログラムの基礎を身につけておこう、と新人研修に プログラミング研修が含まれていることがある。 そこでは「プログラムを"書く"スキルを身につける」ことを前提として 研修を行っているわけだが、 ここで視点を変えて 「プログラムを"読解する"スキルを身に着けて活用する」 という目的で研修内容を考えてみるのはどうか。 プログラムを読む力を身に着けることで、 例えば 営業担当者が Excelで資料作成する時に他の誰かが作成した一括変換用のVBAを ちょっと変更して自分のファイルで使えるようにしたり、 事務作業で 既存のバッチファイルやシェルスクリプトの中身をアレンジして 自分の作業効率化に活用できるようにしたり することができる。 オバマ大統領の 「これから

    新人にはまずプログラムを「読む」スキルを身につけていただきたい - ほんじゃらねっと
  • 【Windows】フォルダ内のファイル名一覧を簡単に作成する方法 - ほんじゃらねっと

    後輩に教えてあげたら喜ばれたので、 1つの作業効率化方法として書いておく。 資料を作成する際、特定のフォルダに入っているファイルの一覧を Excelに貼り付けたりしたい場合がある。 しかし、エクスプローラではファイル一覧を見ることはできるが、 それをそのままコピーしてExcelやメモ帳に貼り付けることができない。 そんな時はWindowsに付属しているコマンドを使えば 簡単にファイル名一覧を作成することができる。 「dir」コマンドと「tree」コマンドを使ったファイル名一覧の 出力方法を紹介する。 dirコマンドで指定フォルダ直下のフォルダ名とファイル名一覧を出力する どちらのコマンドも「コマンドプロンプト」で実行する。 一旦CSVファイル等にファイル名一覧を書き出してから、 それをExcel等にコピーする。 dirコマンドの場合、下記のコマンドでファイル名一覧を出力できる: dir /

    【Windows】フォルダ内のファイル名一覧を簡単に作成する方法 - ほんじゃらねっと
  • 正規表現を使ったエレガントな置換処理を学びつつ簡易なファイル名一括変換ツールを作る - ほんじゃらねっと

    文字列を検索したりマッチしたものを置換したり、という作業は 技術者が制作・開発する時だけでなく、例えばExcelやWordで文書を編集する際や Webページ内で目的の文章を探したりする場合にも行うもので、 「作業の効率化」という点では欠かせないものだ。 今回扱う「正規表現」を使った検索・置換については、 標準の機能として備えているツールやテキストエディタも多いが、 プログラマ以外には馴染みの薄いものかもしれない。 (少なくとも私に面倒な変換作業を依頼してくる人たちは間違いなく知らないと思う) 「正規表現」を全く知らない人は、 このつまらなそうな言葉を見ただけでスルーしてしまいそうだが、 使いこなせば大変強力なものであり プログラマ以外の パソコンを使用して何かしらの仕事をしている人にとっても 作業効率が劇的に上がること間違いなしの技術なので、 ここで紹介しておきたい。 正規表現とは 正規表

    正規表現を使ったエレガントな置換処理を学びつつ簡易なファイル名一括変換ツールを作る - ほんじゃらねっと
    piro_suke
    piro_suke 2016/03/31
    はてなブログに投稿しました #はてなブログ ファイル名一括変更ツールを作りながら正規表現を使った柔軟な文字列検索と置換の基本を習得する - ほんじゃら堂
  • プログラミングはしたくないけど自動化はしたい人のための、Grunt.jsによる作業自動化入門 - ほんじゃらねっと

    前回書いたNode.js入門記事の続き。 blog.honjala.net 前回から引き続き、 いかにプログラムの勉強無しで自動化できることを増やすか、 もとい、 いかに他部署のノンプログラマに自動化ツールを使わせて自分への作業依頼を減らすか、 をマイテーマに少しずつ情報をまとめていく。 Node.jsを紹介しただけでは、「Javascript…難しそう。いつかやるわ。」 となりそうなので、 今回はプログラミング要素最小限で使えるGruntを紹介する! Gruntとは Grunt: The JavaScript Task Runner Node.js上で動く、タスクランナーとかビルドツールとか呼ばれるもので、 Gruntfileと呼ばれるファイルに実行したいこと(タスク)を書いておき、 コマンドを実行すると指定したタスクを実行してくれる。 Javascriptでプログラムを書くのと何がちが

    プログラミングはしたくないけど自動化はしたい人のための、Grunt.jsによる作業自動化入門 - ほんじゃらねっと
  • 作業自動化のための Node.js 入門 - ほんじゃらねっと

    これまでいくつかの記事でNode.jsを使ったスクリプトを載せてきたが、 自動化のためのスクリプトを書いて動かす環境として Node.jsは手軽だし速いし色々ライブラリは揃ってきているし なかなか良い環境だと感じている。 Web系の仕事をしていればJavascriptはある程度親しみのある言語だろうし、 GruntやGulpのようなWeb関連作業を自動化する 機能満載のタスクランナーまで用意されている。 実行環境もインストーラをダウンロードしてインストールすれば パッケージ管理ツール付きで入手することができるので、 すぐに開発を始めることができる。 非同期処理が得意なサーバアプリケーションを作るための環境として 紹介されることが多いけど、この手軽に導入できて Javascriptでサクッとアプリが作れるところだけでも十分に価値があると思う。 ノンプログラマが仕事を効率化するためにプログラミ

    作業自動化のための Node.js 入門 - ほんじゃらねっと
  • Subversionにコミットしたらチャットワークに通知するNode.jsスクリプト - ほんじゃらねっと

    ある開発プロジェクトで、 非技術系のメンバーにも進捗を知っておいてもらいたいものの、 「お前らSubversion入れろ」とか「リポジトリログを見ろ」といっても見そうになく、 いちいち伝えるのも面倒大変そうだったので、 Subversionにコミットがあったらメッセージ内容がリアルタイムで チャットワークに流れる仕組みを作ってやった。 www.chatwork.com チャットワークはチーム間でのやりとりに使っていたので、ここに流してやろうというわけだ。 チャットワークはプレビュー版ながらAPIを公開してくれているので、 developer.chatwork.com API経由でメッセージ投稿を行うスクリプトと、 Subversionのフック機能を組み合わせることで実現することができた。 Node.jsでチャットワークのAPIにアクセスするスクリプトを作成する 今回はNode.jsでスクリ

    Subversionにコミットしたらチャットワークに通知するNode.jsスクリプト - ほんじゃらねっと
  • PHP製のWebアプリが遅い場合の基本チェック6点 - ほんじゃらねっと

    先日別のチームから、 「PHPで作成したWebアプリの速度が遅いので助けてくれー」 という相談を受けた。 対応したものの、結構時間がかかって面倒だったので、 今後こういった問題が起こった時に使えるよう、チェックリストをまとめてやった。 基的な内容だけど、 このチェックリストの内容をやってみて、それでもダメなら相談しなさい、 と伝えておくことで相談を減らすフィルタとして働いてくれるはずだ。 PHPプロジェクトに限らず、バックエンドでデータベースを使用している Webアプリのプロジェクトなら試す価値のあるものが多いはず。 調査や対応方法の手軽さ順で並べるとこんな感じ: Webブラウザのデベロッパーツールでレスポンスを計測する Webサーバ(Apache)のリクエスト時間をログに出力する ログ解析ツールでURL毎の付随リクエスト数を確認する データベースのスロークエリログを出力する プロファイ

    PHP製のWebアプリが遅い場合の基本チェック6点 - ほんじゃらねっと
  • Node.jsでRedmineのREST APIにアクセスしてチケット取得&一括登録 - ほんじゃらねっと

    とあるWeb開発プロジェクトで WBS(Excel製)に書かれた、機能ごとの開発担当・開始日・期日・予定工数を そのままRedmineのチケットとして登録するという、 手作業でやったらえらく時間のかかりそうな作業があったので、 RedmineAPI経由でチケットを一括登録できるスクリプトを作成した。 前回Bit.ly APIにアクセスするスクリプトを作って結構楽しかったので、 今回もNode.jsで作成してみる。 blog.honjala.net RedmineAPIは、管理者権限を持ったユーザーで 許可すれば、あとはユーザーごとにAPIキーを発行して REST APIが使えるようになっている。 今回のようにチケットを登録するだけでなく、 ユーザー情報を取得するようなAPIも用意されているようなので、 進捗を分析したい時なんかに使えそうだ。 APIの詳細は下記の家サイトが詳しい: w

    Node.jsでRedmineのREST APIにアクセスしてチケット取得&一括登録 - ほんじゃらねっと
  • 【Java】フリーの帳票デザインツールJasperReportsでPDF生成が超楽になった - ほんじゃらねっと

    ついこないだまでJavaでのPDF出力にはpdfboxを使っていて、 なんでPDF文書作成っつーのはこんな大変なんだ! いちいち座標で指定させるんじゃねー! PDF出力嫌い!大嫌い! となっていたのだが、JasperReportsと出会って変わった。 何とJasperReportsを使うと、 Wordの図形描画感覚でツールで帳票デザインのテンプレートが作れて、 そこにJSONやらCSVやらでデータを注入してPDFを生成することができる! 一番面倒なデザイン部分がツールでサクっとで作れる! しかもLGPL&Eclipse Licenseで業務アプリにも使える! 知らなかった…こんな便利なものがあったなんて…。 PHPで開発してた時から、PDFってのは頑張ってコーディングするものだと思ってたよ…。 誰だ最初にpdfboxを進めた奴は! お世話になったけども! ということでそんな便利なJaspe

    【Java】フリーの帳票デザインツールJasperReportsでPDF生成が超楽になった - ほんじゃらねっと
    piro_suke
    piro_suke 2016/03/09
  • 【Java】シンプルなデータベースマイグレーションツール「flyway」を導入する - ほんじゃらねっと

    新しいチームでデータベースマイグレーションの仕組みが決まっていなかったので、flywayを導入してみた。 結論としては手軽で十分使えそう。 データベースマイグレーションとは 来のマイグレーションの意味とは異なるかもしれないが、 データベースマイグレーションが実際に意味するのは、 「プログラムのバージョンとデータベース構成のバージョンを合わせること」 だと捉えている。 例えば、 あるプロジェクトで仕様変更が発生して「商品マスタに分類6カラムを追加する」ということが必要な場合、 プログラム側が対応済みでもDBの商品マスタに分類6カラムが追加されていなければプログラムは動かない。 プログラムの変更と同時にデータベース構成が変更されるようにすることではじめて動作するようになる。 自分一人で開発している場合はローカルのデータベース構成を変更して、 初期設定用SQLにカラムを追加しておくだけで良いか

    【Java】シンプルなデータベースマイグレーションツール「flyway」を導入する - ほんじゃらねっと
    piro_suke
    piro_suke 2016/03/07
    はてなブログに投稿しました #はてなブログ データベースマイグレーション用にJava製ツール「flyway」を導入する - ほんじゃら堂
  • あやとりは優雅で芸術的な遊び - ほんじゃらねっと

    娘が保育園であやとりを教えてもらっているようで、家でも自分で何か作って「みてみてー」と見せに来るのが大変微笑ましいです。 ネットで調べてみるとあやとりは国際的には芸術として扱われているらしく、ある形から別の形へとエレガントに変化させていく様を楽しむ優雅な遊びのようです。あやとりの「あや」は織物の縦糸と横糸の交差を表す「綾」を表し、ふたりで1つの糸の交差した部分を「とり」あって次々形を変えていって遊ぶものだったことから、「綾取り」と呼ばれるようになったそうです。これまでまったく興味を持ったことがなかったのに、優雅な遊びと聞くとちょっとやってみたくなりました。 ネットでも作り方を検索しつつ「ほうき」とか「三段はしご」とか「東京タワー」とかを作ってみましたが、なかなか難しいですね。説明動画を観ながら作っていても、目を離すとすぐに今の状態が分からなくなります。 でも慣れたら楽しくなりそうですね。高

    あやとりは優雅で芸術的な遊び - ほんじゃらねっと
    piro_suke
    piro_suke 2016/03/06
    はてなブログに投稿しました #はてなブログ 家庭内あやとり部に入部しました - ほんじゃら堂
  • 大阪西梅田のお気に入りランチ2 【大阪駅前第2ビル周辺】 - ほんじゃらねっと

    piro_suke
    piro_suke 2016/03/05
    はてなブログに投稿しました #はてなブログ 大阪西梅田のお気に入りランチ2 【大阪駅前第2ビル周辺】 - ほんじゃら堂
  • 大阪西梅田のお気に入りランチ【堂島アバンザ周辺】 - ほんじゃらねっと

    事務所が移転するまで通っていた西梅田周辺でよくべに行っていた、お気に入りのお店をまとめておきます。移転するといっても同じ梅田なので、また行くこともあるでしょう。 西梅田周辺は北新地もありますし、駅前第1〜4ビルやドージマ地下センターというちょっとした地下街もあり、それぞれお手軽だったり高級だったり斬新だったりと、毎日外でべてもランチの選択肢には困らないエリアです。 西梅田駅から数分のところにある堂島アバンザはジュンク堂書店大阪店が入っていて技術書が充実していたのでよく通ってました。1階には品揃えのセンスの良い文具店も入っていて、こちらもお気に入りです。 goo.gl 今回はこの堂島アバンザ周辺のお店を紹介しましょう。 「仔牛」と「程々」 tabelog.com tabelog.com 私のグループの中で通称「肉ビル」と呼ばれていた、肉料理店が集まったビルにある2軒の肉料理店です。同系

    大阪西梅田のお気に入りランチ【堂島アバンザ周辺】 - ほんじゃらねっと
    piro_suke
    piro_suke 2016/03/04
    はてなブログに投稿しました #はてなブログ 西梅田のお気に入りランチ【堂島アバンザ周辺】 - ほんじゃら堂
  • IFTTTのMakerチャンネルを使って、いろんなサービスの更新情報を通知してくれる仕組みを作る - ほんじゃらねっと

    仕事でチーム間のコミュニケーションツールとして使い始めたチャットワークだが、 最近は「いろんなサービスやスクリプトからの通知を集めるツール」としての利用がメインになってきている。 www.chatwork.com 以前記事にした、 「Subversionのコミット情報にメンバーがすぐに気づけるように通知するスクリプト」 blog.honjala.net を書いたのがきっかけで、 この仕組みを流用すればメールを汚さずにいろんな通知を一元管理できるのでは? と思いついて色々チャットワークに自動通知するスクリプトを書き始めた。 ただ通知するだけなのだけど、ボットが 「ブログのはてブが増えたよ!」とか 「AmazonKindleが追加されたよ!」とか 発言してくれることでチェックの手間が減るのが楽しい。 題 そんな時に、「IFTTTにMakerチャンネルができた」という話を聞いて、 これを使

    IFTTTのMakerチャンネルを使って、いろんなサービスの更新情報を通知してくれる仕組みを作る - ほんじゃらねっと
    piro_suke
    piro_suke 2016/02/15
    はてなブログに投稿しました #はてなブログ IFTTTのMakerチャンネルを使っていろんなサービスの更新情報をチャットワークで通知する仕組みを作る - ほんじゃら堂
  • PostgreSQLで2つのリスト間の類似度を算出する方法を考える - ほんじゃらねっと

    あるリストを元に、それと似た内容を持つリストをデータベースの中から探したい、 というケースはいくつか考えられる。 例えば、 いくつかの商品を組み合わせて作ったセット商品のうち、今見ている商品と同じような構成のものを探す SNSで自分と同じようなフレンド構成を持つユーザーを抽出して自分と似たユーザーを探す あるユーザーの購入履歴を元に同じような購入履歴を持つユーザーを抽出し、それらのユーザーが買っていてまだ買っていない商品をレコメンドする 基となるのは、 リスト同士を比較してその類似度を元に並べ替えてより類似したものを見つける、 ということだと思うのだけど、実際どのように実装されているのだろうか。 上記の例はどれもデータがどんどん増えていくので、 あらかじめリスト間の類似度を算出しておく、ということはできそうにないし、 データが増える度に既存のリストとの類似度をチェックして保存しておく、

    PostgreSQLで2つのリスト間の類似度を算出する方法を考える - ほんじゃらねっと
    piro_suke
    piro_suke 2016/02/11
  • ほんじゃらねっと

    2021-01-29 RustVueで百人一首特訓Webアプリを作る プログラミング アプリ・ゲーム Rust たまに親子で百人一首で遊ぶのですが、最近長女がメキメキ力をつけてきてなかなか勝てなくなりました。 遊んでいるだけでどんどん歌を記憶していける小学生に記憶力の衰え始めたおっさんが勝つにはこっそり特訓する必要がありそうです。 そんなわけで和歌を… #Rust #Vue.js #Vuetify #Webアプリケーション開発 2020-07-20 SlackGo製ツールのGUIフロントエンドとして使う(#2: データの変更と削除) プログラミング slack golang Slackを自作ツールのフロントエンドとして使う、というテーマで書いた下記の記事の続きです。 blog.honjala.net 前回はSlack上で飲んだものと飲んだ量を登録する「水分摂取量記録アプリ」を作りながら

    ほんじゃらねっと