タグ

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

  • コールバック地獄から 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系のサイトにインスパイヤされています。ノープランです。 「PharoJSで作るWebアプリケーション(第142回Smalltalk勉強会)」を4/26に青山学院大学 革新技術と社会共創研究所 との共同開催で行ないます(2024/3/21)。 青山学院大学 革新技術と社会共創研究所 との共同開催で「ESUG2023参加報告(第141回Smalltalk勉強会)」を9/29に行ないます(2023/9/8)。 青山学院大学 革新技術と社会共創研究所 との共同開催で「CodeParadiseの紹介(第140回Smalltalk勉強会)」を4/7に行ないます(2023/3/13)。 第139回Smalltalk勉強会(オンライン)が11/25に行われます。テーマは「ESUG202

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

    2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進

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

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    これ知らないプログラマって損してんなって思う汎用的なツール
  • <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
  • 職人のペアプログラミングツアー

    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が最近リリースされ、重要な変...

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

    キマイラ飼育奮戦記 | 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 - まめめも
  • はてなブログ | 無料ブログを作成しよう

    ネイルで使う材料で、DIY時の木割れやネジ跡を派手にしたらかわいい OSB合板でちょっとしたボックスをつくりました。 ビス止め下手すぎて木を割ったり穴あけすぎたりした場所に、好きな派手色の樹脂を詰めてパテ代わりにしてみました。 ちょっと某HAYっぽみ出て可愛かったので、自分用にメモです。 手順 塗装 派手色グミジェルで失敗部分…

    はてなブログ | 無料ブログを作成しよう
  • [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 - きしだのはてな