技術
自宅の郵便ポストに届いたものを確認するために、外出して帰ってくる度にポストを開けて確認するのが習慣になっていました。 毎回確認が面倒だったので、郵便がポストに届いたらLINE BOTに通知される仕組みを作成しました。 AWS Lambdaのコードを書く必要が…
Android Studioに付属しているエミュレータが重くて実行できないので、AndroidエミュレータのGenymotionを利用してみました。Genymotionは個人利用だと無料なので、今回はそれを使います。 Genymotionインストール VirtualBoxインストール Geneymotionでエミ…
アドオン開発でポップアップをデバッグするときに、Firefoxのデフォルトの開発ツールだとデバッグできないので、デバッグ方法を記述します。 デバッグ方法 開発中のアドオンのデバッグボタン押下する。 リモートデバッグ接続要求を許可する。 表示された開発…
Lambdaの開発をローカルで行うために、S3の情報をローカルから取得する必要がありました。 取得に少し手こずったので記録用として書きます。実装コードはNode.jsです。 S3にJsonファイルをアップロード アクセスキーIDとシークレットアクセスキーを取得 Lamb…
GolangでAWS Lambda(以下、Lambda)用の関数パッケージを作成し、実行テストを行うまでを書いています。 Lambdaがサポートする言語は、Node.js、Python、Java、C#、Goですが、今回は一番書き慣れてるGoを利用してみました。 関数パッケージを作成 実行コード…
CircleCI2.0(以下,CircleCI)を利用して、デプロイが成功した時、Slackに通知が飛ぶようにしてみました。 CircleCIを利用したデプロイは前回の記事で書いたので、今回の記事ではSlack通知の部分を記述しています。 takedajs.hatenablog.jp SlackのWebHook URL…
CircleCI 2.0(以下、CircleCI)を利用して、Githubの指定リポジトリのmasterブランチにマージされた時に、 Herokuにデプロイされるようにしてみました。 CircleCIとGithubの連携 Githubにデプロイ用のリポジトリを作成 CircleCIアカウント作成 プロジェクト追…
文字を選択していない状態でcommand+c (mac) or ctrl+c (win) を押下した時、サイトのタイトルとURLをクリップボードに保存するChrome拡張機能「TitleUrlCopy」を開発、公開しました。 Firefox版は既に公開済みです。 Chrome拡張機能「TitleUrlCopy」 ここか…
食べログのお店の評価で利用されている星を正規化して再表示するFirefoxアドオン「TabelogStarNormalize」を開発、公開しました。 PC版Firefoxではもちろんのこと、Android版Firefoxでも利用できます。 目次 Firefoxアドオン「TabelogStarNormalize」につい…
iTerm2でSSHを行った時に、SSH先毎に指定の背景色に変更されるようにしました。 iTerm2の背景色を設定できるProfileを複数用意し、SSH先毎にProfileを切り替えて背景色を変えます。 今回の記事では、iTerm2のProfile作成から背景色を変更させる実行処理の記…
文字を選択していない状態でcommand+c (mac) or ctrl+c (win) を押下した時、サイトのタイトルとURLをクリップボードに保存するFirefoxアドオン「TitleUrlCopy」を開発、公開しました。 Firefoxアドオン「TitleUrlCopy」 ここからインストールできます。最新…
CapistranoとSlackを連携して、CapistranoのデプロイをSlackに通知させてみました。 RubyGemsであるcapistrano-slackifyを利用して、通知を行います。 Capistranoが導入されていることを前提に今回の記事を書いています。 まだ導入していない方は、以下の記…
Ruby製のデプロイツール「Capistrano」を使い、Vagrant上にデプロイまでを行いました。 開発環境 ・capistrano 3.10.0 ・デプロイ元: ローカルのMac ・デプロイ先: Vagrant(CentOS7) Capistrano導入 作業ディレクトリでGemfile作成。 $ bundle init Gemfile…
ページのURLに指定したキーワードが入っている時、ブラウザのタブ全体を赤くする僕得なFirefoxアドオン「TabColor」を開発、公開しました。 TabColor ここからインストールできます。詳しい仕様はこちらでご確認ください。 コードもこちらで公開してます。 …
Androidアプリを作れるKotlinで、Android StudioのエミュレータでHello Worldを表示してみました。 数年前にAndroidアプリを開発してリリースしたことがあるのですが、それ以来アプリ開発はしていませんでした。 最近KotlinがAndroidの正式な開発言語になっ…
PHPで書かれたコードの解析を行ってくれる「PHPMD」を導入して試してみました。PHPMDは、複雑過ぎる表現や未使用の変数などを指摘してくれます。 この記事では、PHPで書いたサンプルコードの解析を行った結果までを書いています。 開発環境 Vagrantで構築 OS…
PHPで書かれたコードの規約チェックと自動整形を行ってくれる「PHP_CodeSniffer」を導入して試してみました。 2系から自動整形に対応したみたいです。 この記事では、PHPで書いたサンプルコードの規約チェックと自動整形を行った結果までを書いています。 開…
追記 最新Firefox(ver57)で動作させるためにWebExtensionで作り直しました。 こちらをお使いください。 自分が欲しいと思った機能があるFirefoxアドオンがなかったので、開発しました。 前回はアドオンの開発環境構築まで書きました。今回は開発したアドオン…
メインブラウザはFirefoxを利用しています。自分が欲しいと思った機能があるFirefoxのアドオンがなかったので、作成していきます。 今回は、アドオンの開発環境構築までを書きました。 Firefoxのアドオンについて アドオンの種類 アドオンには以下3つがあり…
指定したサイズで画像をリサイズするため、サーバ側でリサイズ処理を可能にするApacheモジュール「mod_small_light」を導入して試してみました。 同様の処理を行ってくれるmod_dimsやmod_tofuなどもありますが、Nginx版も開発されているmod_small_lightを使…
PHPで複数のAPIから並行でデータを取得するために、PHPのHTTPクライアントライブラリである「Guzzle」のsendAllメソッドを利用してみました。 検証として、直列と並行でのデータ取得時間を比較しています。 今回の記事は、サーバに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でJSとCSSの圧縮を試してみました。 Gulpが導入されいることを前提に今回の記事を書いているので、まだ導入していない方は、以下の記事を参考に導入までを行ってください。 takedajs.hatenablog.jp 今回、JSとCSSの圧縮に…
サイトパフォーマンステストサービスであるGTmetrixのAPIを利用して、 このブログのページロード時間を取得しました。 GTmetrixAPIについて 詳しい説明は公式ページに掲載されているので、そちらをご確認ください。 GTmetrix REST API | GTmetrix 無料(Basic…
CodeIgniterでMemcachedの利用前後での速度比較を行いました。 サーバにMemcachedが導入され、PHPと連携ができていることを前提に今回の記事を書いています。 まだできていない方は、前回書いた記事を参考にMemcachedのPHPとの連携まで行ってください。 環境…
MemcachedをCentOSに導入するところから、PHPで利用可能にするための連携までを書きました。インストールするものが多いので、適宜インストールしてください。 環境 Vagrantで構築 OS: CentOS7 PHP: 5.4.16 Apache: 2.4.6 Memcachedのインストール Memcached…
ISUCONに初参加し、今回の感想を備考録として書きました。 技術的な話は書いていません。 毎年開催されていて自分も参加したいと思っていたので、毎週技術週報を送り合ってる@enomotodevと@suga-tech3とp-teamというチーム名で初参加しました。 結果は、予選…
webページキャッシュの導入方法や導入前後でのパフォーマンスの比較結果を書きました。 環境 vagrantでcodeigniterを構築 CodeIgniterのバージョンは 3.1.0 検証コード 1億回ループする簡単なコードです。 $this->output->cache(n);をアクション内の好きなと…
前回の記事では、PNG画像圧縮にgulp-imagemin内で呼ばれているimagemin-optipngを利用しました。 今回は、更に圧縮率が高いimagemin-pngquantプラグインを利用して、圧縮率を比較してみました。 imagemin-pngquantプラグインの導入 ・imagemin-pngquant導入 …
画像を圧縮する必要があり、Gulpを使えば画像が一括圧縮できると聞き、Gulpの導入から圧縮までを行いました。 画像圧縮には、PNG、JPEG、GIG、SVG画像を圧縮してくれるgulp-imageminプラグインを利用しました。 結果としては、png画像はうまく圧縮できたので…