タグ

programmingとProgrammingに関するntaooのブックマーク (132)

  • DRY(don't repeat yourself)するかしないか、その判断基準について - kazuhoのメモ置き場

    「過剰なDRYが技術的負債を生む」みたいな内容の記事を書きたいが、うまく言語化できない。「過剰な事制限が健康を損なう」程度の内容に成り下がりそうだけど、そんなんじゃないんだよ… @methane 実装におけるDRYみたいなものを考えていて、そうすると前者のDRYというのがどこに位置づけられるかはわからないんですが、とにかく暗黙知みたいなものを過剰に増やすDRYは良くないよね、というような話なんです という@moriyoshitさんのツイート(1, 2)を見かけたので、僕の考え方をコメント。moriyoshitさんの考えたい問題とは、ずれてるかも。 DRY化の功罪とは何か? 僕の理解で言うと、共通するコード片をDRY化することには以下の変化をもたらす。 循環的複雑度は変化しない コールグラフは複雑化する モジュールをまたぐDRY化を行うと、モジュール間の依存関係も複雑化する*1 関数内の複

    DRY(don't repeat yourself)するかしないか、その判断基準について - kazuhoのメモ置き場
  • LLerのための関数指向入門

    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

    LLerのための関数指向入門
  • データフロープログラミング - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "データフロープログラミング" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2025年3月) データフロープログラミング(英: dataflow programming)は、データフローの原理とアーキテクチャに準拠したプログラミングパラダイムであり、プログラムをオペレーション間のデータフローの有向グラフとして模型化する。データフロー言語は、関数型言語の特徴を共有しており、より数値処理に適したものになっている。 データフロー言語は、命令型プログラミングモデルなどの他の主要のプログラミング言語とは対照的である。命令型プログラミングではプロ

    データフロープログラミング - Wikipedia
  • アクターモデル - Wikipedia

    アクターモデル(英: actor model)は、並行計算の数学的モデルの一種[1]。1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した。並行性の理論的理解のフレームワークとして使われるほか、並行システムの実装の理論的基礎としても利用される。 アクターモデルはそれ以前の計算モデルとは異なり物理法則を発想の基としている。他にも、LISP言語、Simula言語、ケーパビリティ・システム、パケット通信、初期のSmalltalkなどの影響を受けている。 アクターモデルは、近い将来に「数百・数千のマイクロプロセッサから構成され、個々にローカルメモリを持ち、高性能通信ネットワークで通信を行う並列コンピュータ」が登場するとの予測に基づいて開発されされた[2]。その後、Webサービスやメニイコアアーキテクチャを活用した超並行性を想定して研究された。 ヒ

  • アプリケーション・エンジニアリングの面白さはあまり語られない - 石橋秀仁(zerobase)書き散らす

    404 Blog Not Found:プログラミングとアプリ開発の違い プログラミングしたい人々は、物が出来るまでの過程を楽しみたい人である。だから、「DBにクエリーをかけてHTMLにぶちまけるだけの簡単なお仕事」が退屈で仕方がない。しかし、アプリ開発したい人々にとって、物ができるのは出発点にすぎない。彼らが楽しむ過程というのは、それを公開し、それを人々が使ってみるところにある。それがただのハッシュなのか人工知能なのかというのは、はっきり言っておもちゃの材質程度の意味しかない。 「DBにクエリーをかけてHTMLにぶちまけるだけの簡単なお仕事」と「コンピューター・サイエンス全開のハイソなプログラミング」の二択ではなくて、第三の道があります。 それは「モデルの持つ概念の力を活かしてビジネスをモデリングするアプリケーション・エンジニアリング」です。 『エリック・エヴァンスのドメイン駆動設計 ソフ

    アプリケーション・エンジニアリングの面白さはあまり語られない - 石橋秀仁(zerobase)書き散らす
  • SNSチームでのドメイン駆動設計の実践 | GREE Engineering

    こんにちは!グリープラットフォームでSNSの開発をしています、うきょーです! GREE Advent Calendar 2013 6日目です、よろしくお願いします! 今回は僕が所属するチームでの、ドメイン駆動設計を実践してきた過程をお話したいと思います。ドメイン駆動設計とは何か、については簡単に要所要所で説明していきますが、詳しくはで!また、ドメイン駆動設計そのものについての話ではなく、実践の一例となります。 スマートUIパターンからのスタート 今回僕のチームが扱っていたものはJavaScript製のクライアントアプリケーションで、APIから取得した情報を表示し、ユーザーの操作によってAPIを呼び出す、というごく一般的なものです。 ドメイン駆動設計にはアンチパターンとして、スマートUIパターンと呼ばれるものが存在します。簡単に言えば「見た目都合から設計やモデルを考えてしまった」という状況

    SNSチームでのドメイン駆動設計の実践 | GREE Engineering
  • 自分にとって、参加するスタートアップのCEOがコードを書けるかどうかは、それほど重要ではないんだと思う - Line 1: Error: Invalid Blog('by Esehara' )

    エンジニア、とくにWebエンジニアであったり、スタートアップに関わるようなエンジニアであると特にそうだが、ある人物の判断基準を「コードで書けるかどうか」で考えてしまう傾向にある。もちろん、なんらかの情報技術で世界に躍進するという野望を持っている場合、コードを書けて悪いことはないし、そもそもプログラミングとは如何なる行為なのか、ということを肌で感じておくことは、経験としてとてもよい。しかし、それは自分のようなポンコツエンジニアにとってはオプショナルなものなんじゃないか、と最近感じつつある。 それは、幾つかの経験を経て見たときに、「元エンジニア」の人であったり、あるいはエンジニアをやりつつ、会社をやっている人達と話をしてきて、あんまりソリが合わないことを少しずつ感じているからだ。逆に、今お手伝いしている人とは、現時点では、自分としては不満無く作業が出来ている(もちろん、相手はどう考えているかは

    自分にとって、参加するスタートアップのCEOがコードを書けるかどうかは、それほど重要ではないんだと思う - Line 1: Error: Invalid Blog('by Esehara' )
  • null - Microsoft Research

  • 下から目線のコードレビュー - steps to phantasien

    WEB+DB の新しいやつがちょっと前にでてます. コードレビュー特集だそうな. 時が経つのは早い. まだ次の原稿書いてないのに… そういえば前にコードレビューの話を書いた気がして, 見なおしたところ かきかけ だった. せっかくなので続きを書いてみることにします. といっても何書くつもりだったか覚えてないのでだらだらと. WEB+DB PRESS の特集は, 主にこれからコードレビューを導入したい人に向けて書かれている. 幸か不幸か私はコードレビューを義務付けれたプロジェクトで働いているため, 導入には苦労していない. かわりにレビューをちょろまかせない面倒はある. ある意味でコードレビューを <やらされている>. もちろんこの言い分は大げさだ. 必要性に異議を唱える気はない. ただ異議はさておき自分の意向とは無関係にコードレビューに参加している気分を書いた話は あまり目にしないので,

  • 巨大な(あるいは、汚くて邪悪な)コードの泳ぎ方 - mizchi's blog

    ロンドンへの飛行機(11時間)で暇だったから書いた文章。 自分でゼロからすべてのコードを書けるときはテストファーストでいいけど、アンドキュメントな実験的なライブラリを利用する際や、巨大なプロジェクトの一部としてコードを書く際は、テストファーストよりもとにかくコードを書きまくって挙動の変化を確かめるほうが有用な時がある。 まあ多分どっかでこういうのはハウツー化してあるんだろうけど、自分ルールが固まってきたので、メモっておく。 目的を設定する トップダウンに読むには、コスパが悪いことが多い。とにかく「アレする」「コレする」という目的を定義して、そのためにその周辺領域からボトムアップに読むことにしよう。 エンドポイントを追う 巨大なプロジェクトに放り込まれた最初の段階では、エンジニア当に無力だ。 最初にやることは、自分が処理を挟むべき位置を見つけることだろう。 まずはファイル名や関数名を読ん

    巨大な(あるいは、汚くて邪悪な)コードの泳ぎ方 - mizchi's blog
  • The Computer Language Benchmarks Game

    Which programs are fast? Which are succinct? Which are efficient?

  • 重要なのはオブジェクト指向じゃないと思うんだよ - Line 1: Error: Invalid Blog('by Esehara' )

    最近になって、オブジェクト指向がよくわからないという御仁とご一緒することになった。別段、それ自体が悪いことではない。確かに、その人の書いた、以前のコードというのはめちゃくちゃであった。当然のことながらif文は何十にも繰り返されているし、その中でネストが3つにも4つにも増えていくという恐るべきコードだ。そして、どうやら僕の前に、教えてくれた人がいるらしく、その人に「オブジェクト指向というのを教えてもらったから、もう少し上手く書けるようにになっている筈だ」ということを言っていた。 僕はそのことに、特段ケチをつけたいとは思わない。誰だって無知から始まる。僕もオブジェクト指向にとんちんかんなことを言って恥をかくことがある(もしかしたらこれからもね!)。無知が恥なのではなく、学ばない姿勢が恥なわけだから、僕はそういうのはいいなあ、と素直に思える。しかし、どうも僕は引っ掛かっていることがある。それをメ

    重要なのはオブジェクト指向じゃないと思うんだよ - Line 1: Error: Invalid Blog('by Esehara' )
  • java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー

    ブログを書くまでがjava-jaですが、もう眠いのでとりあえず1行だけ書いて、あとは徐々に書き足す。 会場を無料提供してくれたグリーさん、ありがとうございます! 誰かが検査例外の話をするだろうと思って書かなかったら結局誰も言及しなかった、Javaのコミュニティなのに。 っていうか聴衆が100人もいると、もしかしてそもそも「検査例外ってなに?」って人もいたんじゃないか?「検査例外がOCPを壊す」とか「Liskovの置換原則のLiskov」とか通じてるんだろうか?とりあえず直和型が通じてないことだけはひしひしと感じた。 Twitterの自分の発言を転載しておく。 ちなみにZen of Pythonでも「エラーを握りつぶすな」と書いてあります 禅 of Python: 20の格言 「例外はそもそも何のため」ってところ、ざっくり省いたんだけどもそういうところのほうがニーズあったかね?? 「C#1.

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー
  • コンピュータサイエンスの学生へのアドバイス - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年1月2日 日曜 WindowsのリッチGUIクライアントにこそソフトウェアの未来があると私がわめいていたのはほんの1、2年前だというのに、学生がe-mailでキャリアについてアドバイスを求めてくることがある。今は採用シーズンでもあることだし、彼らが読んで、笑って、無視できるような一般的なアドバイスを書いてみようと思う。 大学生の多くは、幸いなことに、生意気なものであり、あまり年長者にアドバイスを求めたりはしないが、コンピュータサイエンスの分野においてはこれは良いことなのだ。年長者というのは「2010年にはキーパンチャーの需要が1億人を越える」とか「Lispを使う仕事が最近すごくホットだ」みたいな間抜けで時代遅れなことを言うものだからだ。 私自身も、学生にアドバイスするとき何について話したらいいのかわからない。私は救いがたく時代遅れで、AI

    ntaoo
    ntaoo 2013/10/17
    何か当たり前なことを証明するのに3時間かけて黒板を埋める必要があるなら、誤りが紛れ込む可能性が何百とあり、このメカニズムは興味深いことを証明するのには決して使えないということだ。
  • TechCrunch | Startup and Technology News

    Live Nation says its Ticketmaster subsidiary was hacked. A hacker claims to be selling 560 million customer records. An autonomous pod. A solid-state battery-powered sports car. An electric pickup truck. A convertible grand tourer EV with up to 600 miles of range. A “fully connected mobility device” for young urban innovators to be built by Foxconn and priced under $30,000. The next Popemobile. Ov

    TechCrunch | Startup and Technology News
    ntaoo
    ntaoo 2013/10/17
    これは非常に重要。
  • 「なぜ成功する言語と失敗する言語があるのか?」疑問を解明する試み

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    「なぜ成功する言語と失敗する言語があるのか?」疑問を解明する試み
  • 何故プログラミングに効果音は必要なのか、あるいはVimで爆発する方法 | 遥か彼方の彼方から

    この記事はVim Advent Calendar 2012の312 日目の記事です。昨日はid:cohamaさんの「‘set relativenumber’ で Vim のカーソルの縦移動とかを改善する」でした。 効果音は素晴しいみなさんはゲームの効果音は好きですか? 僕は大好きです。 自分の操作に合わせて音が鳴る。適切なタイミングで鳴る適切な効果音は、単にコントローラを操作する以上の、ゲームへの没入感を生みます。 もちろん、効果音がなくてもゲームは成り立ちます。iPhoneなどでプレイするときは音を消してプレイすることもよくあるでしょう。それでも一度音を流してプレイすれば、効果音の良さに感動します。 さて、プログラムです。エディタです。Vimです。 プログラミングもまた、効果音があるといいとは思いませんか? 思いますよね? ということで、プログラムの際に効果音を鳴らす方法をまとめました!

    何故プログラミングに効果音は必要なのか、あるいはVimで爆発する方法 | 遥か彼方の彼方から
    ntaoo
    ntaoo 2013/10/08
    vimはともかくタイプに効果音をつけるのはもっと流行ってもいいと思う
  • はじめの言語の賞味期限 - Kato Kazuyoshi

    ライブドアブログの PSGI 化の話 は良いはなしだと思う。一方で、私はあんまり Perl が好きじゃないので、10年にわたって生き続けた Perl アプリケーションが、次の10年にむけてアップをはじめているのは、ちょっとしたホラーでもある。 TwitterRuby と JVM ライブドアブログが、将来に向けて mod_perl から PSGI + Starlet にかえたように、将来に向けてプログラミング言語をかえる人達も存在する。最近の事例で有名なのは、TwitterRuby から JVM 言語群への移行だろう。 OSCON Java 2011 の Twitter: From Ruby on Rails to the JVM では、JVM への移行に至った理由として Ability to handle server workloads A real concurrency

    ntaoo
    ntaoo 2013/09/29
    ことプログラミング言語の話になると『お互いに良いところを取り入れていけばいい』『プログラミング言語は大きな問題じゃない』みたいなことをいうのは処世術の一種なので鵜呑みにしてはいけないよ。」”
  • 関数プログラミングのボトルネックとしてのRDBMS

    プログラム開発は、多くの人々が目的達成のため、もがき苦闘するタールの沼である – Frederic P. Brroks, Jr., 人月の神話 モジュール性はプログラミング成功の鍵である – John Hughes, 関数プログラミングはなぜ重要か タールの沼の底から タールの沼と聞いて連想するのは大規模なSIである。業務アプリケーションやWebアプリケーションは規模が大きくなればなるほど、複雑さが増し収拾がつかなくっていく。そしてそのようなアプリケーションを大きな単位で上手くモジュール化し、さらには再利用することは不可能に近い。 その技術的な原因の一端、そして問題を解く鍵は、そのようなアプリケーションが常に携えているRDBMSの周辺にあり、さらに言えばおそらくRDBMSとアプリケーションロジックの組み合わせにあると考えている。 ここでは、アプリケーションロジックの実装に関数プログラミング

  • LLVMによるプログラミング言語の実装 – 日曜研究室

    最近の投稿 今年の進み具合をプログレスバーで表示する 2025/1/5 日曜日 問題: 積み木を10個積み上げるのにかかる時間は 2020/8/20 木曜日 Google の G Suit Team から “[Action Required] Remove internal links to the G Suite Domain Contact page for your organization” ていうメールが来た 2020/8/14 金曜日 NZXT H1 と ROG STRIX B550-I GAMING で組んでみた 2020/7/17 金曜日 花粉症対策2019 2019/3/16 土曜日 マルチディスプレイ時のDisplayPort問題を何とかしてみた 2019/1/12 土曜日 REALFORCEソフトウェアがインストールできない(解決済) 2018/12/6 木曜日 Ge