何者にもなれていない5年目のエンジニアブログ

Linuxコマンドを制するものは障害対応を制す。# 毎分のアクセス数を数えたい。

(´-`).。oO(22時は毎分どれくらいアクセスきたのかな) そう。そんな時は、 Linuxコマンドを使おうっ! 例えば、access_logには、 2014:22:01 user_id = 1 2014:22:02 user_id = 3 2014:22:02 user_id = 5 2014:22:03 user_id = 2 2014:22:03 user_id = 6 2…

URLにCALLBACK_URLを入れる時はアスキーコードで書かないといけない。

例えば、 (´-`).。oO(gonyogonyo1では、user_id=1で処理を行い、callback_urlにgonyogonyo2として、user_id=5でcall_backするような処理をしたい) と思った時、普通に考えると次のようなurlになると思います。 http://example/gonyogonyo1?user_id=1&callb…

print "$0"

常識感はありますが、これは、ファイル名が出力されます。 例えば、test.pm内で print "$0"; と書くと、 perl test.pm test.pm と出力されます。 参考まで

git でmergeした時、conflictが発生。それを解消してcommitしてpushしたんだけど、やっぱり無かったことにしたい。

はい。 git でmergeした時、conflictが発生。それを解消してcommitしてpushしたんだけど、やっぱり無かったことにしたい。 こんな時、 (´-`).。oO(まじでやっちまったー。もうどうしたらいいかわからないよー。dふぉdふぉdんfdsf;) と思うのですが、まず…

Linuxコマンドを使いこなす。該当件数を数える ( Linuxコマンドを制するものは障害対応を制す)

タイトル通りです。 wc -l の初歩的な使い方です。 簡単な例ですが、大抵アクセスログって下記のような形ですよね test.txt 2014/01/07 20:34 Aさんがアクセス 2014/01/07 20:35 Bさんがアクセス 2014/01/07 21:43 Bさんがアクセス 2014/01/07 21:50 Cさんが…

続:マンガボックスが面白い件について

引き続き、マンガボックスいいなと思ってる件です。 アプリがリリースされてから、日が経ち、ランキングというものが乗ってました。 http://fukurouapp.com/調べてみた/これがマンガボックスの人気マンガベスト30だ!ソ/ ⬆のサイトに漫画のランキングが乗っ…

useとrequireの違い

useはモジュールを先にインクルードしてrequireはその処理が来たときにincludeします。 先に処理するか後に処理するかの違いです。 requireは処理がきてからでないとわかりません。ただメモリ量はその分、少ないです。 useはその処理がこなくてもインクルー…

Linuxコマンドを使いこなす。grep、sed、awk ( Linuxコマンドを制するものは障害対応を制す)

今日、紹介するのは、grepとsed(置換)とawkです。 例えば、今までずっとコードでベタ書きしていたデータがどんどん増えてきて、データベースでの管理に変えたい時などがありますよね。 例えばこういう時、item_idと値段(price)をあろうことかハッシュで管理…

Perlにおける偽値

復習ですが、、 Perlにおける偽値(if文などでNOTとなる数値)とは次の五つのみです。 0 "0" "" undef () なので、それ以外の 0.0 {} [] -1 などは偽値とはなりません。 参考まで quoted by http://d.hatena.ne.jp/perlcodesample/20100126/1264257759 and ta…

MySQLのNULL値はPerlでいうundef

記事通りです。 一般常識かもしれないんですが、MySQLのNULLってperlでいうundefになります。 ここで大事なのは、 空入力 ""や、()はNULLにならない ってことです。perlのNOTは、MySQLのNULLじゃないんですね。 MySQLには 無効値の制約 http://www.y2sunligh…

【MySQL】ユニークキーとプライマリーキーの違い

ユニークキーは、 1.複数個作ることができる。 2.NULL値を格納することができる。(NULLは複数でもok)

mysqlの show tables の条件検索

日ごとにデータなどを管理していると、1000個位のテーブルは行きます。 そんな時、show tablesでtableを見ると、大量にtableが出過ぎて訳の分からない状態になってしまいますよね。 そんな時の条件検索です。 たとえば、gameという言葉が含まれるtableのみ検…

insert_ignoreは失敗すると共有ロックが起こる。

insert_ignoreは失敗すると共有ロックが起こるので、その後更新するために、select for updateなどをかけて排他ロック取りにいくような処理にしていると、同じことをしようとした人がいた場合、お互いの共有ロック解除待ちとなるので、デッドロックが発生し…

マンガボックスが面白い。

マンガボックスの話です。 これ、単行本が出たら一気に一般に浸透するんじゃないかな って思ってます。 理由ですが、 1. 普通に面白い 今までWeb連載が流行らなかった理由って恐らくは、Web連載の漫画の質が雑誌に比べて低かったからなんじゃないかと思って…

今いるブランチをプロンプトに表示する。

そもそも、なんで間違ったブランチで作業してしまうのか ありがちな理由:今、どこのブランチにいるのかわからない からだと思います。これ表示できたら便利ですよね。 て、毎回思ってたのですが、結局やらず終いになっていたので、いい加減やりました。 参…

違うブランチで作業していた時の解決策

あるあるです。 違うブランチで作業してしまっていた時、 (´-`).。oO(やっちまったー。今日やった変更箇所、あっちのブランチにくっつけたいー) とか思いますよね。 いつも自分の解決策は、 方法1. とりあえずaddしてcommitして、cherry-pickする。 が第…

