タグ

programmingに関するcriticabugのブックマーク (50)

  • プログラミング言語SML#解説

    プログラミング言語SML#解説 Pt.I 概要 Pt.II チュートリアル Pt.III 参照マニュアル Pt.IV プログラミングツール Pt.V SML#の内部構造 Pt.VI 参考文献,その他 Ch.1 はじめに Ch.2 書の構成と執筆状況 Ch.3 SML#の概要 Ch.4 SML#ライセンス Ch.5 SML#プログラミング環境の準備 Ch.6 MLプログラミング入門 Ch.7 SML#の拡張機能:レコード多相性 Ch.8 SML#の拡張機能:その他の型の拡張 Ch.9 SML#の拡張機能:Cとの直接連携 Ch.10 SML#の拡張機能:マルチスレッドプログラミング Ch.11 SML#の拡張機能SQLの統合 Ch.12 SML#の拡張機能:JSONの型付き操作 Ch.13 SML#の拡張機能:SML#分割コンパイルシステム Ch.14 序論 Ch.15 SML#の構造 C

    criticabug
    criticabug 2018/12/07
    “SML# では,SQLそのものを型を持つ(したがって第一級の) 式として書くことができます.”“データベース接続を受け取りテーブルを返す関数式に一般化すれば,関数型言語の型システムに統合することができます.”
  • スレッドの基礎

    C#ではマルチスレッドによる並列処理がサポートされています。1つのスレッドは他から独立した実行パスで プログラムが実行され、他のスレッドと同時に実行が可能です。 C#のクライアントプログラム(コンソール、WindowsForm、WPF)ではOS及びCLRによってアプリケーションの開始時 に1つのスレッドが作られます。この最初に作られるスレッドのことをメインスレッドと呼びます。 また自分でスレッドを作成することでマルチスレッドアプリにすることも可能です。 下にスレッドを複数起動するサンプルコードを示します。 class ThreadTest { static void Main() { // 新しいスレッドの作成(OSレベルではまだ作成されていない) Thread subThread = new Thread (WriteY); // スレッドの開始 subThread.Start(); /

    criticabug
    criticabug 2015/11/06
    IISで勝手になるマルチスレッドの基礎を理解したい…
  • 型安全性とは何か | POSTD

    以前書いた(C言語についての) メモリ安全性について定義した記事 について、型安全性について説明する記事も投稿してほしいというコメントがありました。型安全性についてはかなりよく知られてきていると思いますが、ズバリこうだと簡単に定義できるほどにはまだ理解が浸透していません。特に誰かが”Javaは型安全な言語だ”と言った場合、これは厳密に何を意味するのでしょう。全ての型安全な言語はある意味”同じ”と言えるでしょうか。ある特定の言語について、そして一般的な意味で、あなたを悩ませる型安全性とは何でしょうか。 実際のところ、型安全性が何を意味するのかは言語の型システムの定義によります。最もシンプルなケースでは、型安全性はプログラムの動作が正しく定義されるように保証します。もっと一般的な話をすると(この記事ではそのあたりをカバーするつもりですが)、言語の型システムはそのプログラムの正確さと安全性を推論

    型安全性とは何か | POSTD
    criticabug
    criticabug 2014/09/23
    変数ではなく値に型を付ける言語についても型安全かそうでないかいえる
  • แทงบอล

    แทงบอล UFA079 เว็บพนันออนไลน์ แทงบอลออนไลน์ เว็บแทงบอล มาแรง เว็บแทงบอลสำหรับผู้ที่ชอบใจ แทงบอล โดยเป็นอีกหนึ่งวิถีทางในการทำเงินที่ตอบปัญหาเหล่านักเสี่ยงโชคเยอะที่สุด เนื่องจากเป็น เว็บตรงไม่ผ่านเอเย่นต์ ที่เปิด UFA079 รับแทงบอล อย่างพร้อมทุกคู่ ทุกลีก ยิ่งเป็นตอนที่มีการแข่งบอลโลกด้วยแล้ว การันตีว่าคุณจะได้รับความสนุกสนานร่าเริงสุดตื่นเต้น อีกทั้งการพนันรวมทั้งมองดูการประลองบอลโลกฟรีกันเลย โดยคุ

    แทงบอล
    criticabug
    criticabug 2014/05/09
    pastebin みたいな。何向けとかあるのかな。
  • JS Bin

    “Everyone should learn how to program a computer because it teaches you how to think” — Steve Jobs

    JS Bin
    criticabug
    criticabug 2014/04/02
    jsdo.it 的な
  • 百年の言語 --- The Hundred-Year Language

    百年の言語 --- The Hundred-Year Language Paul Graham, April 2003 これは、Paul Graham: The Hundred-Year Language を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2003 by Paul Graham 原文: http://www.paulgraham.com/hundred.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の 邦訳版が出版されました。 出版社の案内ページ Amazon.

    百年の言語 --- The Hundred-Year Language
    criticabug
    criticabug 2014/03/17
    そう、公理の少ない言語が好きだし学びたいし作ってもみたい
  • Learning Advanced JavaScript

    Double-click the code to edit the tutorial and try your own code. This tutorial contains code and discussion from the upcoming book Secrets of the JavaScript Ninja by John Resig. Our Goal Goal: To be able to understand this function: // The .bind method from Prototype.js Function.prototype.bind = function(){ var fn = this, args = Array.prototype.slice.call(arguments), object = args.shift(); return

    criticabug
    criticabug 2014/03/17
    役に立ちそう
  • Haxeのenumのすごさをみんなに伝えたい | しっぽのブログ

    ブログもリニューアルして最初の記事くらいは技術ブログっぽい記事を書こうかと思い、今回は、Haxe(ヘックス)のenum(エニュム)についてちゃんと説明します。 Haxeそのものの紹介はこちらを見てください。 altJS勉強会「Haxeすごいからみんな使え!」 最近Haxeについて記事や紹介も色々上がってきてて嬉しい限りです。 これで、なぜか無い日語書籍が出れば、もうちょっと弾みがつくと思うんですが、誰か英語のあれ翻訳して出版しないんですかね。 で、その一つにちょっと前に池田さんが書いたこういう記事があって、 モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe) | HTML5Experts.jp これに、HaxeのenumとTypeScriptのenumを一緒にすんなや!っていう文句がついてた

    criticabug
    criticabug 2014/03/17
    Haxe や Ceylon ちょっと触っておこう
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

  • 文字コードの脆弱性はこの3年間でどの程度対策されたか?

    イベント名: セキュリティUXの◯◯な関係 講演タイトル: セキュリティの都市伝説を暴く 2017年6月9日 ヤフー株式会社 コワーキングスペース LODGE https://connpass.com/event/55559/

    文字コードの脆弱性はこの3年間でどの程度対策されたか?
    criticabug
    criticabug 2014/03/10
    気を付けたい:“文字エンコーディングとして不正”, “文字集合が自動で変わる”
  • Haskell における依存型プログラミングと証明の記述を用いた実用的なプログラミングって何

    スマートコン @mr_konn Haskell における依存型プログラミングでは、大抵の場合安全性の"証明"として依存型を用いる場合が多いから、ひとたび証明が出来てしまえば、その証明に対応する実行時計算は無駄なんだよなあ。type erasure ならぬ proof erasure が出来ればよいのだが 2014-02-23 17:10:29 スマートコン @mr_konn 帰納法は O(n) 書かるし、二重帰納法なら O(n^2) だ。一回示せたら unsafeCoerce すりゃいいかもしれないけど、そういうのを自動的にやってくれるのを欲しい 2014-02-23 17:12:45

    Haskell における依存型プログラミングと証明の記述を用いた実用的なプログラミングって何
  • http://wizardbible.org/23/23.txt

    [-]=======================================================================[-] Wizard Bible vol.23 (2005,12,12) [-]=======================================================================[-] x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第0章:目次 --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xX

    criticabug
    criticabug 2013/11/13
    union を onion にするとか
  • Webアプリの入力はバリデーションできない、という誤解

    (Last Updated On: 2019年2月13日)Webアプリの入力はバリデーションできない、と誤解している方は少なく無いようです。システム開発に関わる人でなければ誤解していても構わないのですが、システム開発者が誤解していると安全なシステムを作ることは難しいでしょう。 Webアプリの入力はバリデーションできない、と誤解している開発者にも理解できるよう噛み砕いて解説してみます。 入力とプログラムの基構造 入力のバリデーション(入力の制御)はセキュリティ対策で全てのアプリケーションにとって最も重要なセキュリティ対策です。(SANS TOP 25 Monster Mitigation #1) 入力仕様を決めること、知ることはプログラマにとって重要な仕事の1つです。プログラムは特定の入力を受け付け、その処理を行い、何らかの出力を行います。プログラムが処理する入力を知らず(決めれず)にプロ

    Webアプリの入力はバリデーションできない、という誤解
    criticabug
    criticabug 2013/11/07
    準正常系の区別はありだろうけど validation error と入力ミスの説明、レイヤーもしくは観点がずれているように思う。
  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

    うっかりチューリング完全になっちゃったもの
    criticabug
    criticabug 2013/10/22
    カードゲームがチューリング完全ってどういうことなの…
  • Separating Programming Sheep from Non-Programming Goats

    ⚠ Please note, this paper was ultimately retracted by its author (pdf) in 2014: In 2006 I wrote an intemperate description of the results of an experiment carried out by Saeed Dehnadi. Many of the extravagant claims I made were insupportable, and I retract them. I continue to believe, however, that Dehnadi had uncovered the first evidence of an important phenomenon in programming learners. Later r

    criticabug
    criticabug 2013/09/25
    CS学科の学生でも半分くらいは代入などに関する一貫した心理モデルを構築できないようだ。言語獲得が関係あるかも?
  • 本当にあったフロントエンドセキュリティ怖い話

    「location.hrefが信用出来ない問題」 http://hoge.com%2F@example.com/へアクセスした場合にlocation.hrefがhttp://hoge.com/@example.com/を返す (勝手にデコードされている) location.href = location.hrefで別のページに飛ぶ iOS 6.0未満、Android4.1未満の標準ブラウザで再現 Masato Kinugawa Security Blog: location.hrefの盲点 「location.hrefが信用出来ない問題」 location.hrefに@使ってなにか入れるのは普通にできる (http://hoge:huga@example.com/のlocation.hrefはhttp://hoge:huga@example.com/) location.hrefを独自解析

    criticabug
    criticabug 2013/09/24
    改行は全然知らなかったから脆弱性無いか確認しないと
  • 私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記

    この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaScalaJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta

    私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記
    criticabug
    criticabug 2013/09/13
    いろんな言語載ってて目移りする。人によってOOPの捉え方違うのは知ってた。OODA等はまた別の定義があるので関係無さそう。
  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
    criticabug
    criticabug 2013/09/10
    コメント部の議論もボリュームある
  • Why isn't String.Empty a constant?

    criticabug
    criticabug 2013/07/23
    String.Empty は定数ではないので省略可能引数のデフォルト値に使えず残念… static readonly field なのは別々のDLLから同じインスタンスを指すため? うーん…
  • 普通のアプリケーションのコードに関数定義と関数適用とリテラル以外を書いてはいけない - 標高+1m

    underscore-fix とか Pastaとかを仕事で使ってみていたら、前から薄々感じていた事に確信を持った。 ライブラリが十分に強力なら、プログラム中に関数定義、関数適用とリテラル以外は出てこない。そして逆に、forやifやswitchやnewが必要になったら、その関数は一般化してライブラリに押しやらなくてはいけない。 On Lispだかなんだかのボトムアップデザインの説明で、「アプリケーションを書くための言語を作って、その言語でアプリケーションを書く」みたいな文章を読んだ記憶があるけど、この「言語」っていうのは、別にDSLである必要もLispマクロである必要もなくて、「ライブラリ」って意味と取って問題なくて、それならLisp以外の言語でもこの考え方は重要になる。自分のライブラリが十分に成熟するまでは、なにかアプリケーションを作る度にライブラリ関数を増やすつもりでやらなくちゃいけない

    普通のアプリケーションのコードに関数定義と関数適用とリテラル以外を書いてはいけない - 標高+1m