タグ

ブックマーク / coreblog.org (15)

  • いろいろな言語のコーディング規約,スタイルガイドのリスト — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

  • 2億7000万ヒットのサービスを作るための7つのレッスン | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー ソーシャルニュースサイトRedditのco-founder Steve Huffman さんが,月間2億7千万PVを誇るサービスを作る課程で学んだことを7つのレッスンにまとめてます。RedditPython+PostgreSQL(リプリケーションはSlony)という構成で運用されていて,2億7千万ものPVを裁くために20以上のデータベースサーバを使っています。 RDBMSをKey/Valueのように使っているレッスン3のスキーマ設計の話などとても面白い。レッスンのいくつかはRDBMSバックエンドのシステムにのみ有効のようですが,たとえばレッスン6などはGoogle App Engin

    rawwell
    rawwell 2010/05/26
    レッスン7 : オフラインで処理をせよ バックエンドでの処理は最小に済ませ,長く掛かる処理はオフラインで処理して終わってからユーザに告知するようにする。 Redditでユーザが投票をすると,リストやユーザのカルマなど
  • Be Pythonic ! - Pythonチュートリアル第二版 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python界では「Pythonic(パイソニック)」という言葉がよく使われる。 用例としてはこんな感じだ。 人のコードを読んで「このコードはPythonicだね」 Pythonへの新機能の提案に対して「その機能はPythonicじゃないね」 Pythonicを一言で説明するのは難しい。無理してやってみると「誰もが正しいと考える、たった1つの方法をできる限り採用する(There should be one—and preferably only one—obvious way to do it)」となるかなあ(これはPerlの「TMTOWTDI(There's more than on

    rawwell
    rawwell 2010/03/07
    "明示的なコードは,Pythonに限らずどの言語でも,バグの混入率が低くなるとか,ポータビリティが増すとか,読みやすいとか,良いことがたくさんある。このように,技術者が守るべきルールをよく表した言葉が満載され
  • Pythonのコーディングスタイル(PEP8)をコマンドでチェック — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PythonにはPEP8という公式のコーディングスタイルがあります。このスタイルに従うことで,Pythonの思想「誰にとっても明確な手法が,一つだけあることが好ましい(There should be one-- and preferably only one -- obvious way to do it)」に沿った,見やすいコードを書くことが出来ます。 読んでみると分かるのですが,変数や関数,クラスなどの命名規則から,どこに空白を入れろとか改行を入れろとか,かなり細かく記述があります。それぞれの規則にはちゃんと理由があって,出来る限り守った方がコードが見やすくなるのは確かなのですが,

  • Python-twitterが欧米仕様だったので日本仕様に直したでござるの巻 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 半裸Botを作ったとき,PythonTwitterAPIをほげほげするのにPython-twitterを使ったんだけど。ちょっと長いTweetをPostしようとすると,「140文字以上あるよ!」という例外が発生してしまう。実際Tweetは60文字くらいしかないんだけど,おかしい。 なんでだろうと思ってソースを見てみたら原因が判明。ユニコードの8ビット文字列を,バイト列として見ている。これだと日語のマルチバイト文字列が3倍の文字数と判別されてしまう。ASCII圏のことしか考えないのは欧米製のライブラリにはよくあることで,ひょっとしたらとは思ってたけど。 ソースコードをちょっと書き換え

    rawwell
    rawwell 2010/02/08
    "PythonでTwitterAPIをほげほげするのにPython-twitterを使ったんだけど。ちょっと長いTweetをPostしようとすると,「140文字以上あるよ!」という例外が発生してしまう。実際Tweetは60文字くらいしかないんだけど,おかしい。 なんで
  • 梅田さんにガツンとおっしゃる前に読んでいただきたい2つのURL | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー オープンソースとは何か(1998年10月1日公開) Netscape社はどこへゆく(1998年7月1日) 誰かについてWeb上で言及するために,その人のことを100%知る必要がないということとまったく同じ理由で,誰かが何かについて語るとき100%誤解のないように細部まで話す必要はない。でも,相手についてよく知らないことがミスコミュニケーションを生んでいるのだとしたら「残念」と言わざるを得ない。 1998年の時点でオープンソースについて言及しているというのは,経営コンサルタントやベンチャーキャピタリストとしてはとんでもなく先見の明を持っていると思うし,一番目の方を読むとやっぱり「オープン

    rawwell
    rawwell 2009/06/23
    "開発者の皆さんは梅田さんに対してもっとポジティブな態度を取った方がいいような気がする。一方梅田さんは,殺伐とした中でコミュニケーションが進んでゆく日本のネットのノリをもっと理解した方がよいのかも知れ
  • 翻訳 - Python製のソーシャルブックマークエンジンRedditはなぜLispからPythonを使うようになったのか — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー RedditというのはUSの技術者を中心に人気のあるソーシャルニュースサイトで,Pythonを使って書かれている(バックエンドはと言うとPostgreSQL(Slony))。もともとLispで書かれていて,web.pyというフレームワークを生み出したりもしている。まあ一言で言うとRedditを作っている連中は面白い。Redditのコードが公開されていて,だれでもクローンを作ることができる,とかね。2,3歩先を行っている。 PyCon 2009のキーノートでRedditのFounderたちがキーノートスピーチをしたんだけど,その時の質問「なぜRedditがLispからPythonに移行し

    rawwell
    rawwell 2009/06/18
    "Pythonには全部のライブラリがそろっている。僕たちは開発を進めてきた課程で,たくさんの技術や,たくさんのアーキテクチャを学んできた。たとえば,僕がコネクションプールについて理解していなかったとしても,僕
  • みんなが言及しないPython 3.0のステキ機能 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 3.0 (r30:67503, Dec 5 2008, 09:49:50) [GCC 4.0.1 (Apple Inc. build 5484)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> l=['にんとも', 'かんとも', 'ニンニン'] >>> l ['にんとも', 'かんとも', 'ニンニン'] 普通に見えます? じゃあ2.5とかでこれと同じことやってみれ。 Python 2.5.2 (r252:60911, Feb 22 2008, 0

    rawwell
    rawwell 2009/06/18
    ">>> l=['にんとも', 'かんとも', 'ニンニン'] >>> l ['にんとも', 'かんとも', 'ニンニン'] 普通に見えます? じゃあ2.5とかでこれと同じことやってみれ。"
  • Pythonのコードをきれいに書くためのTips — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのようなスクリプト言語の特徴の一つとして,データをソースコードに直接埋め込みやすい,というものがあると思います。実際,Pythonのコードを見ると文字列,リストや辞書といった高機能で使い回しのしやすいデータ型が,リテラルとしてソースコードに埋め込んであるのをよく目にします。時には変数に代入されたり,時には関数やメソッドの引数部分に埋め込まれたり。 いちいち離れた場所にあるデータを見に行ったり,オブジェクトを作るための宣言をする必要がなく,処理をしたい場所の間近にデータを埋め込めるので,とても便利なのですが,欠点もあります。無造作にデータ型のリテラルを埋め込んでいると,ソース

    rawwell
    rawwell 2009/06/18
    "長い文字列をきれいに埋め込む" "リスト,タプル,辞書などのリテラルをスマートに埋め込む""関数やメソッドの呼び出し,定義""長〜いimport文"
  • Pythonで超簡単にCGIの動作を確認する方法 ― TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

    rawwell
    rawwell 2009/05/20
    ""Pythonの標準モジュールには,ほぼそのままWeb Serverとして使えるモジュールが入っています。これを使うと,簡単にPythonのCGIを試すことができます。"ローカルのポート8000番にCGI CapableなHTTP Serverが走ります。ドキュメントル
  • 翻訳 - Pythonのmultiprocessingモジュールを使ってMapReduceをインプリする — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PyMOTWをメンテしてるDoug HallmannさんがPython 2.6(および3.0)から導入された,分散コンピューティングを強力にサポートするmultiprocessingモジュールを使ってMapReduceを実装しているのを発見した。MapReduceはGoolgeが使っている並列処理システム。multiprocessingモジュールのサンプルとしても,Pythonを使ったMapReduceの実装としても面白いし,勉強になると思うのでエントリを翻訳してみた。Pythonを覚えることの利点はいくつかあるけど,こういう上質なリソースにリーチする権利を得られる,のも大きな利点の一

  • Pythonが嫌いになるかも知れない1行ハック — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー >>> __builtins__ = 0 # <- コレ >>> >>> int('123') Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'int' is not defined >>> for i in range(10): ... print i ... Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'range' is no

    rawwell
    rawwell 2009/04/16
    うはwwwこれはwww
  • Python 3.0がここ数年は初心者に非推奨なたった一つの理由 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    2012年9月追記 記事執筆当時から比べると,主に著名なパッケージやモジュールのPython 3対応が進んできており,そろそろPython 3への移行を考えてもよい頃かもしれませんね:-)。 ちょっと宣伝。Pythonの最新版に対応した入門書「みんなのPython 第三版」,発売中です:-)。 2008年のリリース当時,Python 3.0は完全に普及するまで数年かかるだろうと言われていて,僕も実際に仕事で3.x系をバリバリ使うようになるのは何年か先になるだろうと思っている。 最も大きな理由。それはCで書かれたエクステンションの3.0対応がけっこう大変だから。 エクステンション開発者を悩ませるのは,組み込み型の変更だろう。このへんに書かれていることを読むと分かるけど,3.0では文字列型,数値型のC構造体の名前が変わってしまうのだ。Cのソースコードでは,構造体を利用している部分を全部見て,書

    rawwell
    rawwell 2009/03/16
    「いくつかのメジャーなフレームワークは現時点では2.6に未対応」これ痛い
  • 和訳 : なぜPythonのメソッドに明示的にselfと書かねばならないのか

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの生みの親Guidoパパのブログエントリを翻訳してみました。「Why explicit self has to stay - なぜPythonのメソッド引数に明示的にselfと書くのか」。Pythonのメソッド引数に書く「self」はしばしば,他言語からのPython移民を中心に「ウザイ」「キモイ」「消えてなくなれ」と攻撃の対象となることが多いのです。GuidoパパはPythonが生まれて10年,もう何度も似たようなことを聞かされ,そのたびに明快な反論を行ってきました。言語の設計者には,技術的な素養はもちろんのこと,情熱と根気,そして我慢強さが必要なんだなあとつくづく思い知

  • 2.6に新搭載のmultiprocessingを見て俺のPythonがおっきした件 | TRIVIAL TECHNOLOGIES 4

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth

  • 1