技術

72 記事

Homebrew で使われていない formula を削除する

Homebrew でインストールした formula で使っていない不要なものを調査した。ほかの formula に依存していない formula を一覧化するbrew uses にかけ...

May 9, 2020

Re:dash に登録実行されているクエリを整理する

Re:dash を運用していると、使えば使うほどクエリが増える。不要なクエリが定期実行されてたり、やんちゃなクエリでRe:dash サーバーが落ちることもしばしば。Re:dash をイン...

May 28, 2018

Docker + Serverspec + Infrataster を使ってCircleCI 上でインフラのテストを実行する

TL;DR Itamae レシピを Docker + Serverspec でテストする テストのためにDocker コンテナ上で sshd を実行したくない CircleCI は...

Jun 8, 2016

SQL クエリのコーディング規約(スタイルガイド)

SQLを読みやすくするためのインデントや記法に関するガイドです。個人的なルールかつ、厳格に決めていないので読みやすさを意識して調整したりします。各サンプルのクエリはMySQL で実行確認...

Mar 27, 2016

Ruby の定数やfreeze の扱い方が難しい

Ruby の定数はミュータブルのため、目立たないバグを埋め込む可能性がある。Object#freeze を使うとオブジェクトをイミュータブル(状態変更不可)にできる。Ruby の定数Ru...

Sep 22, 2015

MySQL でテーブルやカラムの情報を確認する方法まとめ

MySQL で作成済みのテーブルやカラムの定義を調べる方法をまとめました。知っておくといろいろ捗るかも。DESCDESC `users`;SHOW COLUMNS FROM `users...

Sep 1, 2015

Nginx のDNS 名前解決とS3 やELB へのリバースプロキシ

Nginx をフロントに立てて、バックエンドをごにょごにょするといろいろ捗ると思います。ただ、バックエンドがAWS のようにAuto Scaling が働く場合、IP アドレスが変わって...

Aug 15, 2015

Capistrano のデプロイ実行を通知するGem を作った

今のところ、Webhook にしか対応していない。とりあえず、Slack は連携できます。ソースはGitHub を参照ください。Gem の使い方インストール方法Gemfile に下記を追...

Aug 13, 2015

Action Mailer で覚えておくと便利な機能

Rails Console でメール送信確認メール送信自体のテストする際に、メーラーやビューを定義しなくても ActionMailer::Base でそのまま送信できる。SMTP サーバ...

Aug 8, 2015

コマンド実行結果のdiff を取るといろいろ捗る

たまに必要になる diff コマンドのTips メモです。コマンド実行結果のdiff を取るbash なら <(command) の形式で diff にコマンドの結果を入力できる。...

Jun 27, 2015

カッコいいグラフを描けるJavaScript ライブラリまとめ

40 JavaScript Chart and Graph Libraries からいくつかピックアップ人気のライブラリ人気のあるライブラリをJavaScripting.com - Th...

Dec 14, 2014

Travis CI + Coverall + Node.js (Hubot) で継続的インテグレーションしてみる

Hubot スクリプトのために、CI 環境を整えてみた。説明用にコードを切り出したりしているので、全体の設定は今回使っている libinc/hubot-scripts を見てください。継...

Nov 12, 2014

Hubot にグラフを描かせてみた (PhantomJS + Chart.js => PNG 画像化)

Hubot を使ってグラフ画像を生成するスクリプトを作ってみました。Heroku + PhantomJS + Chart.js で動きます。PhantomJS + Chart.js =&...

Nov 1, 2014

Bash 脆弱性の対応 #ShellShock (Mac OS X)

Bash に含まれる深刻なバグ (通称: ShellShock) の対応方法について脆弱性の報告環境変数に仕込まれたコードを実行してしまう脆弱性が報告される。ややこしいことに2件立て続け...

Sep 28, 2014

Cabal パッケージに外部ファイルを埋め込む

Cabal パッケージで実行時に必要な外部ファイル埋め込む方法についてCabal パッケージの設定pkgname.cabal で data-files もしくは data-dir を指定...

Sep 18, 2014

Mac で Cabal Sandbox 環境を整える

Cabal Hell を回避するためのSandbox 環境を整えたときのメモ。Cabal Sandboxcabal-install-1.18 から Sandbox 環境が使える。プロジェ...

Sep 11, 2014

うっかりさんのための Cabal Hell プロテクター

Haskell を使うときは Cabal だよね。でも、cabal でパッケージをインストールするときに、依存の解消がイマイチでハマりがち。そして、たまにしか Haskell を触らない...

Sep 6, 2014

Amazon S3 をコマンドラインから操作する s3cmd

Amazon S3 に対する作業は Management Console や AWS SDK (PHP, Java, Ruby, .NET) で行うことができる。ただ、バックアップ処理や...

Sep 4, 2014

プロセス監視とデーモン化ツールまとめ

プロセス監視ツールプロセスの死活監視やデーモン化が出来るツールを調べてみた。全部は試せていないが、 daemontools upstart runit Monit Superv...

Jan 17, 2014

Persistent インストールエラー対処 #Haskell

Haskell の Persistent インストールcabal からインストールで依存ライブラリがなくてエラーした。Persistent::MySQL のインストール# cabal i...

Jan 17, 2014

個人情報保護のためのHTTP キャッシュ設定まとめ

キャッシュコントロール設定個人情報を扱う画面でのキャッシュ設定方法をまとめました。ユーザ側の操作の問題でもあるが、小難しい事なのである程度キャッシュコントロールして、エンジニア側で個人情...

Dec 21, 2013

sudoers でプロセス起動専用ユーザと一般ユーザの権限管理

sudoers 設定基本は visudo コマンドで編集する。vi と同じ方法で編集可能です。ファイルを閉じたタイミングで構文チェックをしてくれます。権限毎に設定ファイルを分ける設定が増...

Dec 11, 2013

Yesod アプリケーションの本番環境デプロイ

デプロイ手順書ソースをビルド (cabal build) して、生成された実行ファイルを Production 指定で動かすだけ。Yesod アプリケーションの ROOT ディレクトリ内...

Dec 5, 2013

Haskell 製 WebフレームワークYesod はじめました

Yesod の環境準備インストールから動かし方まで。brew install haskell-platformHaskell を入れると、cabal コマンドが使える。Bundler や...

Oct 25, 2013

LTSV 用のログ監視 Perl スクリプト

LTSV フォーマットを見やすくするワンライナー (バッファリング無効付き) を書いた。perl -F'\t' -nale '$|=1; foreach my $e (@F){ prin...

Apr 17, 2013

Munin ではじめる複数台構成のサーバ監視

複数台のサーバをまとめてリソース監視インストールとか、起動とか、Munin 出力結果を表示するWeb サーバーの設定は割愛監視ノード (munin-node) の設定リソース監視したいサ...

Mar 27, 2013

MySQL でインデックスのチューニング入門

MySQL でクエリのチューニング正確なベンチマークではないので、実行時間は参考値として書いておきます。チューニングするテーブルの定義mysql> DESC purchases;+...

Mar 8, 2013

Linux でメモリの使用状況をチェックする

Linux でメモリの使用量を調べるコマンドLinux でメモリの使用量を調べるアレコレfree コマンド現在のメモリ空き状況は free+buffers+cached で算出できる$ ...

Mar 6, 2013

Windows で Ruby のバージョン管理 (pik) を使う

Windows 版 RVMRuby のバージョン管理 RVM のWindows 版 pik の使い方pik のインストールダウンロード.msi ファイルならポチポチするだけで入るのでカン...

Feb 24, 2013

CPU (コア、プロセッサ) の数を調べる @Linux

コマンドで簡単にCPU の数を調べる方法仮想コア数cat /proc/cpuinfo | grep processorprocessor : 0processor : 1...

Feb 16, 2013

rails runner を使わないバッチ処理を実装してみた

rails runner みたいに環境を読み込んでバッチ処理したい。けど、単独で処理するので lib/ とかに入れて Rails アプリケーション自体にはロードしたくない。的なノリで B...

Dec 23, 2012

SQL*Plusで「実行計画」を見える化

Oracle の実行計画 (EXPLAIN)EXPLAIN PLAN FOR SELECT * FROM table;SQL チューニングSQL チューニングするときに、それっぽいデータ...

Oct 28, 2012

    Munin ではじめるサーバ監視

    リソース監視ツール Muninちゃんとサーバ監視しようと思い腰を上げて Munin 入れてみた。インストール手順 @CentOS 5wget http://download.fedora...

    Sep 29, 2012

    他人のコードを読むための7つの便利なEclipse ショートカットキー

    他人のコードをナナメ読みどこに何が書いてあるかよくわからない他人のコードを読むのは結構めんどくさい。そんな時にもパワフルに活躍してくれるEclipse. より早くより楽にするために、他人...

    Aug 14, 2012

    MongoDB のクエリ $in と $or について調べてみた

    MongoDB クエリ最適化条件オペレータ $in について試してみた。> db.animals.find({}).count();100248> db.animals.ge...

    Aug 14, 2012

    Mongoid のクエリを最適化する

    Mongoid で発行されるクエリを最適化するために知っておきたい機能only メソッドで必要最低限のフィールドを取得取得するフィールドを Mongoid::Criteria#only ...

    Jul 30, 2012

    Node.js + WebSocket で双方向通信をはじめる

    Node.js のインストールMac でやったけど、おそらくLinux 系でも同様にいけるはず。cd /usr/local/src/git clone git://github.com/...

    Jul 29, 2012

    Nginx でBasic 認証の設定

    Basic 認証の設定方法Basic 認証で利用するユーザ名とパスワードの設定ファイルを auth_basic_user_file で指定するserver { listen ...

    Jun 28, 2012

    MongoDB の実行計画 explain() を読んでみる

    explain() の使い方> db.users.find({ name: "yulii" }).explain(){ "cursor" : "BasicCursor", ...

    Jun 27, 2012

    Nginx で Tomcat へリクエストを繋げる設定

    Tomcat と Nginxの連携Tomcat へリクエストを繋げるには proxy_pass でURL を指定するだけでOK. ただし、ユーザがアクセスして来た IP アドレス等を J...

    May 23, 2011

    Nginx に SSL 証明書を入れて HTTPS の設定

    Nginx で SSL 証明書の設定鍵の作成暗号化アルゴリズムと鍵のビット長を指定する。1024 ビットより強度を高く設定する事をお勧めします。openssl genrsa -des3 ...

    Apr 14, 2011

    Apache Tomcat のインストールと設定

    Apache Tomcat インストール&設定Tomcat のインストールと公開サーバーで動かすための準備についてJava (JDK) インストールJava SE Downloa...

    Feb 16, 2011

    SQL クエリの結果を外部ファイルへ出力する方法

    SQL クエリの結果をファイル出力リダイレクトで出力先を指定するターミナルからリダイレクトを利用して、ファイルへ出力することができる。SQL クエリをファイルに用意しておき、以下のような...

    Nov 12, 2010

    MySQL で問い合わせ結果の行番号 ROWNUM を取得する

    MySQL で擬似的な ROWNUMOracle Database にある ROWNUM を MySQL でやってみた。Oracle Database は触った事がないので、実際のところ...

    Sep 22, 2010

    Apache のパフォーマンスチューニング設定

    MMapFile でキャッシュの設定MMapFile でレギュラーファイルをキャッシュする。ディレクトリは指定できない。モジュールの読み込み設定LoadModule file_cache...

    Sep 1, 2010

    Apache でサーバーの状態を表示する

    サイトの動作のスナップショットの取得server-status ハンドラーを呼び出すことで Apache の動作状況を取得する事ができます。server-status ハンドラーの設定s...

    Aug 21, 2010

    java.lang.OutOfMemoryError: PermGen space の対処法

    java.lang.OutOfMemoryError: PermGen spaceメモリが足りなくてすぐにTomcat が落ちる場合の対処法は、起動時にメモリ容量を指定する。Tomcat...

    Aug 10, 2010

    MySQL ユーザの設定方法

    MySQL ユーザの設定DB の中にテーブルとして情報が保存されているので、レコード情報を追加変更することで設定できます。MySQL ユーザの確認定義済みのユーザは、mysql データベ...

    Jul 30, 2010

    IP アドレスから位置情報を取得するGeoIP

    GeoIPIP アドレスから位置情報を取得する為のAPI です。国、領域、都市、緯度、および経度の取得をサポートしています。C言語向けAPI インストールソースからビルドする。cd /u...

    Jul 20, 2010

    Maven から SAStruts + DBFlute のプロジェクトを新規作成

    DBFlute (SAStruts ベース) プロジェクトの雛形生成Maven の archetype:generate で DBFlute のオプションを指定する。DBFlute プロ...

    Jul 14, 2010

    SSH のセキュリティ設定メモ

    SSH のセキュリティ設定について不要なものはすべて制限し、例外的なものを Match 構文で上書き許可する/etc/ssh/sshd_config基本的な認証セキュリティの設定root...

    Jul 13, 2010

    Apache ログの出力をカスタマイズする

    ログ出力のカスタマイズ設定1日毎にエラーログファイルを分割ログローテートを指定する。ErrorLog "| /usr/sbin/rotatelogs /var/log/apache2/e...

    Jun 21, 2010

    Maven から SAStruts のプロジェクトを新規作成

    SAStruts プロジェクトの雛形生成mvn archetype:generate -DarchetypeRepository=https://www.seasar.org/maven...

    Jun 18, 2010

    パケット生成ツール nemesis のインストール

    nemesisコマンドラインからカスタマイズしたパケットを生成できるツールです。DoS 攻撃のパケットも作れてしまうので、意図せず攻撃パケットを外部サーバーへ送信しないように取り扱い注意...

    Jun 14, 2010

    jQuery 1.3.2 のバグ Could not convert JavaScript argument arg 0 [nsIDOMViewCSS.getComputedStyle]

    jQuery 1.3.2 バグFirebug を使っていたらこんなバグに遭遇した。[Exception... "Could not convert JavaScript argument...

    Jan 7, 2010

    ライブ配信サーバー構築 〜 エンコーダ (FFmpeg) の設定 〜

    エンコーダの準備 (Ubuntu 8.10 Server)FFmpeg を利用してカメラの映像をエンコードします。IEEE1394 (/dev/raw1394) から入力をもらうことを想...

    Nov 10, 2009

    ライブ配信サーバー構築 〜 配信サーバー (FFserver) の設定 〜

    配信サーバの設定 (CentOS 5.4)FFserverFFmpeg に付属されている FFserver を使用する。配信サーバとWeb サーバは同じマシンを使用する。エンコーダマシン...

    Nov 10, 2009

    ライブ配信サーバー構築 (FFmpeg/FFserver)

    Flash Player 向けのライブ配信サーバー構築FFmpeg (FFserver) を使って Flash Player 向けにライブ配信映像するプロジェクトのまとめ。お品書き エ...

    Nov 10, 2009

    ライブ配信サーバー構築 〜 Web サーバー (JW Player) の設定 〜

    ライブ映像を表示する Web サーバーの設定普通に HTML が見られるように設定するだけ。JW Player の埋め込みスニペットJW Player で再生させる場合は、HTML の表...

    Nov 10, 2009

    DHT アルゴリズムのKademlia まとめ

    DHT: Distributed Hash Table (分散ハッシュテーブル)ハッシュテーブルを複数のノードで管理するアルゴリズムです。P2Pで良く使われる技術です。アルゴリズム C...

    Jun 16, 2009

    匿名プロキシ Tor の導入方法

    匿名プロキシ Tor (オニオンルーティング)Tor のインストールTor 用のユーザとグループをあらかじめ作成して、インストール時に設定する。Tor のインストールに必要なライブラリ ...

    Jun 16, 2009

    Subversion リポジトリの同期設定

    svnsync でリポジトリの同期Subversion 1.4以降でないと使えないらしい。同期先のリポジトリ準備空のリポジトリを作成する。パーミッションは適宜設定すれば良い。svnadm...

    Jun 12, 2009

    オンメモリKVS のmemcached の使い方

    memcached とは? 分散メモリキャッシュシステム (Distributed Memory object Caching System) レコード (value) とキー (k...

    Apr 19, 2009

    C言語で memcached をいじってみる

    C言語クライアントライブラリ libmemcachedC言語から memcached へデータを保存・取得してみる。インストールソースからインストールする。wget http://dow...

    Apr 19, 2009

    Subversion とApache の連携設定

    Apache との連携Web ブラウザ上 (80番ポート) からリポジトリにアクセスする必要がなければ設定不要です。Subversion のインストール必要なライブラリと合わせてインスト...

    Apr 8, 2009

    TeX スタイルファイルの使い方と書き方

    TeX スタイルファイル外部のスタイルファイルを利用する事で、文章表現を拡張できる。また、独自のマクロで新しいコマンドを定義してスタイルを拡張できる。スタイルファイルの使い方プリアンブル...

    Apr 3, 2009

    Windows のバッチファイルを使った小技

    バッチファイルバッチファイルでタスクを自動化する。バッチファイルの保存場所でコンソールを開く作業ディレクトリに,以下の内容のバッチファイルを作る。cmd単純にコマンドプロンプトを呼び出す...

    Mar 15, 2009

    分散Key/ValueストアKai のインストール

    分散Key/ValueストアKai の始め方分散Key/Valueストア Kai のインストール手順と動作確認です。Erlang のインストールソースからインストールを行う。Erlang...

    Mar 6, 2009

    Ubuntu の固定IPアドレス設定方法

    固定IP アドレスの設定時間が経つと DHCP で IP が変わってしまう問題の対処法 (Ubuntu 8.04 - 8.10)NetworkManager の削除NetworkMana...

    Feb 8, 2009

    PHP の比較演算子 '==' の妙

    比較演算子の気をつけたい仕様PHP の比較演算子 == の結果が直感的でないものや他言語と違う結果になる。null の正体ゼロと null 比較の曖昧さ。$x = 0; としたときに、以...

    Nov 17, 2008

    XyMTeX で化学構造式を描く

    化学構造式のスタイルパッケージ XyMTeX化学構造式を描くためのパッケージです。コマンドに関しては、マニュアル(英語)を見たほうが詳しく書いてあります。他にはまとまったドキュメントが見...

    Sep 20, 2008

    TeX で PDF ファイルを生成する

    TeX ドキュメントのコンパイルコンパイルコマンド.tex -> .dviplatex hoge.tex.dvi -> .psdvipsk hoge.dvi.dvi ->...

    Sep 12, 2008