/bin/sh: gcc34: コマンドが見つかりません

今日の出来事です。 いつものようにテストコードを流す。 /bin/sh: gcc34: コマンドが見つかりません ?! (´-`).。oO(いや、gccはyum installで入れているはず、、なんだgcc34とはgccとは違うのか。GCC....まさか..?) これ、gccをgcc34と認識してくれな…

テストコードを一括でテストする。

タイトル通りです。 作ったテストコードを、prove -v ファイル名 ok ok ok テスト完了! よし、次のファイル と、沢山のテストコードをテストしていて、思いました。 (´-`).。oO(一括でテストできないかな) 結果、すごい簡単でした。 テストしたいファイ…

git cherry-pickで起きてしまったconflictの解消方法【--ours、--theirs】

タイトル通り git cherry-pickってすごい便利ですよね。 ご存知の通り、"git cherry-pick コミット名" で他のブランチのcommitでも、自分のブランチに付けちゃうことができます。 まさしく、さくらんぼをつまんで、自分の枝に付けるといったイメージです。ネ…

SQL::Absract のselectのwhere句に空のリストを入れた時の挙動

SQL::Abstractは本当に便利。 http://search.cpan.org/~ribasushi/SQL-Abstract-1.77/lib/SQL/Abstract.pm (´-`).。oO(引き数渡したら、自動的にSQL文作ってくれないかな) と、思っていても大抵のことはできちゃいます。ですが、便利だけど 魔法の箱 にな…

ステータスコード302と303の違い

今日ステータスコード200と302の説明を少し受けたので補足。 wikiより、http://ja.wikipedia.org/wiki/HTTPステータスコード 302 Found 発見した。リクエストしたリソースが一時的に移動されているときに返される。Location:ヘッダに移動先のURLが示されてい…

git におけるconflictの解消法

gitで初めてconflictが起きた時、本当に何をしていいかパニックに陥ります。 gitでconflictが起きた時に、ともに戦える「コマンド」のつくり方 、教えます って別にそんなおおげさなものではないのだけど。。 方法1. とりあえずgit status 話はそれからだ。 …

git pushとgit pullの挙動 (引き数ありと無しでどう違うのか)

git push とgit pull が引き数の有無によってどのように振る舞いが変わるか 1. git pullの有効範囲 ローカル:今チェックアウトしているブランチ(カレントブランチ)がb1 で master、b2とブランチがあり、 リモート:master、b1、b2、b3とブランチがある状…

ありがちなWeb site攻撃方法とその対策

代表的なものが三つある。どんな教科書にも書いてありますが ①. CSRF ②. SQLインジェクション ③. クロスサイトスプリプティング ①CSRF CSRFとは:クロスサイト・リクエスト・フォージェリーとは、攻撃者が、特定のサイト(攻撃対象)に意図しないデータを送信…

git commitの過去を改竄

git commitの歴史を変える方法 いくつかある。挙げてみると、 1. git commit --amend 2. git rebase -i 3. git rebase 4. git reset 5. git filter-branch filter-branchとは これは、大量のコミットの書き換えを機械的に行うオプション。 これを使うとレポ…

ギャップロック

ギャップロックとは 空のレコードにロックをかけた場合、空振りし、前にあるレコードと後ろにあるレコードの空白にロックがかかる現象 例: 20 30 とレコードが存在している所、25にロックをかける。 21から29までロックがかかる。

Linuxコマンドを制するものは障害対応を制す!!

表題通りです。 本日のタイトルは、 「Linuxコマンドを制するものは障害対応を制す!!」

新年よりブログ始めました。

初めまして。 nikeです。 新年よりブログ始めました。 このブログの目的ですが、 「日々楽しく業務をこなすためには、休日に自己研鑽しなければっ、、、!!」 ということで休日中に自己研鑽した結果を書いていくようにしました。 目標は毎週更新ですっ。。…