タグ

programに関するjazzanovaのブックマーク (173)

  • リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi

    リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ

    リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi
  • 昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional

    最近、この春に職業プログラマになった人達と話す機会に恵まれているので、共通して話すことを書いてみる。 大概、○○について、聞かせてください。とか、いろいろ聞いてくる人達は、羨ましいぐらい、すごく意識高い。 彼らは会社での仕事のプログラミングを上手にやりたい。ってのは、あたり前だし、 どうやってテストを綺麗に書くか? テスト書きながらプログラミングするってのをどう学ぶか? 綺麗な設計はどうやるのか? 仕事でコードを書いていくってのは、どういうことなのかとか? すごいコードはどうやって書くのか?とか、いろんな事を学びたくて、何から学ぶべきなのか見失っているのではないかというぐらい、やる気に満ちあふれている。人それぞれ、やる気の方向性や現在のスキルセットが違うから何をしたいのか、した方が良いのかは異なっている。 だけど、ざっくり共通しているのは、結局のところ「ある程度のプログラマとしての実力をつ

    昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional
  • プログラミング初心者に本当に必要なのは情報ではなく師匠という存在だと思う : 941::Tech

    34歳、今日からプログラミングを始めます : 941::Tech って書いたら、色々と教えていただいて誠にありがとうございます。 なんでPerl?って聞かれたら、そりゃYAPC::Asiaの主催をやっているのは大いに関係あるけれどもわりと言語にこだわりはないので、だったら関わりがある言語選ぶのが人情ってもんです。おかげさまで今年のチケットはすでに売り切れております。どうもどうも。 プログラミングについて、やはり皆さん色々と言いたいことはお有りなようでMentionいただかなくても色々とご意見あるようです。人が何かを学ぶ時というのは環境というのはとても大事だと思いますけれども「インターネット普及しまくり、環境恵まれすぎ」な自分がプログラミングを学ぶうえで最初の壁は「情報の取捨選択」かなぁと感じてる。プログラミングというものに対して色々な姿勢や意見があるし、これが正解ということもないからそりゃ

    プログラミング初心者に本当に必要なのは情報ではなく師匠という存在だと思う : 941::Tech
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    2013年4月24日紙版発売 2014年12月10日電子版発売 西尾泰和 著 A5判/264ページ 定価2,717円(体2,470円+税10%) ISBN 978-4-7741-5654-5 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 書は,プログラミング言語が持つ各種概念が「なぜ」存在するのかを解説する書籍です。 世の中にはたくさんのプログラミング言語があります。そしてプログラミングに関する概念も,関数,型,スコープ,クラス,継承など,さまざまなものがあります。多くの言語で共通して使われる概念もあれば,一部の言語でしか使われない概念もあります。これらの概念は,なぜ生まれたのでしょうか。書のテーマは,その「なぜ

    コーディングを支える技術――成り立ちから学ぶプログラミング作法
  • 何をどう学ぶか?

    ・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、�流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて

    何をどう学ぶか?
  • 作業中断のコスト

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    作業中断のコスト
  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • 第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(⁠株⁠)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一

    第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp
  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

  • Twitter API Wiki / OAuth Examples

    A list of Twitter-friendly OAuth examples, organized alphabetically by programming language. PHP Code (GitHub) Live example Docs (Google Docs) Python Google App Engine example code (GitHub) Live example Django example Ruby The official Twitter Ruby on Rails OAuth tutorial

  • 1st prize in ICFP Programming Contest 2009 - 兼雑記

    なんか優勝しちゃったようです。それでエジンバラにいます。というわけでこの一年は C++ のわるくちを言うことはゆるされません。くれぐれも、気をつけて下さい。 勝因としては、まぁ運が良かったんだろうなーという。9位だったのに verification round で 1位になったそうですし。もうちょいポジティブに評価するならテストケース変わっても動く程度に robust だったってことですかねぇ。 なにか速報してくれてる方がいたのでリンクを。 http://twitter.com/liyanghu/status/3691832714 写真

    1st prize in ICFP Programming Contest 2009 - 兼雑記
  • ヽ( ・∀・)ノくまくまー(2007-03-23) DB勉強会 〜 大規模ソースコードの読み方 〜

    ● [Rails] DB勉強会 〜 大規模ソースコードの読み方 〜 内輪で集まってDB与太話をやるのかと勝手に想像していたら、ミラクル・リナックスのCTOの吉岡さん(参考1)がいらっしゃって軽く引いた(いい意味で)。前半は吉岡さんのプレゼンで「大規模ソースコードの読み方」。動的なソースコード解析で役立つ profiler や tracer の紹介が勉強になった。これらを使うと、ソースコードを全く読まないどころか、そのアプリケーションを初めて使った場合でもすぐにボトルネックを見つけ出すことができるらしい。実際、Ruby歴3時間の吉岡さんがgc.cのボトルネック解消パッチを作れたとか。(参考2)。素晴らしい。後半はDB周りの雑談から殆どがRailsネタに。吉岡さんすいません。 ● メモ printf デバッグは有益無害 基は -g でコンパイルしてgdbで実際に実行しながらソースコードを追う

  • 悪「言語」身に付かず - 「書ける」と「身に付く」の間に : 404 Blog Not Found

    2009年07月26日15:30 カテゴリArtLightweight Languages 悪「言語」身に付かず - 「書ける」と「身に付く」の間に 習うきっかけは、これでいいと思う。 プログラミング言語を身につける唯一の方法 - ぼくはまちちゃん!(Hatena) たぶんこれかな… なにか作りたいものがある または なにかを作る必要がある なんて状況以外で、マトモにプログラミング言語を習得してる人って ぼくほとんど見たことないんだけど、みなさんはどうでしょう…! けど、これでは「身に付かない」と弾言しちゃう。 なんでそう言い切るか、というと、「作りたい」ものがあって、それを実際にその言語で「作った」のにも関わらず、全然身に付いていない言語が私にはあるから。 たとえば、shell script。 これとの付き合いは、perlよりも古い。にも関わらず、私は未だに shell script を

    悪「言語」身に付かず - 「書ける」と「身に付く」の間に : 404 Blog Not Found
  • あの「レガシーコード改善ガイド」が出るよ - 木曜不足

    翔泳社さんから 7/14 に いよいよ出版される「レガシーコード改善ガイド」。 レガシーコード改善ガイド (Object Oriented SELECTION) 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義出版社/メーカー: 翔泳社発売日: 2009/07/14メディア: 大型購入: 45人 クリック: 673回この商品を含むブログ (157件) を見る 昨年、原書の "Working Effectively with Legacy Code" を読書会に参加してずっと読んでいたが、その邦訳だ。 第2回 第3回 第4回 第5回 第6回(最終回) 読書会というと通常はもっとスローペースなのだろうけど、あのボリュームの洋書をわずか6回*1で読み切ってしまった。みんな続きが早く早く読みたくて興奮していた、のかもしれない。 で、この読書

    あの「レガシーコード改善ガイド」が出るよ - 木曜不足
  • a = a + 1; /* って違和感あるはずなのに */ : 404 Blog Not Found

    2009年07月10日15:00 カテゴリLightweight Languages a = a + 1; /* って違和感あるはずなのに */ ここまでは、いい。 だれでもわかるプログラミングの教え方もある……といいな - 狐の王国 じゃあ「c = a + b」はどうなるのか。 これはcという新しいバケツを用意し、aとbを足した数字を入れろという意味だ。ところが、 a = a + 1; でまともに数学を習った人ならつっかかるはずだし、実際つっかかるなのに、ほとんどの言語が代入演算子として=を採用しているのはなぜなのだろう? いや、私だってこれがFORTRAN由来だってことは知っている。私が知りたいのは、これが数学から見ても自然言語から見ても不自然なのに、ことプログラミングに関しては、なぜこれが自然になってしまったか、ということ。 代入に、=を使う必然性が全くないことは、それを使わぬ言語も

    a = a + 1; /* って違和感あるはずなのに */ : 404 Blog Not Found
  • 最悪なHello World | Happy My Life

    To all who Think Themselves a Programmerより。 サンフランシスコのある会社での求人なのだが、この会社では書類選考として、どの言語を使用してもいいので最悪なHelloWorld(画面にHello Worldと表示させるだけのプログラム)を書いてもらい、それを採用基準にしている。 最善のコードではなく、最悪な手法で試すとはなかなか面白い。言語選びなどでも個性が出るので、その人の潜在的なスキルが試される。日じゃこんな手法を採用している企業なんて少ないよなぁ。 採用された例 原文より抜粋して掲載。変態的(褒め言葉)なHello Worldの世界へご招待。 その1 y = lambda { |f| lambda { |x| lambda { |n| (f.call (x.call x)).call n } }. call lambda { |x| lambd

  • サンプルを丸写ししてもプログラムの理解は出来ない - 遥か彼方の彼方から

    雑記プログラムの勉強をするのに、参考書を丸写しして勉強するという方法があります。はっきり言って、あれはほとんど意味がないと思う。無意味とまでは言わないものの、中途半端に「頑張った感」を味わえるので気をつけた方がいいのは間違いないです。個人的には、丸写しするくらいならただ読むだけの方がいいとも思っています。 じゃあどうすればいいのかっていうと、プログラムの勉強をするときは参考書と少し違うことを書いて勉強するのがいいかなと思います。 最初にどうしようもないことを言うと、プログラムなんて書いても覚えないんですよ。漢字や英単語をたくさん書く練習だって怪しいのに、ましてやプログラムです。参考書を丸写しにしたから指が覚えているなんてことは、特殊能力の領域です。そういえばモンスターのルンゲ警部はキーを叩くことで頭の中のフロッピーディスクにデータを記録していましたね。それに、暗記そのものには意味なんてない

  • 神は細部に宿る - 書評 - まつもとゆきひろ コードの世界 : 404 Blog Not Found

    2009年05月25日23:00 カテゴリ書評/画評/品評Code 神は細部に宿る - 書評 - まつもとゆきひろ コードの世界 「勝間なのに、なんで献こないかな」と思ってたらMatzでした:)。というわけで購入。 まつもとゆきひろ コードの世界 まつもとゆきひろ イイ!イイよこれ! けど、すごくわかりづらいイイ!であるというのも確か。残念ながら勝間と違って、書はプログラムを書ける人でないと読むこともままならないので。 このをどれだけイイ!と思えるかで、プログラマーとしての発展段階を測れる、そんな一冊だ。blogのプログラム関連の記事を、飛ばさず読んでらっしゃる方であれば、絶対楽しめます。 書「まつもとゆきひろ コードの世界」は、まつもとゆきひろのではあるが、プログラミング言語Rubyではない。「レイヤー」で言うと、それより一段上のである。強いてRubyとして

    神は細部に宿る - 書評 - まつもとゆきひろ コードの世界 : 404 Blog Not Found
  • まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」 聴講記 - TrinityT's BLOG

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきた。 内容、発言等で間違い等あれば修正しますのでご指摘を。 入場 人の入りはだいたい70〜80人程度。 裏で「Webデベロッパの祭典+ちょっとアキバ気分で。」がやっているので、エンジニアが分散したかもしれない。 第一部「ビューティフルコード」 Matz自己紹介 普段はネタを使い回すことが多いが、川井さんに頼まれたんで今日は新ネタを持ってきた。 コードの美とは? コードとはなにか ソフトウェアは美しいのか コードは工業製品ではない よくある誤解 ソフトウェア工場 大量生産しない コピーは一瞬 コード=設計 (not 生産) 職人芸 一品もの 善し悪しがある→工業製品生産とは違うことを無視されがち コードは実用品 実用に供してナンボ 用の美→茶器みたいなもの コードは読み物 CODE READING 教材 知識

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」 聴講記 - TrinityT's BLOG