takedajs ログ

備考録

技術

郵便が来たらLINE BOTに通知される仕組みを作成

自宅の郵便ポストに届いたものを確認するために、外出して帰ってくる度にポストを開けて確認するのが習慣になっていました。 毎回確認が面倒だったので、郵便がポストに届いたらLINE BOTに通知される仕組みを作成しました。 AWS Lambdaのコードを書く必要が…

Android Studioで無料版のGenymotionを利用する

Android Studioに付属しているエミュレータが重くて実行できないので、AndroidエミュレータのGenymotionを利用してみました。Genymotionは個人利用だと無料なので、今回はそれを使います。 Genymotionインストール VirtualBoxインストール Geneymotionでエミ…

Firefoxアドオン開発でポップアップをデバッグする方法

アドオン開発でポップアップをデバッグするときに、Firefoxのデフォルトの開発ツールだとデバッグできないので、デバッグ方法を記述します。 デバッグ方法 開発中のアドオンのデバッグボタン押下する。 リモートデバッグ接続要求を許可する。 表示された開発…

LambdaでS3のJSONファイルをローカルから取得する

Lambdaの開発をローカルで行うために、S3の情報をローカルから取得する必要がありました。 取得に少し手こずったので記録用として書きます。実装コードはNode.jsです。 S3にJsonファイルをアップロード アクセスキーIDとシークレットアクセスキーを取得 Lamb…

AWS LambdaをGolangで試してみた

GolangでAWS Lambda(以下、Lambda)用の関数パッケージを作成し、実行テストを行うまでを書いています。 Lambdaがサポートする言語は、Node.js、Python、Java、C#、Goですが、今回は一番書き慣れてるGoを利用してみました。 関数パッケージを作成 実行コード…

CircleCI2.0でデプロイ成功時にSlack通知する

CircleCI2.0(以下,CircleCI)を利用して、デプロイが成功した時、Slackに通知が飛ぶようにしてみました。 CircleCIを利用したデプロイは前回の記事で書いたので、今回の記事ではSlack通知の部分を記述しています。 takedajs.hatenablog.jp SlackのWebHook URL…

CircleCI 2.0を利用してマージされた時にHerokuにデプロイする

CircleCI 2.0(以下、CircleCI)を利用して、Githubの指定リポジトリのmasterブランチにマージされた時に、 Herokuにデプロイされるようにしてみました。 CircleCIとGithubの連携 Githubにデプロイ用のリポジトリを作成 CircleCIアカウント作成 プロジェクト追…

サイトのタイトルとURLをコピーするChrome拡張機能を公開した

文字を選択していない状態でcommand+c (mac) or ctrl+c (win) を押下した時、サイトのタイトルとURLをクリップボードに保存するChrome拡張機能「TitleUrlCopy」を開発、公開しました。 Firefox版は既に公開済みです。 Chrome拡張機能「TitleUrlCopy」 ここか…

食べログの星を正規化するFirefoxアドオンを公開した

食べログのお店の評価で利用されている星を正規化して再表示するFirefoxアドオン「TabelogStarNormalize」を開発、公開しました。 PC版Firefoxではもちろんのこと、Android版Firefoxでも利用できます。 目次 Firefoxアドオン「TabelogStarNormalize」につい…

iTerm2でSSH先毎に背景色を変える

iTerm2でSSHを行った時に、SSH先毎に指定の背景色に変更されるようにしました。 iTerm2の背景色を設定できるProfileを複数用意し、SSH先毎にProfileを切り替えて背景色を変えます。 今回の記事では、iTerm2のProfile作成から背景色を変更させる実行処理の記…

サイトのタイトルとURLをコピーするFirefoxアドオンを公開した

文字を選択していない状態でcommand+c (mac) or ctrl+c (win) を押下した時、サイトのタイトルとURLをクリップボードに保存するFirefoxアドオン「TitleUrlCopy」を開発、公開しました。 Firefoxアドオン「TitleUrlCopy」 ここからインストールできます。最新…

CapistranoのデプロイをSlackに通知する

CapistranoとSlackを連携して、CapistranoのデプロイをSlackに通知させてみました。 RubyGemsであるcapistrano-slackifyを利用して、通知を行います。 Capistranoが導入されていることを前提に今回の記事を書いています。 まだ導入していない方は、以下の記…

CapistranoでVagrantにデプロイする

Ruby製のデプロイツール「Capistrano」を使い、Vagrant上にデプロイまでを行いました。 開発環境 ・capistrano 3.10.0 ・デプロイ元: ローカルのMac ・デプロイ先: Vagrant(CentOS7) Capistrano導入 作業ディレクトリでGemfile作成。 $ bundle init Gemfile…

Firefoxアドオン「TabColor」を公開した

ページのURLに指定したキーワードが入っている時、ブラウザのタブ全体を赤くする僕得なFirefoxアドオン「TabColor」を開発、公開しました。 TabColor ここからインストールできます。詳しい仕様はこちらでご確認ください。 コードもこちらで公開してます。 …

Android Studioを利用してKotlinでHello Worldを表示する

Androidアプリを作れるKotlinで、Android StudioのエミュレータでHello Worldを表示してみました。 数年前にAndroidアプリを開発してリリースしたことがあるのですが、それ以来アプリ開発はしていませんでした。 最近KotlinがAndroidの正式な開発言語になっ…

