Since I started learning Python, I've kept a list of "tricks". Any time I saw a piece of code that made me think "Cool! I didn't know you could do that!" I experimented with it until I understood it and added it to the list. This post is a summary of that list. If you are an experienced Python programmer, chances are you already know most of these but you might still find a few surprises. If you a
最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、
新事業を中心に、日米の大企業・ベンチャー・投資家等のアドバイザーを務める。多摩大学(MBA)客員教授。Net Service Ventures、500 Startups、Founder Institute、始動Next Innovator、福岡県他の起業家メンター。BCG東京、米CSC、CSK/セガ・グループ大川会長付、投資育成会社General Atlantic日本代表などを経て、現在に至る。「エコシステム・マーケティング」など著書多数。訳書に『ザッポス伝説』(ダイヤモンド社))、連載に「インキュベーションの虚と実」「垣根を超える力」などがある。 インキュベーションの虚と実 今、アメリカでは“スタートアップ”と呼ばれる、ベンチャー企業が次々と生まれている。なぜなら、そうした勢いある起業家たちを育てる土壌が整っており、インキュベーターも多く、なにより、チャレンジを支援する仕組みが存在するか
(追記:2012-12-03) 本記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる本物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは本来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する
特集:第2回 実用サンプルコードで理解する「Struts」の基礎 (6/15) DBCPを使ったデータベースへの書き込み データベースへの書き込み処理には、「オープンソースで作るJava+DB」で説明したのと同じ方法でもよいだろう。 しかしここでは、より効率的な方法として、Jakarta Projectの「Commons DBCP」を利用した方法を挙げてみよう。このCommons DBCPは、データベースへのコネクションプーリングをサポートした汎用的なものであり、データベースアクセスのためのコンポーネントだ。 コネクションプーリングとは、データベースへの接続を幾つか持続しておき、使い回すことを意味する。一般的に、データベースアプリケーションでは、ユーザーがWebページにアクセスして何か処理をするたびに、「データベースに接続」→「データベース処理」→「データベースから切断」という流れになるが
はじめに 今回から9回に渡り、Hadoopを使ったレコメンドシステムの実装について紹介させていただくことになりました。 レコメンドシステムを構築した方は少ないと思いますが、レコメンドのサービスに触れている方は多いと思います。今回の連載で、読者の皆様にレコメンドシステムの可能性とその実装の面白さをお伝えできればと思います。よろしくお願い申し上げます。 連載の予定は次の通りです。 レコメンドシステムと集合知(今回) レコメンドシステムの実装と課題 協調フィルタリング(前・後編) コンテンツベースレコメンド(前・後編) 今回の記事のポイントは以下の通りです。 レコメンドシステムの目的は気付きと驚きを与えること 理想のレコメンドはソムリエのお薦め レコメンドシステムに必要なのは嗜好と専門性 では、早速はじめましょう。 レコメンドシステムとは? レコメンドシステムは情報フィルタリングの一種で、大量の
ゲーム嫌いも知らないと損する ゲーミフィケーション入門 あなたの生活を変える「Gamification」現状まとめ 株式会社ライブドア マークアップエンジニア/ディレクター 浜 俊太朗 2011/9/16 「Gamification(ゲーミフィケーション)」という言葉をご存じでしょうか? 最近よく話題になっているので、見掛けたことのある方も多いことでしょう。本稿では、今後のWeb業界のキーワードとなり得るゲーミフィケーションの解説と現状、そして未来予想をお届けします。 今年の初めごろまでは一部の人が注目しているだけでしたが、ここ最近ではセミナーや勉強会が開催されたり書籍も出版されるなど、盛り上がりを見せています。 「ゲーミフィケーション」とは、何なのか ゲーミフィケーションは海外で生まれた概念で、その本質を説明すると「ユーザーエンゲージメントを高めるために、ユーザーに楽しんでもらうための方
「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門:ユカイ、ツーカイ、カイハツ環境!(21)(1/4 ページ) CIツール「Hudson」改め「Jenkins」とは 「Jenkins」とは、CI(継続的インテグレーション)ツールとして有名な「Hudson」の開発者たちにより開発されているCIツールです。Hudsonは商標上などの問題によりJenkinsと名前を変えて継続することが発表されたので、記憶に残っている方も多いと思います。現在では落ち着いて開発されているようです。 本稿では、今話題のJenkinsの使い方を紹介します。本記事の想定読者は、Java開発を行っている方で、「今までCIを導入していなかったけどこれから導入しよう」「Jenkins(Hudson)は使えそうだけど、難しそうだなぁ」と思っている方を対象としています。本稿を読めば、10分程度でJe
帯域幅の制限は、インターネットに接続している多くの人にとって今なお残る問題の1つだ。しかし、プロキシキャッシュサーバSquidをネットワークにインストールし、設定パラメータを用いてバイトヒット率を上げれば、利用可能な帯域幅を3~6割近くも拡大できる。 Squidは、きめ細かいチューニングによってさまざまなニーズに対応できる。現行の安定版には少なくとも249個のパラメータがあり、丁寧なコメントが付いた設定ファイル(通常は「/etc/squid.conf」)は4,600行以上もある。このボリュームには、経験豊かな管理者でも圧倒されるだろう。設定の変更はすべてこのファイル上で行う。 1週間では一杯にならない(理想をいえば1か月以上持つような)大きなキャッシュがほしいところだ。実際に必要なサイズは、ネットワークのトラフィック量によって変わってくる。キャッシュのサイズが大きいほど、要求されたオブジェ
事例で学ぶデザインパターン 第4回 Factory Method パターン ~オブジェクト生成の柔軟性を導入する~ (株)オージス総研 福田 直樹 今回は、生成に関するデザインパターンを取り上げます。 通常、何らかのオブジェクト利用する際には、コンストラクタを呼び出してオブジェクトを生成し、そのオブジェクトを利用します。しかし、その際には利用する側では利用したい具象クラスを指定する必要があり、クラス間の結合度が強くなってしまいます。それよりも柔軟性のある生成の仕組みを提供するFactory Methodパターンを取り上げます。 ※雑誌『Java WORLD』 2006 年 7 月号に掲載した記事のオリジナル原稿を Java WORLD 編集部の了解を得て掲載しています。 前回のおさらいと今回のお題 前回は、重複した実装を洗練、整理するデザインパターンとして Template Method
株式会社ミクシィ 研究開発グループの前坂です。前回の記事でmemcachedは分散に長けた高速なキャッシュサーバであることが紹介されました。今回はmemcachedの内部構造がどう実装されているのか、そしてメモリがどう管理されているのかをご紹介します。また、memcachedの内部構造の事情による弱点も紹介します。 メモリを整理して再利用するSlab Allocationメカニズム 昨今のmemcachedはデフォルトでSlab Allocatorというメカニズムを使ってメモリの確保・管理を行っています。このメカニズムが登場する以前のメモリ確保の戦略は、単純にすべてのレコードに対してmallocとfreeを行うといったものでした。しがしながら、このアプローチではメモリにフラグメンテーション(断片化)を発生させてしまい、OSのメモリマネージャに負荷をかけ、最悪の場合だとmemcachedのプ
はじめに 「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーション・フレームワークです。本連載は実際に動作するアプリケーションをもとに、Strutsの次世代バージョンであるStruts 2を解説していきます。 第2回の本稿では、入力フォームをもつアプリケーションを作ってみましょう。ごく基本的なフォーム処理から始めて、カスタムタグの使い方、バリデーションという処理の仕組みを体得していきます。今回は「バリデーションの仕組みを理解する」の前編として、 基本の入力アプリケーション 基本のバリデーション を説明します。 次回の後編では、 バリデーションロジックを自前で記述する メッセージのローカライズ方法 という内容となる予定です。 前回の記事 Struts 2入門(1)~基本形で理解する
正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基本記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く