タグ

programmingに関するhrsttのブックマーク (79)

  • ミスを減らす - 標高+1m

    毎日書く普通のコードでなるべくミスを減らし、デバッグを簡単にして、より多くの時間を楽しい事(キーボード叩いたり汎用関数作ったりリファクタしたり)に費やしたくて最近実践していることをメモします。一つ前の燃えてるエントリの補足(不変指向の利点の説明)も兼ねているので話があっちこっちぶれてしまいました。 順番への依存を減らす 「Xを実行してからYを実行するとおかしくなる」*1とか「Yを安全に実行する前には必ずZを実行しなければいけない」*2とかは絶対にミスるのでなるべくなくす。後者についてはラッパを作ってその中でアトミックに実行するとかで解決できるけど、前者はミュータブルなもの(オブジェクト)を使っている限り至る所で発現し、根的な解決は困難。以降のセクションで関数型の考え方を取り入れてこれを解決していきます。 状態を減らす 多くのプログラムは状態を持ちます。ある関数のようなものにプログラム中さ

    ミスを減らす - 標高+1m
  • ソフトウェアの基礎(beta) — ソフトウェアの基礎 1.0.2 documentation

    ソフトウェアの基礎(beta)¶ ドキュメントは実験中のものです。 安定板は http://proofcafe.org/sf/ を参照してください。 epub版: http://proofcafe.org/sf-beta/software_foundation_1.0.2.epub mobi版: http://proofcafe.org/sf-beta/software_foundation_1.0.2.mobi Contents:

  • HTML5をすぐハイブリッドアプリとして試せる無料のツール「Monaca」を使ってみた

    HTML5/JavaScriptで作成したアプリケーションをラップし、ネイティブアプリケーションとして扱える「ハイブリッドアプリケーション」は、高い生産性でモバイルアプリケーションを開発できるといったメリットから注目されています。 しかし実際に自分でハイブリッドアプリケーションを開発しようとすると、例えばiOS用ならMacOSのマシンを用意してPhoneGapの環境を整え、ビルドしたアプリケーションをいちいちiPadiPhoneに転送して試すなど、それなりの手間がかかります。Publickeyでは以前からハイブリッドアプリケーションに注目して紹介してきたため、時間があれば自分でもHTML5とJavaScriptで作ったアプリケーションをハイブリッド化しみてみようと思いつつ、なかなか開発環境を整備するに至りませんでした。 そこで思い出したのが「Monaca」です。Webブラウザ上でHTML

    HTML5をすぐハイブリッドアプリとして試せる無料のツール「Monaca」を使ってみた
  • 子供でもわかる「自己組織化マップ」

    この内容は拙著『単純な脳、複雑な「私」』の巻末に「付論」として掲載されたもので、 脳科学講義として高校生たちに説明したときの録音テープから起こした文章です。 (朝日出版社の許可を得てここに掲載しております) さて、おまけの講義では、時間に余裕がある人だけに、追加の話をしたい。 ニューロンのネットワークのシミュレーションの話だ。 ここに縦10×横10の全100個のマスがあるね。マスの1個1個がニューロンだと思ってね。まず、それぞれのマスにランダムに色を割り当てておく。 色というのは3原色だよね。赤(R)、緑(G)、青(B)。だから、色は(r, g, b)のベクトルだと思ってもらっていい。(r, g, b)のすべての数値がどれもゼロだったら「黒」、これが全部100%だったら「白」。(100、100、0)だったら「黄色」だ。モニターの画面はこの原理で色がつけられている。 そんな具合に、(r, g

  • 手続き脳によるHaskell -- Sorting Algorithms

    このページは手続き脳から脱却でいない筆者が、Haskell による各種 ソートティングアルゴリズムを実装してみた結果を紹介するページです。ソート はアルゴリズムの基ですから、これで Haskell を攻略しようというわけ です。 ところで、Haskell に関するWebページを巡回していると、高階関数やモナド などを複雑に使ったアクロバチックでアブノーマルなコードに出会うことが しばしばあります。書いている超頭の良い人達は自らの変態さ加減が披露出来て 快感なのかもしれませんが、頭の悪い私にはそんなコードは理解できません... orz。 そこで私のページでは次のスローガンでプログラミングを行います 普通にやれ、普通に! そんなわけで「モナドを理解したい」とか常人には不可能な無理難題を期待 している人は他のページを当たってください。筆者自身が分かってないので解説 できません。ごめんなさい。

  • Rubyによる関数型プログラミング

    古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。

  • ブロック図生成ツール blockdiag — blockdiag 1.0 ドキュメント

    ブロック図生成ツール blockdiag¶ blockdiag generates block-diagram images from .diag files (similar to graphviz's DOT files). You can get diagrams like this:

  • http://cran.r-project.org/doc/contrib/Genolini-S4tutorialV0-5en.pdf

  • nanapi Ver5をリリースするときに使った社内リリースの仕組み - UNIX的なアレ

    久々のエントリーです。先日、3周年ということでnanapiをリニューアルしました!今回は「メディアからプラットフォームへ」をコンセプトとし、大幅なリニューアルを実施しています。 リニューアルのコンセプトとかは、詳しくはこちらに書いてあります。 nanapiがVer5.0にバージョンアップしました : けんすう日記 社内リリースの重要さ UIやデザイン、細かい機能など制作側としてはすごく作り込んでいるわけですが、数週間1つのプロジェクトにコミットしているとなかなか客観的に見ることができなくなってきます。 そんな時は客観的な意見をもいたくなるものですが、その意見のもらい方がなかなか難しい。 弊社もサービスを立ち上げてから3年が経過しているわけで、従業員数もそれなりの人数になってきています。となると、開発環境やステージング環境を見てもらうにしても、面倒な手順がちょっとでもあるとなかなか難しかった

    nanapi Ver5をリリースするときに使った社内リリースの仕組み - UNIX的なアレ
  • index - Haxe

    Haxe 4 is here! Haxe is an open source high-level strictly-typed programming language with a fast optimizing cross-compiler. Download 4.3.6 Released: 2024-08-07 Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpre

    index - Haxe
  • ITエンジニア向け質問・回答コミュニティ - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    ITエンジニア向け質問・回答コミュニティ - QA@IT
  • The Bastards Book of Ruby

    A Programming Primer for Counting and Other Unconventional Tasks Note: As of 2015, consider the Bastards Book to be in maintenance mode. I currently work at Stanford's Computational Journalism Lab and am slowly working on an overhaul, but it may be awhile. The concepts in this book are evergreen, but the version of Ruby is most definitely not, so follow it with some caution. The Bastards Book of R

  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • 言語処理100本ノック - 東北大学 乾研究室 / Inui Lab, Tohoku University

    FrontPage / 言語処理100ノック 3 秒後に NLP 100 Drill Exercises に移動します。 (移動しない場合は、上のリンクをクリックしてください。) © Inui Laboratory 2010-2018 All rights reserved. 研究室紹介/About Us 過去に在籍したメンバー Members 研究室環境 Lab Facilities ↑研究会/Research Meetings 概要 Overview 総合研究会 Research Seminar 意味研究会 SIG Semantics 談話研究会 SIG Discourse 知識獲得研究会 SIG Knowledge Acquisition Embedding研究会 SIG Embedding KIAI Knowledge-Intensive Artificial Intellige

  • IBM Developer

    IBM Developer
  • CAS - Central Authentication Service

    CalNet Authentication Service CalNet ID: Passphrase (Case Sensitive):

  • Tree Edit Distanceと自然言語処理への応用 - Preferred Networks Research & Development

    海野です。ちょっと時間があいてしまいましたが、昨年の12月に開催されたNTCIR-9という会議のRecognizing Inference in TExt (RITE)というタスクに、前職の方々と共著で出場しました。 Syntactic Difference Based Approach for NTCIR-9 RITE Task. Yuta Tsuboi, Hiroshi Kanayama, Masaki Ohno and Yuya Unno. NTCIR-9, 2011. [pdf] 含意関係認識といわれるこのタスクは、大雑把に言うと与えられた2つの文が同じ意味のことを言っているかどうか判定しなさいというタスクです(厳密には一方からもう一方が帰結できるかの判定です)。今日は、その中で使ったTree Edit Distance (TED) について解説します。 TEDは2つの順序付き木が

  • Qiita

    Why not login to Qiita and try out its useful features?You get articles that match your needsYou can efficiently read back useful informationdark_modeYou can use dark theme

    Qiita
  • Island Life - 書かれなかったもの

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - 書かれなかったもの
  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl