タグ

プログラミングに関するpaulowniaのブックマーク (356)

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 長文日記

  • Carl Danley | JavaScript Design Patterns

    “One of the most important aspects of writing maintainable code is being able to notice the recurring themes in that code and optimize them. This is an area where knowledge of design patterns can prove invaluable.” – Addy Osmani In modern day JavaScript, it’s easy to pursue the development of large scale JavaScript applications. We are constantly writing more and more complex web apps that thrive

  • プロセスとスレッドの違いとは? | Yakst

    「プロセスは実行中のプログラムを抽象化したものである」これは私が著書 "Linux Kernel Development" の中で使った比喩だ。バイナリイメージ、仮想メモリ、各種カーネルリソース、関連付けられたセキュリティコンテキストといったものだ。スレッドは、「プロセスの中の実行単位」で、仮想プロセッサやスタック、プログラムの状態だ。言い換えれば、プロセスは実行されるバイナリであり、スレッドはOSのプロセススケジューラがスケジューリングできる最小の実行単位であると言える。 プロセスは1つ以上のスレッドを持っている。シングルスレッドのプロセスでは、1つのプロセスは1つのスレッドしか持っていない。つまり、スレッドはプロセスであると言ってしまえる。実行されるのは何か1つのことだけだ。マルチスレッドのプロセスでは、プロセスは複数のスレッドを持っている。つまり、複数の何かが実行されている。 現代の

  • 例外設計の話

    例外設計の話。 こんな指針がいいのかなー 2013 夏 ver. 例外の目的とは? 「例外をキャッチする主な目的は、エラーの原因を取り除いて、回復すること」 via http://dobon.net/vb/dotnet/beginner/exceptionhandling.html .NET の「例外のデザインのガイドライン」にもこう書いてある。 特定の例外が特定のコンテキストでスローされる理由を把握できている場合は、その例外をキャッチするようにしてください。 回復可能な例外だけをキャッチする必要があります。たとえば、存在しないファイルを開こうとした場合に発生する FileNotFoundException は、アプリケーションで処理できる例外です。それは、アプリケーションがユーザーに問題を知らせ、ユーザーが別のファイル名を指定したり、ファイルを作成したりできるようにすることが可能だからで

    例外設計の話
  • Welcome! — Pygments

    Download Current version: 2.18.0 Changelog Get Pygments from the Python Package Index, or install it with: pip install Pygments Questions? Suggestions? Clone at GitHub. You can also open an issue at the tracker. A project Welcome!¶ This is the home of Pygments. It is a generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code

  • JavaScriptにsleepを実装しようとして気づいたら新言語を作ってた話 - aike’s blog

    あのですね、JavaScriptにsleep()とかwait()みたいなのってほしいじゃないですか。で、調べてみると標準にはなくて作れるには作れるけどブラウザ依存だったりビジーループだったりJava Applet併用だったりしてがっかりするじゃないですか。 ぼくは1年半くらい前に「竹内関数で音楽生成」っていうエントリーを書いたんですが、当然これをJavaScriptで計算しながら音を鳴らすページを作りたくなりますよね。ですよね。こう見えても昔はN88-BASICでCMD PLAYとかばりばり使ってたくちなんで、そのくらい簡単だと思うじゃないですか。そしたらもう当時はAudio APIも出たばかりで情報もすくなくてブラウザ依存で、しかもJavaScriptでsleepできないしふんだりけったりで最初の一歩も踏み出せない状態。 そんなわけでなんとか手はないかとこの1年以上ずっと試行錯誤してきて

    JavaScriptにsleepを実装しようとして気づいたら新言語を作ってた話 - aike’s blog
  • デザインパターンの自動化

    .NETで簡単な例を見てみましょう。 public Person : INotifyPropertyChanged { string firstName, lastName; public event NotifyPropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if ( this.PropertyChanged != null ) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public string FirstName { get { return this.firstName; } set { this.firstName

    デザインパターンの自動化
  • 書評「型システム入門」 - あどけない話

    端的に説明するなら「正しく型付けされた項はおかしくなることがない」ことを学ぶための壮大な。型に関する圧倒的な知識を持ち、説明がうまく、根気づよい人にのみ記すことができた英語の良書が、型システムを愛する訳者と監訳者、および(書中に名前が出てくる方も含む)豪華なレビュアの情熱によって翻訳された記念すべき書籍。税抜きで6,800円と高いが、それ以上の価値があるである。 型システム入門 −プログラミング言語と型の理論− 作者: Benjamin C. Pierce,住井英二郎,遠藤侑介,酒井政裕,今井敬吾,黒木裕介,今井宜洋,才川隆文,今井健男出版社/メーカー: オーム社発売日: 2013/03/26メディア: 単行(ソフトカバー) クリック: 68回この商品を含むブログ (11件) を見る 動的言語のプログラマと静的型付き言語のプログラマの間で、型についての議論が定期的に沸き上がる。今後、

    書評「型システム入門」 - あどけない話
  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと

    GoFのデザインパターンとは、「プログラミングのベストプラクティスを体系化したもの」です。このベスト・プラクティスをしっかりと理解して設計すれば、ソフトウェア設計の効率を高めることができます。またデザインパターンが「プログラミングの思想」の共有をよりスムーズにしてくれます。先人たちの試行錯誤の結果を効果的に利用して、プログラミングをもっと楽しんでしまいましょう! 🗻 デザインパターンのポイントGoFのデザインパターンには下のプリンシパルがあります。 変わるものを変わらないものから分離する インタフェースに対してプログラミングし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(You Ain’t Gonna Need It./YAGNI) 🤔 デザインパターン一覧 アブストラクトファクトリ ビルダ ファクトリメソッド シングルトンパターン アダプタ コンポジッ

    Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと
  • IBM Developer

    IBM Developer
  • 「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え:Rails Hub情報局:エンジニアライフ

    2012年9月に行われた札幌Ruby会議2012の基調講演の1つで、Rubyの生みの親のまつもとゆきひろさんが、最近あった面白いエピソードを混じえて“イノベーション”の質について語っていました(44分の動画)。ポイントとなる部分をまとめてみました。まつもとさんの話はもちろん、統計的裏付けだとか学問的裏付けがある議論というものではありませんし、ご人も楽しそうに話し、聴衆も楽しんでトークを聞くというゆるい感じのものでした。ただ、「イノベーションの質は捉えがたい」というメッセージや、「だからあれこれ考えずにコードを書こう、われわれはコードを書くことにアイデンティティを感じているのだから、それこそがハッピーになる道だ」というメッセージは、参加していたRubyistたちの胸に響くものがあったのではないかと思います。 以下、口語文体のまま、ポイントとなる前半のトークをまとめてみました。トーク後半

    「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え:Rails Hub情報局:エンジニアライフ
    paulownia
    paulownia 2012/10/12
    イイハナシだー
  • MOVEは望まれなかった子 - the sea of fertility

    なにやらMOVEが話題です。 MVC is dead, it’s time to MOVE on. http://cirw.in/blog/time-to-move-on [翻訳]MVCは死んだ。MOVEするときがきた きしだのはてな http://d.hatena.ne.jp/nowokay/20120704 Twitterで「”MOVEは生まれた瞬間死んだ” って記事まだー?」って騒いでたら「お前が書けよ」の流れだったので息抜きに書きます。息抜きなので図が無いのは勘弁してください。 MOVEが生まれていない理由 この文中ではMOVEが生まれた理由はMVCの問題点に関わるとされており、そのMVCの問題点としてされているのは次の2点です。 MVCではControllerが肥大化する MVCは10年古い技術で設計されていて、最新のプログラミングパラダイムに対応していない。 しかしこの理由のう

  • Warning! Adachi-TakeHiro.com has expired. If this is your domain name you must renew it immediately before it is deleted and permanently removed from your account. To renew this domain name visit http://www.NameBright.com

    paulownia
    paulownia 2012/07/01
    この人のいうプログラマは、世間(というかはてな)では変態プログラマとかギークとか言われてるようなwww
  • あなたが理解できない,たった一行のRubyのコード (動的言語に対する静的解析の限界) - 主に言語とシステム開発に関して

    あなたは,下記のコードを理解できない。 p f /g+h/i これはRubyのコードである。「p」は,コンソールに出力する関数である。 問: だいたい,何をやっているコードですか? ※例えば,四則演算など。 構文をおおまかに説明して下さい。 どれが変数で,どれが関数で,どれが演算子か? ↓回答 回答: 一意に決定できない。 下記に, このコードの複数の解釈方法と, この件が引き起こす問題 について述べる。 ※なお,この問題が起きるのは動的言語に限らず,静的言語でも同様に発生しうることを前もって述べておく。 (1)分数の計算とみなすパターン 先行するコードを下記のように書いた場合: test1.rb # 変数に数値を代入 f = 2 g = 1 h = 2 i = 1 # 演算結果をpで出力する p f /g+h/i 実行結果: >ruby test1.rb 4 「分数の計算」とみなされる。

    あなたが理解できない,たった一行のRubyのコード (動的言語に対する静的解析の限界) - 主に言語とシステム開発に関して
  • 60%の人間はプログラミングの素質がない

    Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が

  • Trigger と Stream ベースの Reactive スタイルについて考える - Block Rockin’ Codes

    intro 先日 Meteor について調べて発表するにあたり色々調べたり、そのあと何人かの方々とお話させて頂いた中で、 思うところが出てきたので、アウトプットしたいと思います。 Meteor について発表してきました。 - Block Rockin’ Codes Meteor 以前からも思っていたところもありますが、ちょうどいいので Meteor も対比に出しながら書いてみます。 Reactive Programming @naoya_ito さんも書いてたように、やはり一番大きいのはここだと思います。 Meteor.js - naoyaのはてなダイアリー 簡単に説明すると、 よく Excel に例えられますが、あるセルに他のセルの値を用いた計算式を埋めておくと、 その参照先のデータが変わった時に、式を埋め込んだセルの値も連動して変わるようなあれです。 プログラミングで見るなら、 例えば

    Trigger と Stream ベースの Reactive スタイルについて考える - Block Rockin’ Codes
  • Tumblr

    この記事の対象: ユーザーインターフェイスやグラフィックスを扱うデザイナとプログラマ 昔話から始まって恐縮ですが、私が3DCGプログラミングに触れたのは今から20年近く前、当時学生だった清水亮氏がプログラミング雑誌に投稿していた記事やプログラムを見掛けたのがきっかけだったと思います。私は残念ながら「神童」ではなかったのでベクトルや行列については「チンプンカンプン」でしたが、いずれ3DCGを扱ってみようという気になった事は確かです。 その当時と今では、ハードウェアの性能、ソフトウェアの規模、そこから生まれるCGの表現力、何れを取っても桁違いになってしまいました。が、ベクトルを伸ばして、回して、移動させて、という操作がコンピュータグラフィクスの基である事は何一つ変わっていません。 20年前の昔、家庭のコンピュータでベクトルや行列の計算をして画面にポリゴンを描くなどという事に興じていたのは、一

    Tumblr