tipsに関するphiroseのブックマーク (24)

  • Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ

    主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /

    Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ
  • サーバの負荷テストのための、何百万ものHTTPリクエストを発生させる方法 | POSTD

    (注記:6/9、いただいた翻訳フィードバックを元に記事を修正いたしました。) 今回の記事は毎秒300万ものリクエストを処理できるほど強力で高性能なWebクラスタの構築についてのパート1になります。まず初めに、あまり多くはありませんが、私がこれまで使用したことのあるロードジェネレータツールをいくつか紹介します。私のようにてこずって時間をかけてしまわないよう、今回の記事が理解の手助けになれば幸いです。 ロードジェネレータはテストを目的とした数種類のトラフィックを発生させるプログラムです。それによって高負荷においてサーバがどのように動いているか、そのサーバの弱点はどこなのか、などが見えてきます。負荷テストを通じてサーバの限界を知ることは、サーバのレジリエンシーを測定する最適な方法であり、あらゆる問題に対する準備の手助けにもなります。 ロードジェネレータツール 負荷テストをする際に頭に入れておくべ

    サーバの負荷テストのための、何百万ものHTTPリクエストを発生させる方法 | POSTD
  • 第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp

    新社会人のみなさん、こんにちは。特集は、新しいものを学ぶ際に出会う問題について解決するための糸口を提供するために書きました。 みなさんは、「⁠IT業界は変化が激しいので学び続けることが必要だ」と聞いたことがあるのではないかと思います。そしてそのことに異論はないはずです。だからこそ今、サイトを読んで何かを学ぼうとしているわけですよね。それはとても良いことです。 一方で、「⁠学びたいけど時間がない」「⁠何を学んだらよいかがわからない」「⁠社会人として成果を出していける自信がない」などの悩みを抱えている方も多いです。筆者はこの悩みを解決したいです。 限られた文字数では、みなさんの個別の問題を解決することはできません。そこで、みなさん自身で問題を解決していくための糸口を提供します。まず章では、第2章以降でより具体的な問題について説明するための材料となる、ちょっと抽象的な話をします。 知識には

    第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp
    phirose
    phirose 2014/07/23
  • 良いネーミングをするために覚えておきたい英語のルール5つ - プログラマー幸福論

    Photo by muraterturk こういった記事って、ネーミング規則や慣習の視点から書かれていることが多いんですけど、この記事では、英文法に視点を置いて、参考になりそうなことをいくつかピックアップしてみたいと思います。 「省略形は使わない」などの規約的なものは、各プロジェクトのルールに従えばいいので、ここでは書きません。あくまで英語という視点から書いているということを、ご理解ください。 Rule 1 : “検索”は名詞 一般的な英語辞書のルールでは「検索」は、動詞ではなく「検索する」が動詞になります。「検索」は、検索することの名称 だと考えられるため、動詞ではなく名詞として扱います。 英語辞書には、日語の品詞ごとに表記のルールがあります。これが理解できていると、和英辞書などで品詞を意識して検索できるようになります。以下に、一般的な英語辞書の表記ルールをまとめてみました。 <各品詞

    良いネーミングをするために覚えておきたい英語のルール5つ - プログラマー幸福論
  • Pythonの辞書にunicodeとstrで同一の文字列を入れたらどうなるか - 西尾泰和のはてなダイアリー

    In [1]: {u"a": 1, "a": 2} Out[1]: {u'a': 2} ほう、なるほど。これは In [2]: u"a" == "a" Out[2]: True なのでu"a"と"a"が同一視されているんだな。もちろん In [3]: u"a" is "a" Out[3]: False なのだけど、isで「同じキーか」のチェックをしたのでは In [4]: (1, 2) is (1, 2) Out[4]: False とタプルが区別されてしまって嬉しくない。言語を設計するうえで割と悩ましいところだよね。このバイト列とユニコード文字列の自動変換は色々なわかりにくいバグの原因になるのでPython3.0からは取り除かれた。 >>> b"a" == "a" False >>> {b"a": 1, "a": 2} {b'a': 1, 'a': 2}

    Pythonの辞書にunicodeとstrで同一の文字列を入れたらどうなるか - 西尾泰和のはてなダイアリー
  • javascript - 万能継承関数 : 404 Blog Not Found

    2010年03月16日02:00 カテゴリLightweight Languages javascript - 万能継承関数 JavaScript: The Good Parts Douglas Crockford / 水野貴明訳 [原著:JavaScript: The Good Parts] うーん、かっこいいけど、これでも冗長。 JavaScriptで継承やるときにprototype書きまくるのめんどい人は - あ、いしかわですね こうすればいいよ たとえば、 (function(o){ o.jump = function() { alert("Jumps, jump, jumpoo!!"); }; o.sayOwnFavorite = function() { alert("I like "+this.favorite+"!"); }; })(Child.prototype); と書

    javascript - 万能継承関数 : 404 Blog Not Found
  • 「ズブ濡れになった本は凍らせると復活する」というハック術 | ライフハッカー・ジャパン

    半身浴で読書、なんだか優雅ですね。しかし、うっかりバスタブの中に雑誌やを水没させてしまうと大変なことに...。そんなとき、使えるハック術をご紹介しましょう。 米Lifehacker読者のpearce.kilgourさんによると、水に濡らしてしまったや、書類・雑誌は、冷凍庫で凍らせると復活するそうです。ジップロックのようなプラスチック袋に入れ、ジッパーを閉めずに冷凍庫に入れましょう。すると、無駄な水分が抜けるそうです。 ちなみに同様の生活術は、米アイオワ州立大学エクステンションの講師からも紹介されています。コツは濡れている間に冷凍庫に入れること。また、濡れている間は無理やりページを開かず、閉じたままにしておきましょう。ちなみに、冷凍庫に入れるときは、垂直に立てるのが望ましいそうです。同じ大きさのや、ファイルフォルダなどがあれば、支えの代わりにするとよいでしょう。 いかがでしたか? 水に

    「ズブ濡れになった本は凍らせると復活する」というハック術 | ライフハッカー・ジャパン
  • Python Tips

    このページは Python 2.3 くらいのときに書かれたものです。 内包表記とλ式 >>> fs = [ lambda: i for i in range(8) ] >>> fs[2]() 7 各 i ごとにクロージャが生成されるのではなく、ひとつのクロージャで i の値が書き換えられるため、このような結果になる。これは期待した動作ではないと思う。 同じ問題は for ループでも起こる。 >>> for i in range(8): ... fs.append( lambda: i ) ... >>> fs[2]() 7 これは、デフォルト引数をうまく使えば回避できる。 >>> fs = [ lambda i=i: i for i in range(8) ] >>> fs[2]() 2 デフォルト引数 これは Tutorial にも載っているけど。 >>> def f(xs = []):

  • ウィンドウサイズによってスタイルシートを変える - builder by ZDNet Japan

    ウェブページを表示するブラウザのウィンドウサイズは、閲覧環境によってさまざまだ。特定のウィンドウサイズを想定してウェブページを作成すると、それ以外の大きさのウィンドウではコンテンツが読みづらくなるなどの問題が発生する。最近ではiPhoneのような携帯端末からのアクセスも考慮する必要性が出てきているが、サイズ別にページを用意するのは制作にも管理にも手間がかかってしまう。 こんなとき、CSS3の「Media Query(メディアクエリ)」の機能を利用すれば、ウィンドウサイズに応じて適用するスタイルシートを切り替えて、ユーザーの環境ごとに最適なデザインでページを表示することができる。 現在、Media Queryの規格はW3Cの勧告候補(Candidate Recommendation)となっており、Firefox 3.5以上、Safari、Google Chrome、Operaが対応している。

    ウィンドウサイズによってスタイルシートを変える - builder by ZDNet Japan
  • The Python IAQ: Infrequently Answered Questions

    The Python IAQ: Infrequently Answered Questions by Peter Norvig Q:Infrequently Answered Questionって何ですか? ある種の質問は、答えを知る人がほとんどいない、あるいはポイントが曖昧である、理解しづらい問題であるという理由によって(とはいえ、あなたにとってはとても重要なものかもしれません)、めったに答えられることがありません。 Java_IAQ のために、このIAQという用語を作ったのですが、それはとても有名な、 About.comの都市伝説リスト でも見つけられます。PythonのFAQはたくさん見つかりますが、Weiyang Chenによる、 このページの中国語訳 を除けば、これは唯一のIAQです(FAQリストのいくつかには、 C への皮肉が含まれています)。 Q:finally節内のコードの

  • inforno :: Python: パターンマッチしてみる

    なんか、趣味では最近はC言語ばっかりだったりするわけですが。 さて、関数型言語系をカジった人なら誰しも取り付かれる、モノ、それがパターンマッチ。パターンマッチが使えると、とにかく直感的にコードをかけますよね。 つーわけで、Pythonでパターンマッチを実装してみました。機能的には リスト,タプルに対するパターンマッチ パターン変数への束縛 ガード条件 任意のオブジェクトに対するパターンマッチ 部分パターンの束縛(Ocamlのas) あたりを実装してみました。これだけあれば、かなり便利にコードをかけます。できるだけ、手軽に書けるように工夫してみました。こんな感じです。 変数束縛とガード。 getattr でごにょごにょしてるので簡単にかけます。 1m = Match([1,2,3]) 2if m.when([1,2,m.var]) and m.var > 2: 3 print m.var 4

  • Pythonで辞書のキーに正規表現を使いたいという話 – taichino.com

    配列や連想配列をディスパッチテーブルとして利用していると、キーに正規表現を使いたくなる事があります。perlだと既にRegexp::Assembleというモジュールを使う方法が書かれていますが、僕はpythonで書きたい訳です。 アプローチは色々ありますが、僕はあくまでディスパッチテーブルとして利用したいので、dictクラスを継承してオレオレ辞書クラスを作ってみる事にしました。で、書いてみたのが以下になります。やたらと短くすんだのでちょっと感動しました。 #!/usr/bin/python # -*- coding: utf-8 -*- import re class regex_dict(dict): def __init__(self, items=None): for key, val in items.items(): self.__setitem__(key, val) def

  • PythonRecipe

    このページは、Rubyレシピブック (詳細) をPythonで書こうというたくらみです。内容は当たり前のことばかりですが、たまにしかコードを書かない人間は、こうしたことがわからなくてイライラしてしまいます。10行くらいのプログラムならさっと見てさっとかけるようにするのが目標です。 2008年1月21日19:00 ロボットによる荒らし対策を施しました。 レシピブック作成にご協力いただける方がいらっしゃいましたら、最初にユーザー登録をお願いします。 レシピブックを修正する際は、一度ログインをしてください。ログインすると右肩の部分に編集の項目が現れます。 記述方法は、structuredText もしくはreStructuredText でお願いできればと思います。 WEB上の情報 Python クイックリファレンス日語訳 pythonライブラリリファレンス pythonチュートリアル Per

  • 江戸カメラ – Just another WordPress site

    コンテンツへスキップ お探しのものが見つからないようです。検索すると良いかもしれません。 検索: 検索

  • はじめる!デジタル一眼

    デジタル一眼を、はじめてみませんか。思っているほど難しくありませんし、またコンパクトデジカメでは味わえない楽しみが、デジタル一眼にはありますよ!。「はじめる!デジタル一眼」では、デジタル一眼に特化した、入門者向けの基礎知識や撮影テクニックなどをご紹介していきます。Katsumi自身も、デジタル一眼をはじめまたばかりですが、少しでも皆さんの役に立てる内容を提供できれば何よりです。これからデジタル一眼をはじめようと考えている方、もしくはデジタル一眼をはじめようかどうしようかと迷っている方、思い切ってはじめてみませんか。デジタル一眼には、コンパクトデジカメでは味わえない楽しみが待っていますよ。なお、デジカメ全般の基礎知識などはデジカメのツボ.JPをご覧下さい。

  • ずるいとunfairの違い - 書評 - ずるい!? なぜ欧米人は平気でルールを変えるのか : 404 Blog Not Found

    2009年12月25日21:00 カテゴリ書評/画評/品評Value 2.0 ずるいとunfairの違い - 書評 - ずるい!? なぜ欧米人は平気でルールを変えるのか ディスカヴァーより献御礼。 ずるい!? なぜ欧米人は平気でルールを変えるのか 青木高夫 今年もあと余すところ一週間。仕事納めは28日のところが多いようだが、一日だけ出社するならいっそと事実上今日が今年の最終勤務日という人も少なくないのではないだろうか。ちなみに我が娘たちは日が終業式。 そして来年始業式を迎える前に、必ず読んでおいて欲しいのが書だ。来年、いや次の10年こそは「新たなルール」から逃れようのない(1|10)年になるのだから。 書「ずるい!?なぜ欧米人は平気でルールを変えるのか」は、ルールとは何のためにあるのかを説いた一冊。 目次 - Discover: ショッピングカートより 目次 第1章 なぜ私たちはル

    ずるいとunfairの違い - 書評 - ずるい!? なぜ欧米人は平気でルールを変えるのか : 404 Blog Not Found
  • PythonのUnicodeEncodeErrorを知る - HDEラボ

    Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ

  • リスト、辞書の引数展開 - Ponsukeの日記

    Python | 17:15 | リスト、辞書形式で引数を取得する Source #/usr/bin/env python #-*- coding: utf-8 -*- def baa(*args, **kw): return args, kw if __name__ == '__main__': print baa(1, 2, kw1=1, kw2=100) Result bash-3.2$ python decorator.py ((1, 2), {'kw1': 1, 'kw2': 100}) 引数を展開して取得する Source #/usr/bin/env python #-*- coding: utf-8 -*- def foo(arg1, arg2, kw1=0, kw2=1): return arg1, arg2, kw1, kw2 if __name__ == '__main

    phirose
    phirose 2009/11/06
    dictに*1つだけの場合はkeyのほうが展開される
  • とっても使えるoverflowプロパティ。その使い方色々。

    光の4戦士を買ったんすが、売り文句通りレトロな感じがしていいですね。 まぁまだ2, 3時間程度しかやってないんで、これからどうなるか分かりませんが時間を見つけてやって行こうかと。 さて、以前からoverflowプロパティは使い勝手が良いというか、使う場面が多いプロパティの一つですが、考えてみると色んな事に使ってるなぁ~と思ったので自分が良く使うのをまとめてみました。 あんまoverflowプロパティを使った事が無い方は、ビックリですよ! これで、ソコの可愛いアナタもoverflowプロパティの虜になる事間違い無し!!(わかんないけど サンプルとかは以下よりどうぞ。 サンプルサイトを見る サンプルをダウンロード 基的に、全てoverflow: hidden; の指定を足す事で解決したり実現出来る感じです。 01 clearfixみたいに使う まずは以前の「clearfixを使わないでやるに

    とっても使えるoverflowプロパティ。その使い方色々。
  • きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません

    「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。 http://blog.shibu.jp/article/28983162.html 自分なりにもっと凝縮版を。渋川さんが言っている事全体もその通りとは思うけど*1、もっと簡単で、しかも射程が広い、と自分が思っている事。 渋川さんはちょろっと触れてるだけだけど、自分はこれが最も基的で汎用的、かつ、ソースをきれいにする原動力となる上にバグをも減らしてコードの汎用性まであげる、コーディングのエンジンみたいなものと思ってる。それは、 「すべてに正しい名前を付けて、そして、正しい名前であることを維持する」という鉄の意志 クラス

    きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません
    phirose
    phirose 2009/11/04
    客観的に正しい名前をつけよう / 名前に合わせてコードを整理しよう