サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
www.sssg.org
最近のLinuxでは、自動的にCPUの動的クロック変更が有効になっています。トラフィックの激しいサービスを受けるサーバーの場合、無効にしたかったので、その方法を調べてみました。エコでなくてすいません・・・。 まず、Ubuntu 12.10 amd64 では、次のとおりです。 1. cpufrequtils パッケージをインストールします $ sudo apt-get install cpufrequtils 2. 現在の状態を確認します $ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ondemand ... ondemand という表示が CPU コア数分表示されている場合、CPU の動的クロック変更が有効になっています。 ついでに現在のクロック数を確認します $ cat /sys/devices/system/cp
ラズパイにつけるUSBカメラについて調べてみました。 ラズパイには公式カメラモジュールとUSBカメラをつけることができて、複数台のカメラを搭載することができます。ただし、全部をフルパワー全開で利用するには、電源的にもCPU的にもディスクアクセス的にも厳しいものがあったりするので、用途に応じて切り替えをしながら使う必要があります。きちんと使うためには、いろいろ調べとかないとなぁ、と思ったのがきっかけです。 ということで、手元にUSBカメラが4台あったので、それぞれ1台ずつラズパイにつけてみました。それについて簡単に調べたことを記録しておきます。UVC(USB video device classまたはUSB video class)対応のカメラであれば認識して使えるようです。 USBデバイスが認識されているかを調べるにはlsusbを使います。C270の場合は、下記のようにすればわかります。
最近、開発環境のテンプレート構築をしているのですが、「git commit するまえに考えるべき10のこと | Act as Professional – hiroki.jp by HIROCASTER」みたいに、ソースコードのバージョン管理を実際に始めるときに理解しておかないといけないことは、結構あるはずです。 それで、ソースコードのバージョン管理については、git commitするときに記録するコメントについて、いろいろと考えることもあります。Git Styleは「git/Documentation/SubmittingPatches at master · gitster/git · GitHub」にありますから、こういうのも参考になります。 英語で記述 一文の場合、文末にピリオドを付けない 主語は省く 時制は現在形 文頭の英単語は大文字 他にもないかなぁ、と探してみたら「Chang
CentOS 7.x 公式で提供している Node.js のバージョンは、現時点で 0.10.42 とかなり古いバージョンになります。 現在の Node.js の最新の安定版は 6.x ですから、こちらをインストールしてみたいところです。 もちろん、普通にコンパイルしてインストールする方法があるのですが、コンパイルはせずにパッケージなどでさくっと導入したいと思って、その方法を調べてみました。すると、2つの方法がありそうです。 1. n package を使ってインストールする方法 この方法では、既存の node.js npm から n というパッケージを導入して、n パッケージ経由で node.js を複数バージョンできるものです。今回は、複数バージョンではなく、単に安定版だけをインストールしたかったので、この方法は見送りました。 2. NodeSource が提供しているパッケージを使う
CircleCI 便利ですが、CircleCI 上の EC2 ホスト上で、いくつか CircleCI 上の環境変数が定義されているので、一部まとめておきます。 公式ドキュメントは、こちらですね。 CI: 値 true、CI かどうか CIRLECI: 値 true、CircleCI かどうか CIRCLE_ARTIFACTS: 値 /tmp/circle-artifacts.XXXX CIRCLE_BRANCH: 値 ブランチ名、対象のブランチ名 CIRCLE_BUILD_NUM: 値 整数、CircleCI 上でのビルド回数番号です CIRCLE_COMPARE_URL: 値 URL、前回のビルドからの差分をあらわす URL、GitHub の場合 https://github.com/[project]/compare/xxx…yyy となります CIRCLE_NODE_INDEX: 値
このエントリは、Datadog Advent Calendar 2016 の 10 日目のエントリです。 2016年を振り返ってみると、Datadog をフル AWS の本番システムに導入して本格稼働している年でした。 実はまだまだすべての設定は完了していないのですが、2016年の自分と Datadog について、どのような関わりがあったのか、このエントリで振り返ってみたいと思います。 2016年2月 フル AWS のシステム向けのモニタリングツールで Datadog を導入することが正式に決まりました。 そこで、チーム向けに Datadog について簡単に紹介してしほしいと相談されたので、まずは Datadog 入門編のスライドで紹介しました。 はじめての datadog from Naoya Nakazawa このスライドでは、Datadog の一通りの機能を紹介しています。 2016
日頃から業務などで利用している Linux のディストリビューションのセキュリティ情報は、日々チェックして、日々運用していく必要がありますよね。 なので、日頃から使っている各 Linux のディストリビューションのセキュリティ情報の入手先をまとめてみました。 それぞれのバージョンごとに公式ページに Errata として情報がとまってますが、RSS はないようですね。 RHEL5 系 すべてのアップデート情報一覧 セキュリティアップデート情報のみ RHEL6 系 すべてのアップデート情報一覧 セキュリティアップデート情報のみ CentOS CentOS は、基本的に RHEL ベースなので、RHEL のアップデート情報元にセキュリティアップデートなどが行われているはずです。 セキュリティアップデートなどの情報は、CentOS-announce mailing list に投稿されているので、
CentOS 7 の System Ruby は、2.0 系です。System Ruby はそのままに、2.3 系を手軽に使う方法を紹介したいと思います。 まず、EPEL が入っている環境で CentOS SCLo Software Collections をインストールします # yum -y install centos-release-scl-rh centos-release-scl Ruby 2.3 をインストールします。 $ yum -y install rh-ruby23 あとは、/etc/profile.d/ruby23.sh を、次のように作成します。 # /etc/profile.d/ruby23.sh - ruby 2.3 source /opt/rh/rh-ruby23/enable export X_SCLS="`scl enable rh-ruby23 'ech
xargs を使うと手軽にコマンドを並列実行できて便利ですが、xargs を使ったいくつかのちょっとした Tips を紹介したいと思います。 基本は、次のようなになります。 $ echo a"\n"b | xargs -t -P 2 -n 1 echo "command" echo command a command a echo command b command b この例だと、”command (a|b)” を表示するコマンドになりますが、echo をとることで任意のコマンドの末尾に自由にパラメータを渡すことができます。 末尾ではなく、コマンドの途中のパラメータを渡したいときは、次のようにするとできます。 $ echo -e a"\n"b | xargs -t -P 2 -n1 -I '{}' echo "command {} param2" echo command a param
Jeremy Zawodny 氏のブログに MySQL, Linux, and Thread Caching という興味深い記事があったので、理解するために自分翻訳してみた。この記事は、今はないけれども rember.yahoo.com で MySQL を使ったときの話のようです。ちなみに MySQL のバージョンは 4.0.4。 わぉ、とても忙しい一週間だった。私は、remeber.yahoo.com の MySQL サーバや関連するものごとに実に何日かを費した。そして、私は1日か2日を休息に使った(睡眠やシャワーなど) ところで、私はいくつか興味深い発見をした。もっとも驚いたことは MySQL サーバがとても忙しくなったときの Linux 上でのスレッドキャッシングの挙動だ。ポイントは、忙しいときのみということだ。忘れずに。 あなたも分かっていると思うが、われわれがすべてのウェブサーバ
ご存じ git-secret とても便利ですが、ふとちゃんと使っていたところ、git commit 時に、次のように失敗していました。 $ git commit -m "foo" foo.txt [ERROR] Matched one or more prohibited patterns Possible mitigations: – Mark false positives as allowed using: git config –add secrets.allowed … – Mark false positives as allowed by adding regular expressions to .gitallowed at repository’s root directory – List your configured patterns: git config –ge
Packer で AMI を作るとき、Provisors で時間がかかってくるようになると、次のようなエラーメッセージが表示されて終了することがあります。 今のところ、Ansible + Serverspec を実行しているため、かなり時間がかかってきたようです。。。 ... 2016/05/11 07:52:03 packer: 2016/05/11 07:52:03 Allowing 300s to complete (change with AWS_TIMEOUT_SECONDS) 2016/05/11 07:52:24 ui: ==> amazon-ebs: Creating the AMI: foo-2016-05-10T22-45-36Z 2016/05/11 07:52:25 ui: amazon-ebs: AMI: ami-xxx 2016/05/11 07:52:25 u
CentOS 7 上で Ansible 2 系を使っていますが、EPEL にある Ansible パッケージが、現時点で最新の 2.0.2.0 にバージョンアップされていました。 さっそくこのバージョンを使ったところ、次のような JSON をパースするような処理がある場合は、エラーとなってしまいました。 - set_fact: foo_aws_access_key_id="{{ cloudformation_outputs | selectattr('OutputKey', 'equalto', 'FooKey') | map(attribute='OutputValue') | join(',') }}" これは、取得した CloudFormation の JSON データの OUTPUTS から特にキーの値を取得するものですが、これを実行すると、次のようなエラーになります。 An ex
Archives January 2017 (1) December 2016 (2) October 2016 (2) August 2016 (2) June 2016 (3) May 2016 (3) February 2016 (3) January 2016 (6) December 2015 (4) November 2015 (1) July 2015 (1) December 2014 (4) November 2014 (1) October 2014 (2) August 2014 (1) July 2014 (1) June 2014 (2) April 2014 (4) February 2014 (3) January 2014 (1) December 2013 (2) September 2013 (1) August 2013 (3) July 2013 (
Java プログラムをコンパイルしたあと、jar なファイルを実行するためには java コマンドでいろいろな引数を設定して起動することがよくあります。 そんなとき、javactl を使うとプログラムを簡単に起動することができます。 おもな特長は、次のとおりです。 pip コマンドで簡単インストールすることができる 起動するための設定ファイルは、YAML 形式で記述することができる まず、インストールは、pip コマンド一発です。 $ pip install javactl インストールすると、javactl というプログラムがインストールされます。 $ which javactl /usr/bin/javactl $ /usr/bin/javactl -h Usage: javactl [options...] [args...] Options: --version show prog
GitHub 上にあるとあるフォークした Gem(Rubygems にはリリースされていない)をインストールすることになりました。 普通なら、Gemfile を書いて bundle 経由でインストールするのが一般的だと思いますが、1つの Gem だったので、何か他の方法がないかなと調査したところ、specific_install というコマンドを使うとできました! 使い方は、とても簡単です。 $ sudo gem install --no-document specific_install $ sudo specific_install -l https://github.com/<リポジトリ>.git -b <ブランチ名> という感じでインストールすることができます! 今回、td-agent の flunetd plugin で特別に1つカスタマイズされたものがあって、無事 GitHub
Ansible 2.0 がようやくリリースされましたね。さっそく、既存の Playbook をアップグレードしてみました。公式の移行ガイドは、こちらにあります。 まず、実行してみると、次のような警告が表示されました。 [DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is 'sudo' (default). This feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. 今まで、実行ユーザを指定するとき sudo と sudo
2015 年、僕がメインで担当したとある PHP 案件の振り返りを行ってみようと思います。おもに技術面から、設計前に想定したこと、実際に導入してうまくいったこと・いかなかったことを振り返ってみたいと思います。 技術的な環境は、次のとおりです。 インフラ環境: オンプレミス(だいだい6台くらい、このときのためにほぼハードウェアを新規に調達しました) OS: CentOS 7.0 言語: PHP 5.6 フレームワーク: FluelPHP 1.7.x データベース: Postgresql 9.3 ミドルウェア ロードバランサー冗長化: Keepalived(新規) ウェブサーバ: Apache から Nginx に変更、PHP は FPM キャッシュ: Redis(新規) 検索: Elasticsearch(新規) ログ: Fluentd(新規) 監視: Nagios & Cacti & Mu
OS X 使いの皆さん定番の homebrew-cask ですが、おそらくクリスマス頃に仕様が少し変わったようです。 詳細のチケットは、こちらですが、要約すると、次のような感じになります。 今まで ~/Applications へはすべてリンクだったが、移動するようになった アプリケーションディレクトリは、すべて ~/Applications ではなく、/Applications になる :target はしばらく動作するが、そのうち link に変更になる Caskroom は、デフォルトで /opt/homebrew-cask/Caskroom となる 上記のような理由で Caskroom 以下のバージョン番号のディレクトリは存在しなくなる これはとても嬉しい変更です、例えば Google Chrome を homebrew-cask 経由でインストールした場合、今までだと 1Pass
CentOS 7 で起動時と終了時にそれぞれ1回だけ実行するスクリプトを作成する方法を紹介したと思います。 次のような systemd スクリプトを作成します。 cat << EOF > /usr/lib/systemd/system/my-oneshot.service [Unit] Description=my-oneshot After=network.service Before=shutdown.target Requires=network.service [Service] Type=oneshot ExecStart=/bin/bash -v ‘/usr/local/bin/my-up.sh’ ExecStop=/bin/bash -v ‘/usr/local/bin/my-down.sh’ RemainAfterExit=true [Install] WantedBy=m
www.hiro345.net
CentOS7の日本語入力について、デフォルトがibus – kkc(Japanese Kana Kanji input method for ibus)でした。全角空白の入力をするには「くうはく」と入れて変換をする必要があり、設定で回避する方法もよくわからなかったので、使い慣れたibus-anthyへ切り替えることにしました。単語登録もよくわからなかったというのもあります。~/.config/ibus-kkc/dictionary/sentenceへ登録すれば良いようでしたが、Anthyであれば、kasumiで登録できるので、手軽です。日本語入力については、ibus-mozcも選択肢としてあるようですね。 インストールは簡単で、EPELリポジトリを有効にしてから、ibus-anthyをyumでインストールするだけです。インストールしたら、一度ログアウトが必要です。 $ sudo yum
「WordPress のプラグイン StaticPress でハマった話 – わりと技術的な話」にありますが、StaticPressで画像つきの投稿を新規作成するとうまく動かない場合があります。運用で、先に投稿を作成してから構築して、その後に画像を追加すれば良いようですが、プログラム側で対処できないか調べてみました。 手元ではカスタムパーマリンクにしてあって、「%post_id%.html」となるようにしてあるので、その前提で読んでください。調べてみたところ、問題の投稿に対しては「1.html/xxxxxx」と「1.html」のURLが生成されていて、先に「1.html/xxxxxx」が作られてしまうとファイルの「1.html」が生成できずに404エラーが発生してしまうということがわかりました。「1.html/xxxxxx」というURLが必要かどうかがよくわからないのですが、StaticP
UARTによるデータ通信で気をつけることについて調べてみたので整理しました。 UARTとは UART – Wikipediaによると、UART (Universal Asynchronous Receiver Transmitter) は「調歩同期方式によるシリアル信号をパラレル信号に変換したり、その逆方向の変換を行うための集積回路」のことだとあります。USART (Universal Synchronous Asynchronous Receiver Transmitter) は「UARTに、同期方式のシリアル信号を変換するための回路を追加したもの」だということで、どちらも集積回路で、マイコン間のデータ通信などに利用されていることがわかります。 USARTは同期方式の回路をUARTへ追加したものなので、UARTとしても利用することができます。どのように利用するかは、初期設定時にどのように
Raspberry Pi で使えるUSB無線LANアダプタとしては次があるようです。 BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNM BUFFALO 11n対応 11g/b 無線LAN子機 親機-子機デュアルモード対応モデル WLI-UC-GNM2 I-O DATA IEEE802.11n/g/b準拠 150Mbps(規格値) 小型無線LANアダプター ブラック WN-G150UMK WLI-UC-GNMが一番安くて入手もしやすいので、いまのところ一番よく使っています。WLI-UC-GNM2はまだ持っていませんが、実績があるようなので一覧に入れておきました。I-O DATAのWN-G150UMKはWLI-UC-GNMやWLI-UC-GNM2よりも消費電力が低いようなので、購入してみました。Raspberry Piで使うものは小型であればど
Ruby開発者 まつもとゆきひろ氏が講演をしてくださるということで、聴きに行ってきました。テーマは「ハッカー・マインド」。気さくな雰囲気で、面白い話をしてくださいました。まつもとさん、運営者の皆様、ありがとうございました。 NSEGで、とみたさんがよく使っている「Rabbit」をまつもと氏も使用していました。聴講者に学生さんが多いこともあってか、Rubyそのものや技術的な内容よりも精神面での話をすることにしたようです。 まつもと氏の考えなどは「英語力は最強のレア・カード!Ruby開発者 まつもとゆきひろ氏から学ぶ「これからのエンジニアが生き抜く方法」 | DMM英会話ブログ」で結構紹介されているようです。今回は、本人から生で聞けたということが良かったです。人柄と話方と内容はやはりワンセットなのでインパクトが違いますから。 「他の人に頼んでも解決できないことがあったら、自分でやろう」というマ
VagrantでCentOS7をインストールして、CentOS7 + WordPress + Nginx + MySQL を動かしてみましょう。 Vagrantは「Vagrant」からrpmをダウンロードしてインストールします。CentOS7のboxは「A list of base boxes for Vagrant – Vagrantbox.es」から選びました。 $ sudo rpm -ivh ~/Downloads/vagrant_1.7.0_x86_64.rpm $ vagrant box add centos7 https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box $ mkdir centos7; cd cento
待望の Apache Tomcat8 解説本が出ていました。Apache Tomcat8 を使うなら「詳解 Tomcat」をチェックするべきでしょう。最近の流れとしては、RubyやPHPの人気が高く、Javaの評価が低くなっている気もするのと、Glassfishの人気も高くなっていることから、Tomcatの注目度が下がってきている気がしていますが、まだまだ現役で使われることも多いと思います。そんな中での出版なので、Tomcatにお世話になっている人からすると、非常に助かりますね。 目次を見ると、基本機能から、Apacheとの連携まで詳解されています。クラスタリング、WebSocket、メモリリーク防止と検知といった項目も紹介されています。セキュリティに関する情報も記載されているのでチェックして対応しておきたいところです。 実際の運用時に必要な設定についても詳しく解説がありますし、情報が混乱
このエントリは、MySQL Casual Advent Calendar 22日目のエントリです。 多数の MySQL サーバをもモニタリングするとき Ganglia を使うと便利です。 現在の Ganglia は、バージョン 3.6.0 なのですが、MySQL をモニタリングしたい場合には、前に hirose31 さんが作ったプラグインがありますが、現在は本体に取り込まれているプラグインを使うといいです。 まず、インストール方法は、CentOS を例にとって説明しますが、Ganglia の RPM パッケージを作成しています。本体に SPEC ファイルのもとがあるので、手元で ./configure したあと ganglia.spec を使うと、次の RPM パッケージが出来上がります。 ganglia-web: Ganglia の Web GUI gangala-gmetad: Gan
次のページ
このページを最初にブックマークしてみませんか?
『www.sssg.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く