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

あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
2009年07月10日15:00 カテゴリLightweight Languages a = a + 1; /* って違和感あるはずなのに */ ここまでは、いい。 だれでもわかるプログラミングの教え方もある……といいな - 狐の王国 じゃあ「c = a + b」はどうなるのか。 これはcという新しいバケツを用意し、aとbを足した数字を入れろという意味だ。ところが、 a = a + 1; でまともに数学を習った人ならつっかかるはずだし、実際つっかかるなのに、ほとんどの言語が代入演算子として=を採用しているのはなぜなのだろう? いや、私だってこれがFORTRAN由来だってことは知っている。私が知りたいのは、これが数学から見ても自然言語から見ても不自然なのに、ことプログラミングに関しては、なぜこれが自然になってしまったか、ということ。 代入に、=を使う必然性が全くないことは、それを使わぬ言語も
どうしてプログラマに・・・プログラムが書けないのか?を読んでいて出てきたので出展の一つを訳してみた。Separating Programming Sheep from Non-Programming Goatsの和訳。 プログラミングというものには向き不向きが強く出るということはわりと知られていると思うが、このエントリではプログラミングができるかできないかは比較的簡単なテストによって、プログラミングの訓練を始める前の段階で分かると主張している。どうしてプログラマに・・・プログラムが書けないのか?では、そもそもこの事前テストをパスしていないような人達までプログラマとして応募してくると言っており、その判定法として有名なFizzBuzz問題を挙げている。 追記(2019/2/28) 注意: なおこの論文はしばらく前に著者の一人によって撤回されたようです Camels and humps: a r
Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに
ストレス発散がてら書いたネガティブな愚痴り記事が思いの他ブクマしていただくことになり驚いている。みなさん苦労されているようですね。コメントなども多数頂戴したので、調子に乗って返答記事などポストしてみる。*1 コードは読めなければならない 自分のスタンスを明確にしておこうと思う。 コードは読めなければならない。*2 UKTKKNSHINFがダメな理由は、それが読めないからである。頑張って慣れれば読めないこともない、というものは話にならない。容易に読めなければならない。 それに規則性があるなら他のプロジェクトにも転用できない?母音抜きルールを。 他に転用できるんだったら、全社的な生産性向上に寄与できるんじゃないの?母音抜きルールで。 UKTKKNSHINFコンバータ作りました、それとUKTKKNSHINFってそんなにひどい? | さくらたんどっとびーず 規則性があればよいのであれば、プログラミ
id:t-wada と話してた時に出てきた「プログラマの麻疹」 プログラマはみんなどうせかかるんだから早めにかかっておいた方が良い そしてかかっておくと治った後にはさらに良いコードが書けるようになるので 恐れずにかかりましょう 名前 症状 僕の状態 OO 厨 多分、現在一番キャリアが多い。一時期 AOP 厨になってしまった人も含むことがある。Smalltalk を神格化し始める かかり中 function 厨 最近増えてきた。マルチコア時代に最適というわかりやすい感染源ができたことも要因の一つ。LISP が世界を作っていると信じる 挫折中 三項演算子厨 どんどんネストした三項演算子を書いてしまう。気がつくと自分でもよくわからなくなってることもある 治療済み テスト厨 テストのためだけにコードを書いてしまう。プロダクトコードのきれいさよりもテストのしやすさを求めてしまう 治療中 lambda
An easy-to-use Ruby web spider framework What is it? Anemone is a Ruby library that makes it quick and painless to write programs that spider a website. It provides a simple DSL for performing actions on every page of a site, skipping certain URLs, and calculating the shortest path to a given page on a site. The multi-threaded design makes Anemone fast. The API makes it simple. And the expressive
UKTKKNSHINF こういう名前の変数が出てくるのだが、意味わかる? 答え:受付禁止情報 今読んでいるPL/SQLコードは本当にひどい出来なのだが、その中でもネーミングが群を抜いてひどすぎてむしろ笑えてくるので、ここでさらしてみたい。 先ほどの例でわかると思うが、悪しきネーミング習慣である子音母音抜きの嵐である。変数名だろうが関数名だろうがこのルールで命名されているので、暗号文を読んでいるような気分になる。 他には、例えばこんなのがある。 SKSI 作成 HNKN 変換 KKT 確定 CHKN 中間 DTM Datetime DTA Data こうして見ると、ktkrやwktkとなんら違いがない。 "作成"のような、比較的簡単に対応する英単語が見つかるものまで日本語子音母音抜きで書くという徹底ぶり。でも"情報"はINFだったりする統一感のなさ。そしてこれらが単独ならまだしも、複合して出
VBA(Visual Basic for Applications)はおそらく,マイクロソフトが想定していた以上に,広く使われてしまったのではないだろうか。そのためマイクロソフトは,VBAのベースであるVB(Visual Basic)をVB 6からVB .NETへと大幅バージョンアップをした際にも,“VBA .NET”とはできずに旧態依然の仕様のまま取り残す格好になってしまった。 VBAはマイクロソフトのオフィス・ソフトが備えているプログラミング言語である。1993年にExcelで初めて搭載された。オフィス・ソフトで手作業で行っていた作業を自動化したり,オフィス・ソフトをフロントエンドとするようなアプリケーションを開発したりカスタマイズしたりするのに使われている。 VBAはWordやPowerPointなどでも利用できるが,最も多く使われているのはExcelにおいてである。すべてのケースで
TddAntiPatterns - TDD のアンチパターン 目次 この文書について TDD のアンチパターン TDD アンチパターン・カタログ 嘘つき。 (The Liar) セットアップ過多 (Excessive Setup) 巨人 (The Giant) モック酔い (The Mockery) 検査官 (The Inspector) 太っ腹な残り物 (Generous Leftovers) 地元の英雄 (Local Hero) 小姑 (The Nitpicker) 秘密のキャッチ (The Secret Catcher) ペテン師 (The Dodger) 大声 (The Loudmouth) はらぺこキャッチ (The Greedy Catcher) 序列屋 (The Sequencer) 隠れ依存 (Hidden Dependency) 点呼 (The Enumerator)
以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日本語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming System、MicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente
50年前に事務処理用に開発されたCOBOLは、いまでも多くの企業で使われ続けている。基盤部分が近代化してもCOBOLは生き残るかもしれない(編集部) 今回からいよいよCOBOLの文法などの詳細に進みます。第1回「Java/.NET開発者のための『ここが変だよ、COBOL』」で述べたとおり、COBOLはその機能の大部分を言語の構文によってサポートしているため、言語の文法を学習するには比較的多くの時間を必要とします。そこでこの連載では基本的な構文要素を学習するにとどめることにします。 なお、現在のCOBOLはオブジェクト指向要素も追加され、多様な記述が可能になっています。しかし、現存するCOBOLソースの大多数は単一のプログラムを定義するような古典的なものです。そこで、本記事でも話題をこの範囲に限定します。 また、読み易さのために意図してリファレンス的な記述を避けていますので、さまざまな例外的
id:t-wadaさんの話の中で、TDDが品質を保証するわけではない、という話があったんですが、それについて私見をつらつらと。ちなみに自分は2年くらい仕事でTDDをやってきました。 やってきた中で下記のTDDの利点を感じることができました。 その時に気づいた最もシンプルなコード、クリーンなコードができる テストコードからコードを書く、と言うのはプロダクトコードの利用方法が考えられるのでとても有効に作用します。id:t-wadaさんもリファクタリングが一番重要と話されていましたが、テストコードがあれば安心してリファクタリングができます。 より高い品質のコードが書けるようになる これはt-wadaさんの話の中でもありましたね。なぜかと言うと、プロダクトコードが実行される時の前提条件を知ろうとすると、結構いろいろなコードに目を通すことになります。コードに目を通すことで優れた先人の知恵を見つけるこ
電子工作の経験がなくても、誰でもハードウェアを自作できる時代が来ていた! 2009-06-07 『電子工作』 なんとなく興味はあるけど、電気回路なんてまったくわからないし、はんだごてとか使うのもやたら危なそうだし...というイメージが(少なくとも個人的には)ある電子工作の世界。 そんなイメージは、とあるセミナーでぶっ壊されました。 なんと、最近の電子工作の世界は「プログラミング未経験でもperlでCGIやPHPぐらいならできそう」と同じくらいのところまできていたのです。 たとえば、PCを使わずに「人が通ったことをセンサーで感知して、自動的にtwitterにpostする機械」を、電子工作経験がほぼゼロの僕でもちょっとがんばれば作れそうと思えるぐらいでした。 「できたらいいなあ」が「やればできちゃう」ぐらいになってて、なんだか、視野がぐぐっと広がった感じがしてかなりテンションがあがりました。
参照整合性(Referential Integrity)とは,テーブル間のデータの整合性を保つための仕組みである。例えば,「受注テーブルの商品番号カラムには,商品テーブルの商品番号カラムに同じ値がなければならない」といった制約を維持するための仕組みである(図1)。RDBMSはこの整合性を維持するための機能として,「参照整合性制約」といった機能を持つことが多い。これは,定義された参照整合性をチェックし,整合性を逸脱するような値がテーブル内に存在しないようにする機能である。この機能を使用する場合は,テーブル定義の際に「Constraint句」を用いることが多い。 参照整合性制約機能は,誤ったデータがテーブルに含まれないようにするには効果的な機能である。だが,むやみに使うと問題を引き起こすことがあるので,注意が必要だ。 データ移行時にエラー 最も問題が起こりやすいのは,データを移行する際だ。先の
Java/.NET開発者のための「ここが変だよ、COBOL」:COBOL - Getting Started(1)(1/2 ページ) 50年前に事務処理用に開発されたCOBOLは、いまでも多くの企業で使われ続けている。基盤部分が近代化してもCOBOLは生き残るかもしれない(編集部) さあ、COBOLを始めてみようか マイクロフォーカスの小林純一です。今回、COBOL言語入門の連載をCoding Edgeで書かせていただくことになりました。最後までよろしくお願いします。 企業活動の迅速性とコスト削減を目指したITモダナイゼーションの潮流の中で、メインフレーム中心の情報システムの見直しが進んでいます。Java EE(Java Platform, Enterprise Edition)や.NETフレームワークを基盤としながらも、COBOLで書かれたコアとなる計算ロジックをサービスとして活用する手
これからGitを始める人が読むべき記事のまとめ 2009-05-13 candycane(RedmineをCakePHPでPHPに移植するプロジェクト)の開発でGitの素晴らしさを痛感したので、これはもう全力でGitを広めるべきだと思いました。そこで、これからGitを始める人が読むべき記事をまとめてみたいと思います。 なお、Gitの発音は「ぎっと」です。 目次 1 Gitの開発者による45ページの特集記事「WEB+DB PRESS vol.50 はじめてのGit」2 Gitを使いこなすための20のコマンド3 GitM#1 プレゼン資料4 Git/Subversionコマンド対応表5 アリスとボブのgitをちゃんと理解したい!6 github.com7 Gitはソースからインストールしよう Gitの開発者による45ページの特集記事「WEB+DB PRESS vol.50 はじめてのGit」
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 by chazmatazz 「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。あ、Pythonに限定してますが、他の言語でも似たようなものはあると思いますので、脳内変換をお願いします。 事前の設計はしません 「こういう処理が必要」「こういう計算しなきゃね」みたいなロジックや「要件はこうかな?」ということは事前に考えたりするけど、クラス構造とかは基本的に考えないで手をつけます。そして、ある程度規模が大きくなって「あ、ちょっとこの関数大きすぎて理解しにくいなぁ」と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く