タグ

tipsに関するdrillbitsのブックマーク (195)

  • Linuxサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか - たごもりすメモ

    完全に このエントリ のネタパクりです。すいません。 何に使われてるかわかったもんじゃないマシンとか開発用サーバとかだと超巨大なバイナリとか置いてあるかもしれませんが、プロダクション用のサーバでそういうことは無いとしましょう。 その場合、原因はだいたい以下のどれかです。www/appとdbが別マシンに分かれてる場合は更に絞り込めますね。 wwwサーバやappサーバ ログ 圧縮してあるが保存世代数が多くて厳しいケース 圧縮し忘れてるケース 圧縮どころかローテーションすら忘れてて1ファイルどかんと存在するケース ローテーションがうまくいかなくて deleted ファイルなケース tmpデータなど(app) キャッシュサーバのディスクキャッシュ dbサーバ データ実体 (ib_data) バイナリログ ログの場合でも、ディスク上のどこにログが書かれてるかは色々なパターンがある可能性がありますね。

    Linuxサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか - たごもりすメモ
  • Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々

    とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど

    Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々
  • zshのalias -s (suffix alias)が神な件 - プログラムモグモグ

    まず, 他のシェルをお使いの人にはごめんなさい. aliasコマンドの-sが使えるのは zsh 4.2.x- で, 他のシェルでは実装されていないと思います. あと, もう既に alias -s 知ってるよーって人は読まなくていいです. alias -s って何? 打ったコマンドの後ろ(suffix)を見て, 適当に宜しくやってくれるやつです. 次の例を見て下さい. ~$ echo "print ('hello, world')" > hello.py ~$ python hello.py hello, world ~$ alias -s py=python py=python ~$ ./hello.py hello, world ~$ Pythonのコードは python hello.py で実行出来ますが, お尻が py なら python を使います, とaliasしておけば, ./

    zshのalias -s (suffix alias)が神な件 - プログラムモグモグ
  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

  • Mac を使っているなら必ず使うべき2つの機能 "Automator" と "サービス" - kurainの壺

    Automator ってなんか超高機能なマクロみたいなイメージがありますが、とても便利なのでご紹介。 もともとは、会社の上司Windows から Mac に移行したのだけれど、"秀丸みたいに選択範囲を ruby で evalできないの" とおっしゃっており、しかも Emacs は微妙とのことなので、Automator でどうにかしてみた。Service でできるんじゃないかねと教えてくれた同僚に感謝。 追記(2013/02/24) デバッグ方法を別エントリに書きました できること 文字列選択して Ctrl+= を押すと選択文字列が ruby で実行されます。編集可能なテキストエリアならだいたい何処でも。 作り方 アプリケーション ディレクトリにある Automator を起動します。 新しくサービスを作ります ユーティリティ > "シェルクスクリプトを実行"というアクションを選んで右の

    Mac を使っているなら必ず使うべき2つの機能 "Automator" と "サービス" - kurainの壺
  • Vim でコピペするときの Tips - 反省はしても後悔はしない

    この記事は Vim Advent Calendar 2012 の 40 日目の記事です。 昨日は @kokukuma さんのなんかvimがセグメンテーションフォルト吐いたんですけど。。でした。 はじめに プログラミングに限らず、何かを書くときにコピー&ペーストってよく使いますよね。Vim でも当然その機能はありますが、Vim の場合はレジスタという仕組みによってさらに便利に使うことができます。 今回は、私が最近覚えてすごく便利に思ったコピー&ペーストに関する小ネタを書きます。 前提知識 レジスタとは 文字列を y でコピー(Vim ではヤンクといいます)すると、その文字列は無名レジスタに蓄えられます。d とか c とかで削除した時も同様です。無名レジスタに記録された文字列を貼り付けるには単純に p や P を使います。 "ayy とか "bdw とすると、明示的に a レジスタや b レジ

    Vim でコピペするときの Tips - 反省はしても後悔はしない
  • 少ない手間と知識でそれなりに見せる、ズルいデザインテクニック// Speaker Deck

    少ない手間と知識でそれなりに見せる、ズルいデザインテクニック with Sass / Compass (English Version) https://speakerdeck.com/ken_c_lo/zurui-design-technique-english-version 第一回…

    少ない手間と知識でそれなりに見せる、ズルいデザインテクニック// Speaker Deck
  • CDH4 Configurations with YARN, Capacity Scheduler and Hive | 外道父の匠

    CDH4 Configurations with YARN, Capacity Scheduler and Hive 前回の続きで、私がCDH4で利用している外道式設定ファイルの紹介です。 非常に手間暇かけて作成したものなので墓の下まで持って行きたいところですが、某所からの圧力と社会のために、恥ずかしながら放出したいと思います。 はじめに 言うまでもなく、参考・利用においては自己責任でお願いします ホスト名・ファイルパスは適当に変換してください descriptionの日語は私のメモですので怪しかったらググってください 英文のみの場合はまだ未検証だったり説明するまでもないものになっています 2ヶ月以上これで運用していますが、まだまだ変わると思うので更新日付を書いておきます ファイルはUTF-8です Hadoop設定 CDH3からCDH4への設定変更リスト core 公式 core-def

    CDH4 Configurations with YARN, Capacity Scheduler and Hive | 外道父の匠
  • PyFes LT 2012.08 で「使い捨て python コードの書き方」についてしゃべってきました - 科学と非科学の迷宮

    使い捨て python コードの書き方 from Sho Shimauchi サポートの仕事におけるプログラミングというのは通常の開発と少し異なっています。 「1時間以内に数十GBのログを解析して問題を特定し対策を回答しなければいけない」などということはしょっちゅう発生しますので、ちまちま時間をかけてコードを書いていられません。 その代わりプログラムそのものをお客様に提供するわけではなく、解析の道具として手足のように使うことが要求されますので、基的に品質は求められません。 そういう意味では、プログラミングコンテストに性質が近いかもしれません。あそこまでの高度なアルゴリズムを使うことは稀ですが。 先日 PyFes LT で話をした内容を要約すると、「作成スピード向上のためにもある程度のテストやコード管理は必要ですよ」ということです。 わずかでもテストを書いておけばケアレスミスの確認・修正時

    PyFes LT 2012.08 で「使い捨て python コードの書き方」についてしゃべってきました - 科学と非科学の迷宮
  • JavaScript Garden

    JavaScript Garden はJavaScriptというプログラム言語の一番奇妙な部分についてのドキュメント集です。 このドキュメントはJavaScriptという言語に慣れていないプログラマーがこの言語について深く知ろうとする際に遭遇する、良くある間違い・小さなバグ・パフォーマンスの問題・悪い習慣などを避ける為のアドバイスを与えます。 JavaScript GardenはJavaScriptを教える事を目的にしていません。このガイドの項目を理解する為には、この言語に対する前提知識がある事を推奨します。この言語の基礎部分についてはMozilla Developer Networkのガイド がオススメです。 著者 このガイドは愛すべきStack Overflowの2人のユーザーIvo Wetzel (執筆)とZhang Yi Jiang (デザイン)によって作られました。 貢献者 貢献

  • らばQ:これはおしゃれ、15の靴ひもの結び方

    これはおしゃれ、15のひもの結び方 ひもなんて結べてほどけなきゃいいんじゃないの?と思っている人が大半かもしれません。 でもひもといえど結び方ひとつでずいぶんと個性が出たりおしゃれに見えたりするものです。ちょっと違う結び方をしたいなと思っていても、他に方法を知らないという人も多いのではないでしょうか。 GUIDE TO LACINGという海外サイトに15の結び方の説明がありますが、難しそうな結び方もあるので図解と共に15の結び方の説明文を全て日語訳にしてみました。 はしご結び 1. まずひもの両端をまっすぐ、つま先の両方の穴の下から外へ出します。 2. そのまま2をまっすぐ次の穴へ外から通します。 3. 内側から出してきたひもを交差させて、縦のひものラインの下をくぐらせ、そのあとまっすぐ次の穴へ外から通します。 4. 最後は交差させたひもを、縦のラインにくぐらせてから結びます。

    らばQ:これはおしゃれ、15の靴ひもの結び方
  • Mercurialでchangeset圧縮 - monjudoh’s diary

    Gitのchangeset圧縮がうらやましいので、 MercurialQueueを利用してやってみた。 概ね↓を参考にした。 ursmの日記 最初からMercurialQueueで管理していない場合のやり方です。 branchのMercurialQueueへのpatchに変換 Rev:298〜Rev:301のbranchのRev:298〜Rev:300を圧縮するとする。 まず該当branchのheadに移動する hg update 301 qimportでRev:298〜Rev:301をMercurialQueueのpatchに変換する。 hg qimport -r 298:301 このとき例えばRev:299だけ別のbranchなどという場合は、 Rev:299がネックになってしまいできないので、 Rev:299を除外してコマンド実行を分割する。 hg qimport -r 300:30

    Mercurialでchangeset圧縮 - monjudoh’s diary
  • MySQL + InnoDB で SELECT ... FOR UPDATE 使ったときのメモ - ねじろぐ @drillbits

    登場人物 どりるび:SIer時代はDBチームにDBを任せ、その後はゆるふわKVSを使いつづけることでRDBとの戦いを避けてきた。罪深い。 あらすじ のっぴきならない事情で、一意制約がかけられないにも関わらずテーブルに同一のデータを存在させたくないってことがあった。 例示であり実際のコードや所属する団体とはアレです。 user カラムはid(AUTO_INCREMENTなプライマリキー)とscreen_nameとis_deleted screen_nameの重複したデータは作りたくないが、例外としてis_deleted=TrueなものはOK こんなかんじ ID screen_name is_deleted 1 ibusem False 2 d_osamu True 3 d_osamu True 4 d_osamu False で これだとアプリケーションレベルで存在チェックをかけた後にインサ

    drillbits
    drillbits 2012/06/25
    ごめんねむい
  • 2012.05版 Python開発のお気に入り構成(ポロリもあるよ) - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。最近は色々とPythonの開発環境も変化してきていて、ようやくPython2.xとPython3.xを行き来しながら開発する体制が整ってきたという印象を受けています。ここしばらくは色々と試していたのですが、ようやく鉄板っぽい方法にたどり着いたのでメモしておきます。 なお、後半はPythonに限らない内容なので、他のLLを使っていても使えそうかなと思っています。この環境を設定すると何ができるのかというと、以下のことすべてが、無料で、自鯖を立てることなく行えます。 開発環境の整理(virtualenv) ローカルでの複数環境のテスト容易化(tox+pytest) CIによるテスト(Travis-CI) ドキュメントの自動ビルドおよびドキュメントの公開(ReadTheDocs) 概要 とりあえず全体像を先に共有しておきます。ちょっとでかいですがご了

    2012.05版 Python開発のお気に入り構成(ポロリもあるよ) - YAMAGUCHI::weblog
  • yaakaito のための Haskell ライブラリの読み方

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    yaakaito のための Haskell ライブラリの読み方
  • Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事

    絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows API

    Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事
  • Zipファイル一個で実行可能なPythonアプリケーションを作ってみる - atsuoishimoto's diary

    アプリケーションを作成して配布するとき、配布するのは複数のファイルやディレクトリではなく、ファイル一つだけで済ませることができたらそれに越したことはないだろう。Pythonには cx_Freeze や py2exe のような、プラットフォーム固有な実行可能ファイルを開発するための環境も揃っているが、ここではもうちょっとライトに、Pythonの実行環境があれば実行できる zip ファイルの作り方を紹介したい。例として、flaskを使った簡単なWebアプリケーションを作ってみよう。 尚、ここで作成したファイルは https://github.com/atsuoishimoto/demo_pkgrsrc に置いてあるのでご参照いただきたい。 リソースファイルの使い方 普通、アプリケーションにはスクリプトファイル以外にいろんなファイルが含まれる。この例のようなWebアプリケーションではHTMLやC

    Zipファイル一個で実行可能なPythonアプリケーションを作ってみる - atsuoishimoto's diary
  • packerで圧縮されたJavaScriptのdebug方法 - monjudoh’s diary

    minifyされたJavaScriptは各種開発者ツールのdeminifierを使えば整形された状態でdebug出来ますが、packerで圧縮されたJavaScript(以下packed JS)はどうかという話。 Google Chromeの開発者ツール前提で話をするので他のブラウザについては誰か調べてみてください。 packed JSをdebugする際の壁はそれがevalで実行されることですが、Google Chromeの開発者ツールではevalで実行されたJSもdebug実行出来ます。 問題はどうやってdebug実行に持っていくかですが、globalから辿れる何らかのAPIがあるなら呼び出し元でブレークポイントを貼ってstep intoすれば良いです。 その場実行されるようなJSの場合はそれもできないので工夫が必要です。 以下は古いjQueryを使った例でそのような工夫は来不要ですが

    packerで圧縮されたJavaScriptのdebug方法 - monjudoh’s diary
  • 何段にも深くなるループを絶対に一段で書く方法 - 今川館

    ループの中でループを回す処理は読みにくい 例えば友達が5人いて、サンドイッチが3種類あって、2種類の飲み物を配る処理を作るとします。 こういう場合、for文を何段にもネストするプログラムを書かざるを得ないときがありますよね。 for friend in friends: for sandwich in sandwiches: for drink in drinks: do_something(friend, sandwich, drink) そもそも、こういうプログラムを書く前は、当にそういう処理で正しいのか考えた方がいいですが、とにかくこんなコードは読みにくいです。 ループの中でループを回すプログラムを字下げして書くことが読みにくさに寄与していると思うのですが、pythonだと字下げは必須なので悩ましいものです。 itertools.productを使えば絶対に1段で書ける しかし、こ

    何段にも深くなるループを絶対に一段で書く方法 - 今川館
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm