タグ

Programmingに関するphareのブックマーク (88)

  • コールバック地獄から async/await に至るまでと, 非同期処理以外への応用 - Object.create(null)

    継続渡しスタイル (CPS: Continuation-assing style) 例えば以下は引数として与えられた数に 1 を加えるだけの関数と, それを呼び出すプログラム. function succ(x) { return x + 1; } console.log(succ(2)); // -> 3 CPS では関数がその継続 (callback) を受け取り, 内部でその継続を呼び出す. 上の例と同じものを CPS で書くと次のようになる. function succCPS(x, callback) { callback(x + 1); } succCPS(2, x => console.log(x)); // -> 3 この例だとほぼ何の得もないが, JavaScript において CPS は, ファイルの読み込みやサーバーへのリクエストの送信, ユーザーの入力待ちなど, 非同期

    コールバック地獄から async/await に至るまでと, 非同期処理以外への応用 - Object.create(null)
    phare
    phare 2017/07/31
    わかりやすいのであとで再度読む
  • smalltalk-users.jp

    のSmalltalkユーザのためのハブサイト Smalltalkユーザのためのサイトです。いわゆる*-users.jp系のサイトにインスパイヤされています。ノープランです。 第145回Smalltalk勉強会が10/17に行われます。小田さんによるESUG 2025参加報告です。(2025/9/20) 第144回Smalltalk勉強会が5/2に行われます。テーマは「Historia: Pharo Smalltalkによるイベントソーシングフレームワーク」です。(2025/4/4) 「ESUG2024参加報告 (第143回Smalltalk勉強会)」を10/18に青山学院大学 革新技術と社会共創研究所 との共同開催で行ないます(2024/9/10)。 「PharoJSで作るWebアプリケーション(第142回Smalltalk勉強会)」を4/26に青山学院大学 革新技術と社会共創研究所

  • 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマー

    【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita
  • これ知らないプログラマって損してんなって思う汎用的なツール

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    これ知らないプログラマって損してんなって思う汎用的なツール
  • <Code/Racer> - Battle it out and learn the code... Brought to you by Treehouse

    The race is over. Thanks for stopping by. Interested in learning to code? Join teamtreehouse.com today.

  • http://user.ecc.u-tokyo.ac.jp/~s105503/p02.html

  • How to bind function arguments

    How do I partially bind/apply arguments to a function in R? This is how far I got, then I realized that this approach doesn't work... bind <- function(fun,...) { argNames <- names(formals(fun)) bindedArgs <- list(...) bindedNames <- names(bindedArgs) function(argNames[!argNames %in% bindedArgs]) { #TODO } } Thanks!

    How to bind function arguments
  • Common Lispにおけるlambdaのあれこれ

    Common Lispプログラミングにおいて、lambdaは欠かすことのできない重要なパーツの一つですが、このlambdaにはいくつか知っておくべき慣習や決まり事があります。この記事では、lambdaに関する簡単な背景をふまえた上で、知っておきべき知識を簡潔にまとめようと思います。 ラムダ式 以下の形式のフォームをラムダ式と呼びます。ラムダ計算においては厳密にはラムダ抽象と呼ばれるのですが、Common Lispではラムダ式と呼びます。

  • Infoseek[インフォシーク] - 楽天が運営するポータルサイト

    Infoseek, およびInfoseekロゴは 楽天株式会社の商標です。 これら以外のマークは、それぞれ関係各社の商標および登録商標です。 Copyright (c) Rakuten, Inc. All Rights Reserved.

    Infoseek[インフォシーク] - 楽天が運営するポータルサイト
  • 第7回 関数脳のつくり方 First Season

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,現在は株式会社豆蔵のチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス 執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 この連載も「刺激的」な内容が続いたと思いますので,今回は関数型のコーディングに普段なれていない皆さん向けの内容をお届けします。 そんなことを書くと,まるで私も関数型バリバリ…みたいですが,全くそんなことはありません。今までは仕事Javaばかりで,昨年羽生田さんがやっているScalaに興味を持って取り組んで以来,ずっと「関数型」の考え方がよくわからなくて,

    第7回 関数脳のつくり方 First Season
  • 職人のペアプログラミングツアー

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

    職人のペアプログラミングツアー
  • というワケで、キマイラ飼育始めました。 - 暗号、数学、時々プログラミング

    キマイラ飼育奮戦記 | 07:42 | この週末のキマイラとの戦いについての記録。 とにもかくにも。檜山さんのキマイラとの戦い(勝手に命名)は歴史が長い。従って、「オレもキマイラ飼育始めるぜ!」って言うにしてもドコから手をつけるか?が最初の課題になる。そこで、まずは全体を俯瞰して目を引くようなタイトルのエントリを抽出し、末尾のトラックバック情報からそのエントリと関連付けされている(つまり読んでいる事を前提条件としていそうな)エントリを列挙し、それらの親子関係と時間軸をベースに「チェック対象にするぜエントリ群(但しコレ以外は読まないって意味ではない。あと、印刷しなくてもサラっと読める規模のエントリは含めてない。)」を整理しクラスタ化する、という作業をやってみた。で、その結果がコレ。ちなみに、各クラスタに振っている番号は読む順序とは特に関係なし。(うーん、もしかするとこういう整理こそマインドマ

  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

  • map が面倒なので DelegateMap - まめめも

    簡単なことをする map を書くのが面倒です。配列の各要素に 1 足す程度のことで、いちいち .map {|x| x + 1 } などと 12 ストローク (空白除く) も必要なんですよ。しかもなんかごちゃごちゃして読みにくい。 使用頻度の低い inject とかなら許せるんですが、特に使用頻度の高い map くらいは短く書きたい。ブロック変数名を決める必要があるのも面倒くさい。"{|x|" の部分と "}" の部分が異なる箇所に分かれるのも気に入らない *1 。 そこで考えた。こんなのどうだろう。 # 各要素に 1 を足す p [1, 2, 3].dmap + 1 #=> [2, 3, 4] p [1, 2, 3].map {|x| x + 1 } # 上と等価 # 二重配列の各要素の先頭の要素を集める (map fst みたいな) p [[1, 2], [3, 4], [5, 6]].

    map が面倒なので DelegateMap - まめめも
  • はてなブログ | 無料ブログを作成しよう

    2025年夏・旅行に着て行ったもの持って行ったもの(名古屋〜伊勢一泊二日) 毎年、旅行に何を持って行ったのか忘れてしまう。旅行のパッキングは苦手だし、そもそも何を着て行ったら自分が快適で楽しいのか?もわからない。しかもそれが夏の旅行なら尚更だ。汗と暑さでどうにかなりそうになる。なので、一応書いておくことにした。来年私が旅行

    はてなブログ | 無料ブログを作成しよう
  • [ruby-list:1534] Re: C++ユーザ のための手引 (Ver. 0.1.1)

  • プログラマのための「ゲーデルの不完全性定理」(2):速攻速習編 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    予定を変更して、“ご用とお急ぎ”があるかた向けに、「停止問題+不完全性定理チョビット」に関して、1回で完結する説明をします。ですから、忙しい方は、「あとで読む」ってタグでこのエントリーを単品ブックマークするといいですよ :-)。 ※ それと、印刷時にはサイドバーは消えるはずです、お試しください。 実は、このエントリーで述べる速攻速習に向いた説明は、最初に思い付いたものの、しばらく考えてから却下したアイディアです。が、初回(兼ハブエントリー)が多少は注目されたようなので、「数回の続きものを順番に読むのは耐えられん!」という要望にも応えようか、と気が変わりました。実際に要望があったわけじゃないけど、(いろんなリンクから来る)多くの人の眼に触れれば、そう思う人がいるのも当然だと推測するので。 僕が速攻速習方式をなぜ一旦は却下したかは、次回エントリーまたはキマイラ・サイトの記事で説明します、たぶん

    プログラマのための「ゲーデルの不完全性定理」(2):速攻速習編 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

    忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
  • Google Code ユニバーシティ - Google Code

    このウェブサイトでは、コンピュータ サイエンス (CS) の学生や指導者が現在のコンピューティング技術やパラダイムについてより多くを学べるようにチュートリアルやコース コンテンツのサンプルを提供しています。特にこのコンテンツは、CS の指導者が授業で使いやすいように、クリエイティブ コモンズのライセンスにより公開されています。 コース セクションには以下のさまざまなトピックについてのチュートリアル、授業のスライド、問題集などが含まれます。 AJAX プログラミング アルゴリズム 分散システム ウェブ セキュリティ 言語 ツールの入門セクションには、バージョン管理システムやデータベースなどコンピュータ サイエンスで一般的に使われているツールについての概要が含まれます。 CS カリキュラム検索では、世界中の CS 学科の教授陣からウェブに投稿されたさまざまな教育資料を検索できます。講義、課題の

  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな