プログラミング

継続的デリバリー

継続的インテグレーション、継続的デリバリーに興味があるので読んでみた。内容としてはデプロイメントパイプラインという概念の包括的な説明になる。 個別のツールは紹介程度で、ツールの具体的な使い方や、環境構築手順といったものは説明されていない。 …

エンジニアはなぜエディタにこだわるのか

今月の Software Design はエディタ特集。 技術的に突っ込んだ内容というよりは入門記事的な内容だった。個人的には C++/Qt 向けの設定をもう少し充実させておきたいところなので、ぼちぼち設定を見直していくためにメモを残しておく。プラグイン http://www…

XUL

Software Design 2011/02 の竹迫さんの記事で XUL が紹介されていた。 前から XUL の存在は知っていたけど、触ったことがなかったので Firefox の UI の勉強にもなるかと思い触ってみた。XUL Explorer をセットアップすれば XUL を試すことができる。 https:…

オープンソースソフトウェアでよく見かける configure スクリプトを自作してみる

これまで、configure スクリプトを使うことは何度もあったが、作ったことはなかった。 なんでも使うのと作るのは大違い、というわけで、試しにつくってみた。環境は以下の通り。 CentOS 5.5 (i386) automake-1.9.6-2.3.el5 autoconf-2.59-12 gcc-4.1.2-48.el…

Building Scalalbe Web Sites

Chapter 1 Introduction Chapter 2 Web Application Architecture Chapter 3 Development Environments Chapter 4 i18n, L10n, and Unicode Chapter 5 Data Integrity and Security Chapter 6 Email Chapter 7 Remote Services Chapter 8 Bottlenecks Chapte…

Scala はじめました

目次解説:いまなぜScalaなのか? 羽生田栄一 第1章 Scalaとインストール方法 Scala: Java仮想マシン上の偉大な言語 Scalaのインストール Scalaコミュニティ 第2章 Scalaの文法、スクリプト、初めてのScalaプログラム コマンドラインでのScalaとScalaスクリプ…

Windows PowerShell

