netstatを使って「TCPで繋がる」と思ってるものを確認する

サーバーを作った時に作ったサーバのTCPのレイヤーで接続可能か知りたい時がある。 大体の場合は 「つながる想定(セキュリティの設定とか)なんだけど繋がらない」って時にサーバーに入って確認する 例 netstat -anp | grep 8080 なんとなく 「誰」 が 「ど…

wコマンドでuptime(稼働時間)とか現在時刻とか確認する

topでもいいんだけど 「知りたい情報だけサラっと見たい」ってのもスマートな気がするのでメモ。 $ w と1文字打つだけ $ w 11:44:01 up 246 days, 20:16, 2 users, load average: 0.00, 0.02, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT surfing pts/0 …

ncコマンドでネットワークの疎通を確認する

外部apiを使用したい時で、 ipレベル(L4)で制約がかかっている場合はcurlでなくnc(netcat)で確認すると便利である 実用レベルのex: nc -vz -w 1 (ipアドレス | ドメイン名でもいい) port(80など) -v 詳細を表示 -z ポートの状態だけを確認する(これをつけな…

freeコマンドでlinuxメモリの状態を確認する

サーバー管理上メモリの使用状況は非常に重要な点となるので free コマンドの使い方を整理しておく。 まずはとりあえず free -h で状態を見てみる オプション * -m (メガバイトで表示) * -t スワップも表示 * -s 指定した秒で繰り返し表示 * -h とりあえずざ…

CakePHP3でのマイグレーションについて最低限の事だけ書いておく

参考 http://book.cakephp.org/3.0/ja/migrations.html http://qiita.com/ran/items/c45d0228858accea0e86 まずは現在のステータスを確認 bin/cake migrations status マイグレーションファイルを作成する 引数にカラム名と使える方を渡しておくと雛形作って…

CakePHP3でのリクエストパラメータの取り方

基本的な事 HEADER $this->request->header('X-HOGE'); POST $this->request->data('postのキー'), リクエスト(URL)パラメータ アプリケーション側で名前つきで扱いたい時のマッピング /config/routes.php に $routes->connect('/hoge/foo/:bar_number', ['c…

ElasticBeanstalkでEnvironmentsが削除出来ない時

Deleting security group named: *** Reason: Group *** is used by groups: のようなメッセージが出てしまいEnvironmentsが削除出来なくてハマった。 直接セキュリティグループを探し当てて削除しようとしても 「使ってるからダメ」と言われる。 どうすりゃ…

ワイモバイル

ネラーにとって凄く良い響き。BBがルータ配ってたみたいに代理店が駅前でAndroid端末を配りまくってたら面白い。

phpで稼働しているサービスを32bitから64bitに移行してハマった事

php

php5.3系のサービスをRedhat系32bitから64bitへ移行した際に若干はまった 「phpのarray_sliceやarray_mergeで配列から配列を生成した際にキー値が消失する」 という内容だった。 データを覗いてみるとキー値にintegerを指定してた。 上記の関数はキー値が振…

ec2sshを試してみた

結論 チョー便利。 大まかには作者のブログに乗ってるんですが一部訂正が必要だったので。 http://blog.mirakui.com/entry/20101205/1291551625 概要 中身はgemのライブラリです。 sshでec2に接続する時は ~/.ssh/config を設定して ssh app1 とかでつなぐと…

AWSのc3.largeがお得なんだけどAvailabilityZone内でいっぱいだった

aws

時間が解決してくれるたらこの記事は役に立たないけど。 c3.largeはとってもお得なので現在特定のZoneで作れないみたいだ。 We currently do not have sufficient c3.large capacity in the Availability Zone you requested (ap-northeast-1c). Our system …

Postfix入れるならsendmailをアンインストールしとく

yum remove sendmail それだけっちゃそれだけ。 サービス起動してもエラーを履く。

ec2インスタンスのセキュリティグループは後から変更出来ない

タイトルの通り。 amiを吐き出してもう一度インスタンスを作り直すしか無いみたい。。。 セキュリティグループのルール自体を変える事は出来るけど、 このインスタンスだけ変えたい(新しく作ったセキュリティグループを適用したい) が出来ない。。。 むー…

xcode5&iOS7でアプリのアイコンを設定する

どっから設定するのか解らなかったら イメージとかを保存しているディレクトリに(多分どこでも良い) icon.png って名前で保存すればアイコンとして使ってくれるみたいだ。 xcodeの話なのかiOSの話なのか解らないけど、 iOS開発は完全に素人なのでまあとり…

Vagrantでec2にインスタンスを作る

大まかな物は見つかるんだけど。 自分の要求通りにやっと情報が集められたから書いておく。 vagrant plugin install vagrant-aws vagrant init Vagrantファイルを作る # 設定定義, あんま気にしてない VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGR…

Vagrantのrootパスワード

デフォルトrootのパスワードが解らなかったから。 vagrant sshで入った後 su - の後のパスワードは vagrant だった

Vagrantで起動と同時にプロビジョニングする

1.3以降はprovisionがオプションになったらしい。 まあその方が正しいか。 vagrant up --help [outsource_shell] Usage: vagrant up [vm-name] [options] [-h] --[no-]provision Enable or disable provisioning --provision-with x,y,z Enable only certain…

fuelphpでレンダリングにかかった時間と使用しているメモリを表示する

こんな感じでviewに書くと勝手に出してくれるっぽい。 Page rendered in {exec_time}s using {mem_usage}mb of memory.

fuelphpでテンプレートにバージョンを出す

あんま使う事無いだろうけど。 覚え書き。 こんな感じ。

fuelphpで管理画面を作ってみる

参考 http://qiita.com/hokutoasari/items/6a39ee7524e679c6152a http://blog.kinjouj.net/fuelphp-29-ormauth.html Ormのログイン機能を使う編集(OrmAuthを導入する) fuel/app/config/auth.phpを編集 driver' => 'Ormauth', とする ログイン機能を使うdbを…

fuelphpでscaffoldとmigrationする

tbl fuel/app/migrations/番号_マイグレーションファイル.php 参考 http://qiita.com/ryurock/items/ae107a96699745a02560 scaffold php oil g scaffold monkey name:string description:text migration php oil refine migrate そうすっと mysql> desc monk…

fuelphpに適用したtwitterbootstrapをレスポンシブにする

fuelphp1.6で確認済み。 scaffoldでテンプレートを作った場合 fuel/app/views/template.php を読み込んでるのでここに <meta name="viewport" content="width=device-width" /> これを足してやる。 これでOK</meta>

息子は電車が大好で車に興味が無い

自分は子供の頃から車が大好きで、子供の頃はミニカーをねだってたもんなんだけど。我が子を含む最近の子供達には電車が大人気だ。プラレール大好きだ。何でかなー。とか思ってたんだけど。よくよく考えてみたら簡単な理由な気がした。単純に格好良い車が無…

fuelphpの環境をaws上に構築(でハマった所)

以前はsqaleを使っていたので素の環境から作ろうとすると意外とはまる。 こういう所はvagrantなりchefなりでなんとかするべきなんだろうな。 環境はAMI。amazonのデフォルト。 fuelphp1.6 apacheの設定で ドキュメントルートのディレクティブに AllowOverrid…

twitterbootstrapをスマホ対応する時に必要なmetaタグ

いつも忘れる。 <meta name="viewport" content="width=device-width" /> これでおk</meta>

rackupからsinatraを起動する

# coding: utf-8 # sinatra関連とactiverecord, mysqlのライブラリを読み込み require 'rubygems' require 'bundler' require 'sinatra' require 'sinatra/reloader' require 'active_record' require 'mysql2' # rackが起動するrubyアプリケーション # sina…

bundlerでgemをインストールする時のメモ(インストール先指定とか)

gemのインストールを管理してくれるbundlerがとっても便利なんだけど。 sinatraみたいな軽量な物を使うときにシステムのgem領域を汚したくない。とか 複数アプリケーションを動かすなんて事もざらに有るとおもう。 そういう時は bundle install --path gems …

sinatraからactiverecordを使ってるとActiveRecord::ConnectionTimeoutErrorと出る

ActiveRecord::ConnectionTimeoutError 何かよく解らないけどコネクションエラーが出る。 どうもコネクションプールの辺りに問題が有るらしいがそれくらい勝手になんとかしておいて欲しいと思うのが本音。。。 対応策としてはここに書いてあるのを参考にして…

sinatraからmigrationを使う

参考 http://blog.ruedap.com/entry/20110416/ruby_sinatra_active_record_3_migrate こっちのがシンプルそう http://materia.jp/blog/20121029.html

djangoのチュートリアル通りやってたらError: No module named pollsと出た

djangoを触ってみようと思って下記のサイト道りやってたら http://www.djangoproject.jp/doc/ja/1.0/intro/tutorial01.html#intro-tutorial01 モデルを有効にする で python manage.py sql polls Error: No module named polls ってエラーが出る。。。 結論…

capistranoのroleを動的に生成する

あんまり難しい話じゃなくて。 配列で受け取った値をどうやってroleにセットするのか解らなくてハマってた。 普通に書くとこうなるわけなんだが。 role :web, "hoge.jp", "foo.jp" 何かしらのwrapperを書いていて動的にroleを設定したい事が有ると思う。 こ…

githubへpushした時にawsからソースを取得する

AWSじゃなくても良いんですけどね。 githubにはservicehookというgitリポジトリのhooksみたいな機能がある。 リポジトリの画面からSettings(レンチのアイコン)→ServiceHooks→WebHook URLs の順序で辿って URLという欄に通知させたいサーバーのurlを記載する…

ruby gemをバージョンアップ, ダウンさせたい

バージョンダウンさせる 一旦アンインストールする gem uninstall -v 2.0.3 rubygems-update 好きなバージョンを入れる gem install -v 2.0.2 rubygems-update バージョンアップさせる バージョンダウンさせた時と一部同じ方法で(インストールとバージョン…

RubyOnRailsでsqlを直接指定する

極力ActiveRecordの標準に沿って書きたいけど、 やっぱ初動からそこを全部覚えるのが学習コスト高いなー。 と思ったら members = Member.find_by_sql( ["SELECT * from members WHERE name = ?", 'Taro']) こんな風に書ける。

Railsでちょこちょこ触りそうな予想のファイル#1

config/routes.rb # root to: "コントローラ名:アクション名"でドキュメントルート root to: "top#index" # httpメソット名 "パス名" => "コントローラ名#アクション名", get,post両方の場合はmatchを使う, asでアプリケーションから値が取れる get "about" …

ゆとり&LL房のPGがRaspberrypiを触ってみる#1

とりあえずハードウェアが届いたらSDカードにOSをフラッシュする mac os xでの実効 http://www.raspberrypi.org/downloads こっから 2013-05-25-wheezy-raspbian.img をダウンロードしてきて 自分の場合は Raw Images の下辺りに有った。 これをSDカードにフ…

Railsの<%= yield %>というモノ

Controller(アクション)からから呼び出されたテンプレートが作成するHTMLコンテンツが埋め込まれる。 現実的には app/views/layouts/ で使用されてアクション固有のビューを入れる。 layoutの指定仕方が有るからそれもメモしとかないと。。。

Railsでsmartyの拡張関数みたいのを作る

rails勉強中 railsでsmartyみたいにview側で使う関数を定義したい場合は このコントローラ/アクションで呼び出される関数を作る時は app/views/lesson/step15.html.erb このディレクトリにコントローラ_helper.rbで定義しておくと使える app/helpers/lesson_…

Bundlerについて

キーワードだけ聞いてたのでメモしとく。 rubyはgemっていうperlでいうcpanみたいなパッケージ管理がついていて、 このバージョンとかインストールとかを揃えるツール。 ラッパーみたいなもんかね。 Gemfile ってのが有って ここに source 'https://rubygems…

gitのリポジトリを作成した時にデフォルトのテンプレート(hooksとか)を設定する

リポジトリ共通のテンプレートが有るなら、 下記に書いておくと作成した時に適用される。 /usr/share/git-core/templates/ 多分一番使うであろうは /usr/share/git-core/templates/hooks ここのフックスクリプトでしょうね。

ユーザーを作った時のデフォルトホームディレクトリ構成を設定

.ssh/authorized_keys のようなファイルって必ず作るようなものなので。 雛形を作っておいてユーザー作った時に勝手に置いて欲しい。 /etc/skel/ 配下に /etc/skel/.ssh/authorized_keys って作っておくとユーザー作った時に作っておいてくれる。 便利便利。

useradd -dでホームディレクトリ作ったら公開鍵が見えなかった

解決策 setenforce 0 selinuxが効いてたせいなのね。。。 しょぼーん。 何でかはよくわからない。 どうも鍵にidのようなフダが付いて回るのが原因っぽいが。

ターミナルに入力中の文字を全部消す

入力中の文字を全部消したい delete押しっぱなしとかめんどい。そのためだけの覚え書き。 Ctrl + u

Vagrantでmountのエラーが出た

The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` v-root /vagrant vboxの問題らしいので再ビルドしてみる。 sshでvag…

Vagrantのrootパスワード

デフォルトでは su - password vagrant で行ける。 手元の環境だからこのままで良いや。 覚え書き。

Redisでトランザクションっぽいものを実装する

# トランザクションっぽいのスタート multi # コミット exec # ロールバック discard ただし。ハードウェアクラッシュのようにRedisより下のレイヤーのクラッシュがあった場合は、 完了した所までコミットされてロールバックはされない。要は一貫性の保証は…

RedisでSortを触ってみる

ListとSetとSortedSetに使える # 昇順 sort list # 降順 sort list desc # 途中で切る sort list desc limit 0 3 # 文字列の場合 sort list alpha

Redisでハッシュを触ってみる

key:valueのvalueにさらにハッシュを持つ # 追加 hset ハッシュ名 キー 値 hmset ハッシュ名 キー 値 キー 値 # 取得 hget ハッシュ名 キー 値 hmget ハッシュ名 キー 値 ハッシュ名 キー 値 # キーの長さ hlen ハッシュ名 # キーの種類 hkeys ハッシュ名 # …

Redisでsorted setを触ってみる

バリュー値でソートされた値を保持 # 追加 zadd set名 バリュー値 キー値 # 削除 zrem set名 キー値 # ランクを表示, 保持値の順番を取り出す zrank set名 キー # 降順の順位を取り出す zrevrank set名 キー # バリュー値でソートして表示 zrange hs 0 -1 # …

Redisでset型を触ってみる

順番が保証されないlist型って事かな? # 追加 sadd set名 値 # 削除 srem set名 値 # 一覧 smembers set名 # 和集合 sunion set名 set名 # 積集合 sinter set名 set名 # 差集合 sinter set名 set名 # 集合から新しいsetを作る sunionstore myunion myset1 m…