PHPMDでコード解析を行う

PHPで書かれたコードの解析を行ってくれる「PHPMD」を導入して試してみました。PHPMDは、複雑過ぎる表現や未使用の変数などを指摘してくれます。 この記事では、PHPで書いたサンプルコードの解析を行った結果までを書いています。 開発環境 Vagrantで構築 OS…

PHP_CodeSnifferでコードの規約チェックと自動整形を行う

PHPで書かれたコードの規約チェックと自動整形を行ってくれる「PHP_CodeSniffer」を導入して試してみました。 2系から自動整形に対応したみたいです。 この記事では、PHPで書いたサンプルコードの規約チェックと自動整形を行った結果までを書いています。 開…

タブの色を変えるFirefoxアドオンを開発した

追記 最新Firefox(ver57)で動作させるためにWebExtensionで作り直しました。 こちらをお使いください。 自分が欲しいと思った機能があるFirefoxアドオンがなかったので、開発しました。 前回はアドオンの開発環境構築まで書きました。今回は開発したアドオン…

macでFirefoxのアドオン開発環境を構築する

メインブラウザはFirefoxを利用しています。自分が欲しいと思った機能があるFirefoxのアドオンがなかったので、作成していきます。 今回は、アドオンの開発環境構築までを書きました。 Firefoxのアドオンについて アドオンの種類 アドオンには以下3つがあり…

mod_small_lightを利用して画像のリサイズを行う

指定したサイズで画像をリサイズするため、サーバ側でリサイズ処理を可能にするApacheモジュール「mod_small_light」を導入して試してみました。 同様の処理を行ってくれるmod_dimsやmod_tofuなどもありますが、Nginx版も開発されているmod_small_lightを使…

PHPでHTTP並行リクエスト処理を行う

PHPで複数のAPIから並行でデータを取得するために、PHPのHTTPクライアントライブラリである「Guzzle」のsendAllメソッドを利用してみました。 検証として、直列と並行でのデータ取得時間を比較しています。 今回の記事は、サーバにGuzzleが導入してある前提…

ComposerでGuzzleを導入する

ComposerでGuzzleを導入して、動作確認までを書きました。 guzzleのバージョンは4系を導入しています。 開発環境 Vagrantで構築 OS: CentOS7 PHP: 5.4.16 Guzzle: 4.2 Composer導入 curl -sS https://getcomposer.org/installer | php Guzzle導入 Guzzleバー…

Gulpを利用してJavaScriptとCSSを圧縮する

サイト速度を最適化するために、GulpでJSとCSSの圧縮を試してみました。 Gulpが導入されいることを前提に今回の記事を書いているので、まだ導入していない方は、以下の記事を参考に導入までを行ってください。 takedajs.hatenablog.jp 今回、JSとCSSの圧縮に…

GTmetrixAPIでサイトのページロード時間を取得する

サイトパフォーマンステストサービスであるGTmetrixのAPIを利用して、 このブログのページロード時間を取得しました。 GTmetrixAPIについて 詳しい説明は公式ページに掲載されているので、そちらをご確認ください。 GTmetrix REST API | GTmetrix 無料(Basic…

CodeIgniterでMemcachedを検証する

CodeIgniterでMemcachedの利用前後での速度比較を行いました。 サーバにMemcachedが導入され、PHPと連携ができていることを前提に今回の記事を書いています。 まだできていない方は、前回書いた記事を参考にMemcachedのPHPとの連携まで行ってください。 環境…

Memcachedの導入とPHPとの連携

MemcachedをCentOSに導入するところから、PHPで利用可能にするための連携までを書きました。インストールするものが多いので、適宜インストールしてください。 環境 Vagrantで構築 OS: CentOS7 PHP: 5.4.16 Apache: 2.4.6 Memcachedのインストール Memcached…

ISUCON6の予選に参加しました

ISUCONに初参加し、今回の感想を備考録として書きました。 技術的な話は書いていません。 毎年開催されていて自分も参加したいと思っていたので、毎週技術週報を送り合ってる@enomotodevと@suga-tech3とp-teamというチーム名で初参加しました。 結果は、予選…

CodeIgniterのwebページキャッシュを検証する

webページキャッシュの導入方法や導入前後でのパフォーマンスの比較結果を書きました。 環境 vagrantでcodeigniterを構築 CodeIgniterのバージョンは 3.1.0 検証コード 1億回ループする簡単なコードです。 $this->output->cache(n);をアクション内の好きなと…

imagemin-pngquantを利用して画像をロスレス圧縮する

前回の記事では、PNG画像圧縮にgulp-imagemin内で呼ばれているimagemin-optipngを利用しました。 今回は、更に圧縮率が高いimagemin-pngquantプラグインを利用して、圧縮率を比較してみました。 imagemin-pngquantプラグインの導入 ・imagemin-pngquant導入 …

【追記あり】Gulpを利用して画像をロスレス圧縮する

画像を圧縮する必要があり、Gulpを使えば画像が一括圧縮できると聞き、Gulpの導入から圧縮までを行いました。 画像圧縮には、PNG、JPEG、GIG、SVG画像を圧縮してくれるgulp-imageminプラグインを利用しました。 結果としては、png画像はうまく圧縮できたので…