Windows Server でユーザごとのディスクの使用量についてレポートするワンライナーを PowerShell で書いてみた。 Get-ChildItem 'C:\Documents and Settings' | foreach-object {$_.name + "," + (Get-ChildItem ("C:\Documents and Settings\" + $_.name) -…

手続き脳と関数脳の違い

今月号 (2010年6月号) では id:nobsun さんの関数脳が覗ける!Software Design 2010年6月号|技術評論社 第3特集 使いどころも考えどころもまるわかり はじめての関数型言語 Haskell,Clojure,Scheme * 1章:関数型言語とは何か? 手続き型言語との違いと,…

Developers Summit 2010 に行ってきた

デブサミ 2010 に参加してきたので、ざっくりメモ。 世界は変わった。開発の現場はどうか? Developers Summit 2010 http://codezine.jp/trackback/devsumi2010諸々の都合で、参加したのは 1日目のみで、 Cloud Development トラックばかりに参加した。 Forc…

ActionScript 3.0

新しい言語をお勉強。 Flash でいくべきか、Flex でいくべきか、それが問題だ。O'Reilly Japan - 初めてのActionScript 3.0

Real World Haskell - 第6章 Using Typeclasses

Real World Haskell で Haskell を継続的に勉強中。いろいろあって、しばらく間が空いてしまったが、なんとかペースを取り戻すぞ。Chapter 6. Using Typeclasses Chapter 6. Using Typeclasses The need for typeclasses == のように異なる型を比較する場合…

Real World Haskell - 第5章 Part3 A more general look at rendering 〜 Practical pointers and further reading

Real World Haskell で Haskell を継続的に勉強中。 Chapter 5. Writing a library: working with JSON data Chapter 5. Writing a library: working with JSON data A more general look at rendering Prettify module つくるよ Developing Haskell code wi…

Real World Haskell - 第5章 Part2 The anatomy of a Haskell module 〜 Type inference is a double-edged sword

Real World Haskell で Haskell を継続的に勉強中。 Chapter 5. Writing a library: working with JSON data Chapter 5. Writing a library: working with JSON data The anatomy of a Haskell module module 宣言を書き、exports を列挙し、where で終わる …

のんびり Haskell

のんびりHaskell − @IT関数適用、関数の型、関数束縛、関数抽象、カリー化などが一気に説明されているので復習に良い。

Real World Haskell - 第5章 Part1 A whirlwind tour of JSON, Representing JSON data in Haskell

Real World Haskell で Haskell を継続的に勉強中。 Chapter 5. Writing a library: working with JSON data Chapter 5. Writing a library: working with JSON data A whirlwind tour of JSON JSON を操作するライブラリを実装していく JSON (JavaScript Ob…

Real World Haskell - 第4章 Part12 Space leaks and strict evaluation

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming Space leaks and strict evaluation foldl 以外にも space leak が発生する場合がある seq で non-strict evaluation をバイパスで…

Real World Haskell - 第4章 Part11 Code reuse through composition

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming Code reuse through composition 関数合成は . でできる suffixes2 xs = init (tails xs) compose :: (b -> c) -> (a -> b) -> a -…

Real World Haskell - 第4章 Part10 As-patterns

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming As-patterns as-pattern を使うと読みやすいコードが書ける as-pattern ではデータのコピーが発生しないので allocation を節約で…

Real World Haskell - 第4章 Part9 Partial function application and currying

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming Partial function application and currying この説明を待っていた! You may wonder why the -> arrow is used for what seems to …

Real World Haskell - 第4章 Part8 Anonymous (lambda) functions

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming Anonymous (lambda) functions Haskell では無名関数はλ関数とも呼ぶ \ でλ関数が使える \ は lambda と読む 日本だと backslash …

単一代入と末尾再帰

RWH (Real World Haskell) では末尾再帰 (tail recursion) がサラッと説明無しに出てきたので、 RWH は少し離れて、末尾再帰について少し調べていた。第2回 「単一代入」と「末尾再帰」 | 日経 xTECH(クロステック) 「関数が返ってきた後にする処理」がな…

Real World Haskell - 第4章 Exercises Part2

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming回答は順次追記していく。 Excercise が溜まってきたので消化しないと・・・ Excercises (Section "Left folds, laziness, and spac…

Real World Haskell - 第4章 Part7 How to think about loops (続き)

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming How to think about loops Left folds, laziness, and space leaks foldl は space leak を起こすので thunk を作らない foldl' を…

Real World Haskell - 第4章 Part6 How to think about loops (続き)

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming How to think about loops for/while ループは Haskell には存在しないので別の方法で表現する必要がある Folding from the right …

Real World Haskell - 第4章 Part5 How to think about loops (続き)

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming How to think about loops for/while ループは Haskell には存在しないので別の方法で表現する必要がある The left fold foldl :: …

Real World Haskell - 第4章 Part4 How to think about loops (続き)

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming How to think about loops for/while ループは Haskell には存在しないので別の方法で表現する必要がある Selecting pieces of inp…

Real World Haskell - 第4章 Part3 How to think about loops

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming How to think about loops for/while ループは Haskell には存在しないので別の方法で表現する必要がある Explicit recursion impo…

Real World Haskell - 第4章 Exercises Part1

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming回答は順次追記していく。 Excercises (Section "Special string-handling functions" の後にあるもの) 1.Write your own “safe” de…

Emacs と cabal-install の設定

Real World Haskell - 第1章 - バイナリアンを目指して GHC 6.10.1をWindows XP にインストールした。 さらに Emacs と cabal-install を設定した。 Emacs ftp://ftp.gnu.org/gnu/emacs/windows/ から emacs-22.3-bin-i386.zip をダウンロードして解凍 解凍…

Real World Haskell - 第4章 Part1 like a "laundry list"

Real World Haskell で Haskell を継続的に勉強中。 Chapter 4. Functional programming Chapter 4. Functional programming Infix functions infix notations is purely a syntactic convenience Woking with lists :module +Data.List length :: [a] -> In…