タグ

programmingとProgrammingに関するraituのブックマーク (1,069)

  • C言語における文字列連結 — KaoriYa

    C言語で文字列連結を行う。とても簡単に思えるけれど、実はパフォーマンスについて考えることもあるんだよ、というお話。 C言語で2つ文字列の連結して、1つの文字列にするプログラム(関数)を書けるでしょうか? ちょっとC言語でプログラミングを学んだことがあれば簡単ですよね。要求仕様としては2つの引数aとbをとり、どちらもNULターミネートな文字列で、その文字列をヒープから確保した領域で連結して戻り値として返す、という感じの動作です。ヨユーですね。ちょっと書いてみてください。 char* str_join(const char* a, const char* b) { char* p = malloc(strlen(a) + strlen(b) + 1); strcpy(p, a); strcat(p, b); return p; } こんな風に書いてしまったあなたは及第点です。個人的には失格です

  • 各国プログラマーのステレオタイプ的分類 - himaginary’s diary

    タイラー・コーエンが、なぜソフトウエアでは一物一価の法則が成り立たず、米国や日企業は自国の高いソフトウエア技術者を使い続けるのか――香港やシンガポールや中国ではもっと安価で雇えるにも関わらず――という一読者の疑問をブログエントリ化した。それに対し250を超えるコメントが付いたが、予想される通り、ソフトウエア開発においては単なるコーディングだけではなく、発注元と発注先とのコミュニケーションが重要なウェイトを占めるのだ、という指摘が相次いだ。その中で、各国のプログラマをステレオタイプ的に寸評したコメントが少し面白かったので、以下に訳してみる: Well, while we are being rude let me speak… It’s not the individuals of course, but the culture. And culture is why Americans

    各国プログラマーのステレオタイプ的分類 - himaginary’s diary
    raitu
    raitu 2012/01/15
    「ドイツ人もロシア人もインド人も創造性や柔軟性を重視しない」アメリカが適当過ぎるだけだろ。「日本のITはダメ」が世界共通認識てのは残念な話
  • Home | TIOBE - The Software Quality Company

    div.slide" data-cycle-pause-on-hover="true" data-cycle-timeout="6000" data-cycle-pager=".realpager" data-cycle-prev=".prev" data-cycle-next=".next"> Software is everywhere. Consider the impact of code on our health care. Can you imagine why we take the quality of code seriously? Software is everywhere. Consider the impact of code on our aerospace. Can you imagine why we take the quality of code se

    raitu
    raitu 2012/01/12
    プログラミング言語人気。Java(17.5%)とC(17.0%)が二強で、後追いでC#(8.8%)、C++(8.1%)、Objective-C(6.9%)ってところか。C#とObjective-Cに勢いがある感じ。
  • Home | TIOBE - The Software Quality Company

    div.slide" data-cycle-pause-on-hover="true" data-cycle-timeout="6000" data-cycle-pager=".realpager" data-cycle-prev=".prev" data-cycle-next=".next"> Software is everywhere. Consider the impact of code on our health care. Can you imagine why we take the quality of code seriously? Software is everywhere. Consider the impact of code on our aerospace. Can you imagine why we take the quality of code se

    raitu
    raitu 2012/01/12
    Java人気グラフ。微妙に右肩。
  • 最強のプログラミング言語は『Perl』だよな? : VIPPERな俺

  • 主成分分析が簡単にできるサイトを作った - ほくそ笑む

    あけましておめでとうございます。 年もよろしくお願いいたします。 主成分分析 さて、昨年の終わりごろから、私は仕事で主成分分析を行っています。 主成分分析というのは、多次元のデータを情報量をなるべく落とさずに低次元に要約する手法のことです。 主成分分析は統計言語 R で簡単にできます。 例として iris データで実行してみましょう。 data(iris) data <- iris[1:4] prcomp.obj <- prcomp(data, scale=TRUE) # 主成分分析 pc1 <- prcomp.obj$x[,1] # 第一主成分得点 pc2 <- prcomp.obj$x[,2] # 第二主成分得点 label <- as.factor(iris[,5]) # 分類ラベル percent <- summary(prcomp.obj)$importance[3,2] *

    主成分分析が簡単にできるサイトを作った - ほくそ笑む
    raitu
    raitu 2012/01/07
    具体使用例を示してないのにこの注目度…
  • グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開

    ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 gitのレポジトリを分析 bugspotsはRubyで記述されており、gitのレポジトリから履歴を読み込んで分析し、どのモジュールにバグが含まれている確率が高いかを示してくれます。 以下のようにインストールして実行(説明ページから引用)。 $> gem install bugspots $> git bugspots /path/to/repo $> git bugspots . # (in current git directory)

    グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開
    raitu
    raitu 2012/01/06
    gitレポジトリ解析によるバグ予測。バグ修正の4割が新たにバグを仕込んでるって研究は胸が痛むが頷ける
  • 無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog

    はじめに こんにちは、動画配信界の情弱です。年始からStackOverflow眺めてたら超絶便利な質問に神回答がされてたので忘れないうちにメモっておく。2012年どっかで役に立てばいいですね。 参考 オリジナルはこちら。ここではコメントにパラパラと載ってたので、まずは直近1ページ目だけにあったものを1個のリストにまとめてみた。ほぼGeorge Stocker氏による回答を載せただけだけど。あとちょっとだけ自分で和訳とか加えたので、知っているものがあればコメントに載せて下さい。追加します。まだDとかFactorとか載ってないし、Pythonも全然足りないし。 API Only - Stack Exchange もしかするとバージョンが古かったりするものもあるかも知れませんが、それもコメントで教えてもらえるとその旨追記します。 他にも過去に挙がったもののリンク ReadWriteWebのプログ

    無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog
    raitu
    raitu 2012/01/03
    英語ばっかりだけどなんだこの量。ジャンルも多岐に渡ってる
  • 空き時間にスマフォでソースコードが読める『CodeLibrary』をリリースしました! - hamheiの日記

    英語でこの記事を読む(Reading in English) ・4/5 追記: 好きなプロジェクトのコードが読めるPocketCodeをリリースしました。 クリスマスも当然の如く開発充なはむへいです! 僕と同じくクリエイティブで孤独なXデイを過ごす500万人のエンジニアを応援する為に 『CodeLibrary』というOSS(オープンソースソフトウェア)のコードをスマフォ上で読めるアンドロイドアプリをリリースしました! きっかけ 「OSSも読まないエンジニアって...」という記事を読んで、慌ててコードリーディングを始める 移動中にSNSを見る時間を、コードリーディングに充てたい スマフォでソーシャルにコードリーディングが出来るプラットフォームを作ろう! ベータ版ができたから公開するお^^ ←イマココ どんなアプリ? ちょっとした空き時間に、スマートフォン上でソースコードが読める、アンドロイド

    raitu
    raitu 2011/12/26
    超欲しいのにAndroidアプリのみか
  • 僕たちプログラマーは、プログラミングに、Excelを使います! - m2

    なんとかカレンダー 21日目 id:miya2000 です。こんばんは! 低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。 わずか数秒で世界が変わります! 元ネタ めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html Excelを使った高級コーディング とにかく Excel でコーディングを行った画面を見てみましょう。今回は Java のコーディングをやってみます。 どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分か

    僕たちプログラマーは、プログラミングに、Excelを使います! - m2
    raitu
    raitu 2011/12/22
    excelでjava code書いてマクロでコンパイル&実行的な。実用的に思えないこともないので、ネタで終わる事を祈ってる。構成管理&差分管理が超大変そうだから。
  • Martin Fowler's Bliki in Japanese - 生産性は計測不能

    http://www.martinfowler.com/bliki/CannotMeasureProductivity.html 設計手法などのソフトウェアプロセスについて、感情的に議論されているのをよく目にします。しかし、その議論に答えを出すのは不可能です。ソフトウェア産業では、ソフトウェア開発の効果要因を計測する術がないからです。特に、生産性を合理的に計測する方法はありません。 生産性とは、インプットとアウトプットで決定されるものです。 ソフトウェアの生産性を測るには、ソフトウェア開発のアウトプットを見なくてはいけません……が、そのアウトプットを計測できないからこそ、ソフトウェア開発の生産性が計測できないのです。 これに対して何もしなかったわけではありません。コード行で生産性を計測しようと研究をしている人たちがいます。めちゃくちゃムカつきますね。だって言語は違うし、数え方の違いもあるし

    raitu
    raitu 2011/12/18
    「チームの生産性というのは、構築したソフトウェアをリリースしてから 数年後に初めて分かるようなものかもしれないのです」
  • 「Facebookにはテスト用サーバがない。リリースとなったらそれをそのまま一般公開するだけ」 - ネタフル

    ウォンテッド株式会社社長の仲暁子さん(元Facebook)が、セミナーで以下のような話をされたそうです。 「Facebookにはテスト用サーバーが無いんです。エンジニアはすべて番環境の上で開発をしていて、リリースとなったらそれを一般ユーザーに見えるように公開するだけ。エンジニアにすごい権限が与えられている。」 これに対してコメント欄でUmihiko Namekawa氏が次のような捕捉をしています。 これは環境や金の問題じゃありません。Facebookという会社の文化なんですね。Facebookの社是がHack! 「フェイスブック 若き天才の野望」にマークが寝そべって雑談しながらノートパソコンにコードをばしばし打ってEnter!でいきなり機能を公開しちゃうのを見てVCが肝を冷やす、というシーンが出てきます。当時でもユーザー500万というスケール。 なるほど、Facebookの企業文化なので

    「Facebookにはテスト用サーバがない。リリースとなったらそれをそのまま一般公開するだけ」 - ネタフル
    raitu
    raitu 2011/12/17
    「本番環境上で誰に公開するかを選びながら公開できるんですよね。まずは開発チーム内で。」
  • グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している

    グーグルでは、社内のプログラマによって作り出される大量のコードの品質を保つため、チェックイン前にユニットテストとコードレビューが行われているそうです。しかし、コードが大量になってくると、ユニットテストやレビューをすり抜けるバグも少なからず発生します。 そこでコードの品質をさらに高めるために、グーグルでは「バグ予測アルゴリズム」を採用。バグがありそうな部分をレビュアーにアドバイスする仕組みを採用したとのこと。 そのバグ予測アルゴリズムとはどんなものなのか。Google Engineering Toolsブログに投稿されたエントリ「Bug Prediction at Google」(グーグルにおけるバグ予測)で説明されています。 ソースコードの修正履歴を基に予測 コードの中にバグがありそうな箇所を分析する手法としては、「ソフトウェアメトリクス」がよく用いられます。これはコードを静的に分析して、

    グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している
    raitu
    raitu 2011/12/16
    「より高頻度にバグを修正し、かつ最近になって集中的に直しているほど、スコアが大きくなります。そしてスコアが大きいほど、相対的に見てそのコードにはバグがある可能性が高い」
  • もう一度身につけたい変態で学ぶオブジェクト指向 - Happy Programming!!

    コンニチハ! 変態アドベントカレンダーです。 http://atnd.org/events/22020 ※ アドベントカレンダーとは、クリスマスまでに毎日日替わりで窓を開けていくカレンダーのこと。 それにちなんで、日替わりでblogエントリを書くのがアドベントカレンダーです。 オブジェクト指向 ってよく聞きますし、実際のところ何がすごいの?? って思ったりしてる人も多いでしょう。 抽象クラスって何よ!? インタフェースとかどうやって使う? とか そういう初心者向けアーンドもう一度学びたい人達に変態を例に説明してみましょう。 うだうだですけど、最後まで読んでいただければ幸いです。。。 まず、オブジェクト指向は何が嬉しいのか?ってところですけど、 処理を共通化し、生産性をあげる!! ということではありません。 もちろんそういう一面もありますが、これぐらいならオブジェクト指向を使わなくても十分で

    もう一度身につけたい変態で学ぶオブジェクト指向 - Happy Programming!!
  • エラー処理を書いてはいけない

    エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

  • 「家庭用ゲームと同等」のゲームをChrome上で スク・エニとGoogleが協力

    スクウェア・エニックス・ホールディングスは12月9日、米Googleと協力し、「家庭用ゲーム機向けと同等」のゲームをWebブラウザ上で提供していくと発表した。ブラウザ上でネイティブコードを実行する技術「Native Client」を活用、Chromeブラウザで動作するゲームの第1弾を月内にリリースし、来年中に複数のタイトルを公開するとしている。 米Google社で開かれたNative Clientの発表会に、スク・エニの和田洋一社長が出席し、第1弾ゲーム「Mini Ninjas」を披露した。 同ゲームは2009年に英Eidos(スク・エニ子会社)がリリースした忍者アクションゲーム。12月中にオープンβサービスを開始する予定で、ダウンロードやインストールなどの操作をしなくてもChromeウェブストアから遊べるという。オープンβの利用には今後リリースされるChromeのβ版(Chrome 1

    「家庭用ゲームと同等」のゲームをChrome上で スク・エニとGoogleが協力
    raitu
    raitu 2011/12/10
    ついにNative Client本格始動。ソーシャルゲームでWeb屋にやられっぱなしだったゲーム屋の逆襲が今、始まる。課金プラットフォームの構築が鍵と見た
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
    raitu
    raitu 2011/12/07
    不具合発生箇所の特定手順:問題再現プログラムを限界まで小さく作成(問題箇所絞り込み)→バグ発生コードを直接修正して原因箇所を特定。
  • 小人閑居して: 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説

    2011年12月6日火曜日 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説 「ぐへへお姉ちゃんパンツ何色」はこれ以上ないほどオブジェクト指向であり、しかも理想的な実装をしていることに気づきました。これを用いてオブジェクト指向を説明してみようと思います。 ある人が「ぐへへお姉ちゃんパンツ何色」と質問するのは、お姉ちゃんオブジェクトの保持するpants_color変数を取得しようとする手続きと見ることが出来ます。つまり oneechan.pants_color を取得しようとしているわけです。 ではどうすればいいのでしょうか? 考えてみましょう。直接パンツを見ればpants_colorを取得することができますね。 クラスを使わないとすればこんな書き方が考えられます。 struct oneechan{      int pants_color; }; 構造体でひな形を宣言します。

    raitu
    raitu 2011/12/07
    構造体とクラスの違い「カプセル化」パンツの色は勝手に見てはだめだから「「ぐへへお姉ちゃんパンツ何色」という質問、これは非常に行儀のよい手続き」を踏もうと。結果oneechan::call_police()を実行されようとも。
  • 理解されない本当のIT業界--ここでの職業が持つ10の短所

    多くの知り合いのITプロフェッショナルと同様に、わたしも時々、友人や家族からIT業界仕事ができないかと頼まれることがある。なぜか、そう頼んでくる人の多くは、IT業界に働いている人はみな百万長者か億万長者だと思っているらしい。またIT業界年収について勘違いされているということ以外にも、IT業界の外部にいる人は、この業界の仕事がどれほど大変かを理解していないことが多いようだ。 このサイトの読者にはITプロフェッショナルが多いため、この仕事のメリットとデメリットはどちらもよく知っているはずだ。わたしがこの記事を書いた理由は、読者が次にIT業界仕事について非現実的な期待を抱いている友人から働きかけを受けた時に、相手にこの記事を送ればいいようにすることだ。 1.労働時間が長い IT業界にはあらゆる種類の仕事があるが、そのほとんどには1つの共通点がある。労働時間が長いということだ。IT業界で働き

    理解されない本当のIT業界--ここでの職業が持つ10の短所
    raitu
    raitu 2011/12/01
    アメリカもだいたい同じシリーズ
  • プログラマーは"一線"を超えると急激に伸びる - Linux/Ruby 小崎氏(後編)

    プログラマーのスキルはある一定のラインを超えたところで急激に伸びるんです。そのラインは早く超えるには、OSSの開発に参加していろんな人が書いたソースコードをたくさん読むというのは有効な手段の一つだと思います」――こう語るのはLinuxカーネルおよびRubyの現役コミッターである小崎資広氏だ。 小崎氏には前回、LinuxカーネルやRubyの開発に関わった経緯や、コミュニティ活動を円滑にするポイントをうかがった。今回は、これからOSSコミュニティに参加しようと考えている若手エンジニアに向けたアドバイスをお願いしよう。 関連インタビュー 【インタビュー】コミュニケーション力向上に役立ったOSS活動 - Linux/Ruby 小崎資広氏 【インタビュー】言語は思考にも影響を及ぼす、だからRuby開発を選んだ--まつもとゆきひろ氏 【インタビュー】Rubyが大きくなれたのは、私に隙があるからかな

    プログラマーは"一線"を超えると急激に伸びる - Linux/Ruby 小崎氏(後編)
    raitu
    raitu 2011/11/30
    「設計の定石やバグが入り込むときの共通パターンが体に浸透し、コードを読んだときにバグの"臭い"をもやもやと感じるようになる」