タグ

programmingとProgrammingに関するLeighのブックマーク (193)

  • 犬小屋と高層ビルの違い - give IT a try

    ちょっと興味深いエントリを見つけました。 IDE教育に不安を覚えること - みねこあ なるほど、Smart UIと呼ばれる作り方が、システムの品質を下げるという点は同意です。 ただ、その原因がIDEにあるのかというと、必ずしもそれだけではない気がします。 おいらが思う一番の原因は、犬小屋と高層ビルの作り方の違いに気づいていないプログラマが多いせいではないかと思っています。 つまり、「はじめてのXXX」とか「一週間でわかるXXX」みたいなやWeb記事には、ごく基的な文法の説明や簡単なサンプルプログラムの作り方しか載っていません。 こうした説明のほとんどはSmart UIパターンになっていると思います。 もちろん初心者向けの内容なので、簡単な内容に終始してしまうのは仕方ありません。 しかし、ここで説明されているのは、いわば犬小屋の作り方です。 実際に業務でシステムを構築する場合は犬小屋レベ

    犬小屋と高層ビルの違い - give IT a try
    Leigh
    Leigh 2011/03/01
    確かに犬小屋レベルならできるという人は多い。
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • Javaはスクリプト言語より速い・・・のか?

    『プログラミング言語人気TOP10の簡易解説』という記事が人気を呼んでいたのだが、軽快な語り口で面白い読み物だが、語弊がありそうな部分がある。その中で特に、「(Javaは)実行速度はCに及ばないもののスクリプト言語よりは数十倍速い」とある部分が気になったので、簡単な例で検証してみた。 1. PythonPHPJava、Cで不適切な速度比較を行う 最初にコーディングが不適切な場合にプログラミング言語の速度比較を行うと、通説と異なる結果になる事を示したい。 Ubuntu Linuxで、オブジェクトをなるべく使わずに、順列の整数を100万個生成し、ランダムにシャッフルし、クイックソートを行ったときの経過時間を、timeコマンドで計測したものだ。ソート前、ソート後に配列の内容を、", "で連結して標準出力に書き出している。また、PythonAPIをなるべく使ったもの(*無し)と、なるべく使わ

    Javaはスクリプト言語より速い・・・のか?
    Leigh
    Leigh 2011/02/25
    結局、言語のしくみを知らなければ適切なものを書けない。
  • 自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER

    1.テストやデバッグに使う時間を削減して、プロダクトコードの品質をあげる 単体・結合・統合テストは全体の8〜25%が費やされるべきであるといわれています。ですが、デバッグは開発の50%におよぶ場合があると言われています。これは、テストには来多くの時間を割くべきであるが、デバッグが膨大な時間に及ぶことが事実としてあるということです。 プログラミングについてあまり知られていない7つのことより 1.スキルのレベルにかかわらず、プログラマーは全時間のおよそ10~20%をコードを書くのにあてており、たいていのプログラマーは完成品ができるまで一日あたりおよそ10~12行のコードを書いています。優秀なプログラマーは残りの90%のうち大部分を、考えること・調べること・最高の設計を見つけるための検証作業に費やします。ダメなプログラマーは残りの90%のうち大部分を、やみくもに変更と検証を繰り返すようなデバッ

    自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER
  • IDE教育に不安を覚えること - みねこあ

    少し前に、「IDE を使った教育は良いプログラマを育てられない」って当?...という話題が盛り上がっていました。勿論 IDEを使うこと/使わないことは、教育の結果に決定的な影響を及ぼすわけがないのですが、確かに IDE に抱かれて育った子プログラマ達に不安を覚える気持ちは、わたしの中にあるな〜、と思いました。 んー、多分、DDD の Smart UI のせいかなー。恐怖体験が焼き付けられているんだ、きっと。 * * * 知らない人のために掻い摘んで説明すると、Smart UIDomain-Driven Design というに紹介された開発/モデリングのアンチパターンです。 Smart UI は、まずは画面(フォームとかWebページとか)の見てくれを定義することから開始して、そのコントロールとかビューとかに直接コードをぺたぺた組み込んでいくスタイルです。勿論モデルなんて分析しないし

    IDE教育に不安を覚えること - みねこあ
  • 2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目

    ※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す

    2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目
    Leigh
    Leigh 2011/02/21
    レガシープログラマかどうかを判断する10項目
  • 達人プログラマーに学ぶ どこでも自動化 | Act as Professional

    達人プログラマーはどうするのか? p.240 第8章 達人のプロジェクトより 我々よりもコンピュータの方がうまくやってのけるような繰り返しや俗っぽいことは、すべてコンピュータに任せてしまいましょう。我々にはもっと重要で難しい仕事が待ち構えているのですから。 HIROCASTERの経験から cobblerをつかって、OSのインストールは自動化 puppetやChefをつかって、OSの設定やアプリケーションの導入と設定を自動化 capistranoをつかって、デプロイ作業を自動化 Nagiosなどの監視システムやCactiなどのモニタリングシステムへの追加も自動化 こんなことはさっさとやってしまおう。物理サーバが到着したら数分で番環境へ投入できるように。 Amazon EC2を使えば、物理サーバが到着するのも待たなくてすむ。 達人プログラマーから想像できる開発中の自動化は… シェルを書いてし

    達人プログラマーに学ぶ どこでも自動化 | Act as Professional
  • Gitを使いこなすための20のコマンド | OSDN Magazine

    LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 なお、Gitの基的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。

    Gitを使いこなすための20のコマンド | OSDN Magazine
  • Executing scripts on a remote machine - Marigan's Weblog

  • Free but Shackled - The Java Trap - GNU Project - Free Software Foundation

    Headnote Since this article was first published, Sun (now part of Oracle) has relicensed most of its Java platform reference implementation under the GNU General Public License, and there is now a free development environment for Java. Thus, the Java language as such is no longer a trap. You must be careful, however, because not every Java platform is free. Sun continues distributing an executable

  • Javaの理論と実践: Javaメモリ・モデルを修正する 第1回

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Javaの理論と実践: Javaメモリ・モデルを修正する 第1回
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • ドキュメント集

    2010-2020 S. Koichi, M. Arisaka, H. Koshino, A. Aoki, S. Iwata, T. Uno, H. Sato, Chemical Structure Elucidation from 13C NMR Chemical Shifts: Efficient Data Processing Using Bipartite Matching and Maximal Clique Algorithms, Journal of Chemical Information and Modeling, Vol.54, 1027-1035, 2014. (in English) [PDF] 2000-2010 H. Satoh, A. Aoki, H. Asaoka, ChemoJun: Open Source Chemical Graphics Librar

  • プログラミングいつまでに学ぶ?なぜ学ぶ? : 404 Blog Not Found

    2011年02月02日18:00 カテゴリArt プログラミングいつまでに学ぶ?なぜ学ぶ? どちらもFAQ中のFAQなのだけど、いい機会なのでまとめて。 いつまでに学ぶ? 30位からだと流石に遅いですか?RT @dankogai: 何歳でも間に合います。むしろ「問題」を知っている分、後の方が有利な面すらある< @ryopon_jp: @dankogai 大学入って18からでもプログラミング間に合いますか?大学の勉強は卒なくこなし、英語とプログラミンless than a minute ago via Echofon金子豊 yyyutaka 私の答えは、こう。 ゲーテは70代で恋をしたというのにおまえらときたらたかがプログラミングで自分の年齢を気にするのか?> @yyyutaka: 30位からだと流石に遅いですか?less than a minute ago via HootSuiteDan

    プログラミングいつまでに学ぶ?なぜ学ぶ? : 404 Blog Not Found
    Leigh
    Leigh 2011/02/03
    プログラムはあくまで道具。道具を仕事にはしないし、年寄りだから道具を使うのをあきらめる必要もない。
  • 本当は速いImageMagick: サムネイル画像生成を10倍速くする方法 - 昼メシ物語

    一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て

  • 禅の公案(Koan)がプログラミング学習でプチブーム:Rails Hub情報局:エンジニアライフ

    ロンドンのRailsエンジニア、井上真さんに連載していただいている「Railsで目指せ、情熱エンジニア」の第3回、「DojoとKataでRubyを学ぼう」を公開しました。 海外Rubyistの間では、Dojo(道場)や、Kata(空手のカタ)という言葉を使って、ある種ストイックに、そして方法論を持ってプログラミングスキル向上に取り組もうというのが、ちょっと流行っています。詳しくは記事をご覧いただきたいのですが、記事内で紹介しているDojo、Kataのほかにも、Koan(禅の公案)のような学習コンテンツが、1つのスタイルとして、ちょっとした広がりをみせているようです。公案というのは禅問答ですね。nilとは何か? 何もないことだ。何もないのにオブジェクトとはこれいかに……? Rubyistなら、ご存知の方も多いかもしれませんが、「Learn Ruby with Edgecase Ruby K

    禅の公案(Koan)がプログラミング学習でプチブーム:Rails Hub情報局:エンジニアライフ
    Leigh
    Leigh 2011/01/24
    Cool Japanの一種だな。
  • フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記

    みなさん、こんにちは お元気ですか?僕は元気です。 さて 最近よく、「いいね!」ボタンや「ミクシィチェック」ボタンによって、ウェブページを紹介し合う文化が少しずつ定着してきたなーと思います。 そんな中で、今後重要になってくるんじゃないかと思われる OGP (Open Graph Protocol)と言われる仕様があります。今日はそのことについて書いてみたいと思います。 OGP? おーじーぴー??とはなんでしょうか。 OGP とは 簡単に言うと「このウェブページは何のことを書いているか」という情報を、プログラムから読める形で HTML に付加する記述方法のことです。 まあ、普通のウェブページは人間が読めばだいたい何のことが書いてあるか分かりますよね。 ですが、プログラムは人間ほど頭が良くないので、そのウェブページ内の文章だけではそのページが何のことについて書かれているページなのか正確に識別す

    フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記
    Leigh
    Leigh 2011/01/17
    ogpという言葉は初めて聞いた。
  • JavaScriptで書かれたWeb統合開発ツール「Orion」発表。Eclipseの新プロジェクトとして

    EclipseはオープンソースによるJavaベースの統合開発環境として知られていますが、そのEclipseで新プロジェクト「Orion」が発表されました。 Orion is not a set of Java plug-ins which run in the existing Java IDE. It is browser-based open tool integration platform which is entirely focused on developing for the web, in the web. Tools are written in JavaScript and run in the browser. Orionは、既存のJava IDEに対応したJavaプラグインのセットではありません。ブラウザベースのオープンなツールの統合プラットフォームであり、Web

    JavaScriptで書かれたWeb統合開発ツール「Orion」発表。Eclipseの新プロジェクトとして
  • 爱好中文网 - 最好看的免费小说阅读网

    【简繁】过尽千帆-中短篇H虐文合集 故事1是他的女儿也是他的子(nph):妈妈因她过世之后,她就担任起妈妈的所有职责,包括在床上取悦爸爸 /妈妈因她过世之后,她就担任起妈妈的所有职责,包括在床上取悦爸爸 ☆简繁同发 / 简繁同发1000字? 50po 缘更 /? 缘更--------------------------------? 七月晴连载0万字高辣 教师 《人教师》作者:弘扬|2011年末开始写的文章,后来忙了一段时间所以断了,现在有时间接着写还是那句话,调教老婆来就是男人的责任! 午夜人屠连载12万字高辣 [综武侠]移花宫主她超忙的 上一个二十年,是邀月燕南天等人的江湖。这个二十年,江湖群杰,移花宫主花满园一枝独秀。移花宫主花满园,她曾远赴大漠打败快活王与石观音,也曾在孤岛与燕南天生死决斗。有人说她是江南第一美人,百晓生却说她是天下第一美人。她男友众多,从塞北的西门吹雪,到南

  • Good Code - 良いコードを書くためのフローチャート - XKCD日本語訳 | naglly.com

    ここでは、世界で最も人気があるウェブコミック「xkcd」の最新ナンバーをひたすら日語に翻訳しています。過去のコミック翻訳はxkcdカテゴリーで。翻訳済みの秀逸なコミックについては、2009年?2010年のベスト10をまとめた記事からどうぞ。 ©xkcd.com Creative Commons Attribution-NonCommercial 2.5 License Alt-text: You can either hang out in the Android Loop or the HURD loop. (君は、アンドロイドループかGNU HURDループの中をぐるぐる回ります。) xkcd: Good Code http://xkcd.com/844/ 補足 真の「良いコード」を書くためのフローは存在しない。正しくコードを書くと、時間が掛かり過ぎて仕様が変更されてしまうし、かと言っ

    Good Code - 良いコードを書くためのフローチャート - XKCD日本語訳 | naglly.com
    Leigh
    Leigh 2011/01/08
    これで良いコードを書くためのプログラムが作れますね!