タグ

プログラミングに関するfumikonyのブックマーク (145)

  • 橋渡しとしてのAPI - もなもなもなかのページ

    前回 の続き. たぶんこれで件に関する一応の最終回. APIは世界の境界線 異なる世界観の端境にあって,両者の言い分を理解して橋渡しをする. API の設計は,端的には橋渡しに尽きる. API の直交性など,細かく言うと設計上気をつけるべき点はある. しかし,それは,より美しく使いやすい API であるための付加価値である. 大事だけれども質ではない. API の代表例として,OS が提供するものがある. システムコールとかサービスコールという名で呼ばれる. フリーダムなユーザランドと,好き勝手されては困るOSとの間の橋渡しをする. 一例として,リアルタイムカーネル TOPPERS/JSP のサービスコール関数の冒頭を引用する. 心配ない. RTOSのコードなんて読んだことが無いよ,という方でもざっくりと理解できれば十分. /* * メールボックスへの送信 */ #ifdef __sn

  • プログラマが解くのに1時間かかる問題を機械学習に放り込む話 | ぱろすけのメモ帳

    プログラマが解くのに1時間かかる問題を機械学習に放り込む話 By ぱろすけ on 4月 11th, 2012 皆様、 Twitter やら facebook で数カ月前に爆発的に拡散された以下の問題をご存知でしょうか。 ご存知の方が多いでしょうね。単に、イコールの左側の4つの数字の丸の数の合計がイコールの右側に等しい、それだけですね。とても簡単な問題です。ちなみに僕は解けませんでした。 これについて、昨日このようなエントリが投稿され、話題になっています。 プログラマが解くのに1時間かかるという問題が普通にプログラマな方法で5分で解ける話 http://d.hatena.ne.jp/nowokay/20120410 こりゃあ炎上するでしょうねえ。だって、プログラマも何も関係なく、ふつうに問題を解いているのですから。 先ほどのエントリでは、イコールの左側の数値は変数であり、それを足しあわ

  • 辞めていった人達が作ったシステムの保守を楽しいものにする - ariyasacca(2012-03-18)

    ▼ [Software]辞めていった人達が作ったシステムの保守を楽しいものにする はてなは「絶対すべきでないこと」をやらかしたのか? nabokov7; rehash : ライブドアという会社の話をしよう - Q12. 次世代ブログサービス(になるはずだった) nowaの撤退をどうみた?(下) この辺りの話題を眺めていて思うところあったので少し書いてみる。 別にはてな社やライブドア社がどうだって話ではなくて、システムやソフトウェアを開発する仕事の話です。 まず、大前提として、 新しくスクラッチから書き起こす 既にある機能と互換性を保ちながら改修する プログラマにとっては、前者の方が圧倒的に楽しい仕事だと思ってます。(最近無くなったらしいけど)グーグル社の20%ルールは、開発者の創造性を巧く引き出せるよう上手に設計された制度です。 ただ、現実問題として、IT業界では後者の仕事を行う機会の方が

    辞めていった人達が作ったシステムの保守を楽しいものにする - ariyasacca(2012-03-18)
  • 良いネーミングをするために覚えておきたい英語のルール5つ - プログラマー幸福論

    Photo by muraterturk こういった記事って、ネーミング規則や慣習の視点から書かれていることが多いんですけど、この記事では、英文法に視点を置いて、参考になりそうなことをいくつかピックアップしてみたいと思います。 「省略形は使わない」などの規約的なものは、各プロジェクトのルールに従えばいいので、ここでは書きません。あくまで英語という視点から書いているということを、ご理解ください。 Rule 1 : “検索”は名詞 一般的な英語辞書のルールでは「検索」は、動詞ではなく「検索する」が動詞になります。「検索」は、検索することの名称 だと考えられるため、動詞ではなく名詞として扱います。 英語辞書には、日語の品詞ごとに表記のルールがあります。これが理解できていると、和英辞書などで品詞を意識して検索できるようになります。以下に、一般的な英語辞書の表記ルールをまとめてみました。 <各品詞

    良いネーミングをするために覚えておきたい英語のルール5つ - プログラマー幸福論
  • 数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - ブログのおんがえし

    最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。

    数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - ブログのおんがえし
  • メタ構文変数 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "メタ構文変数" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2011年1月) メタ構文変数(メタこうぶんへんすう、metasyntactic variable)は、プログラミング言語の記述で使われる識別子の一種。サンプルプログラムなどで意味のない名前が必要な場合に利用される「意味のない名前」であることが広く知られた識別子のことである。 概要[編集] プログラミング言語では識別子(変数や関数などの名前のこと)を自由に定義できる。しかし、サンプルプログラムなどでまったく意味の無い変数に付ける適当な名前がないために困ってしまうことがある。適当

  • ソフトウェアテストを勉強しはじめて10ヵ月でやったこと - うさぎ組

    WACATE 2011 夏に誘われたのがキッカケでソフトウェアテストを勉強しはじめて10ヵ月くらいがたちました。 先日、わんくま名古屋でソフトウェアテストの勉強法についてLTしたのですが、みなさんにいろいろ聞かれたのでここにまとめておこうと思います。 当は1年の区切りで書こうと思ったけど、まぁいいでしょう。 追記ここから わんくまで発表したLT資料はこちらです うさみみのソフトウェアテスト勉強法 View more presentations from Kyon Mm 追記ここまで こういうのを書くときに時系列で書くべきか、コツを書くべきか悩みますね。 でも、みんなが知りたいのは僕の歴史じゃなくってコツだと思うので後者で書きます。前者はTwitterとか勉強会とかお事とかお茶でもしているときに聞いてみてください。 以下では多くの書籍を紹介していますが、僕がこの10ヵ月で読んだ。ってい

    ソフトウェアテストを勉強しはじめて10ヵ月でやったこと - うさぎ組
  • iSUS - 並列化、高速化のための技術ポータル

    Intel 社のシニア主席エンジニア執筆!並列化マガジン最新号「インテル Parallel Universe 54 号」日語版公開 インテル® ソフトウェア開発ツール 2024 リリース! アプリケーションの最適化、マルチアーキテクチャー・プログラミングを支援するインテルの新しいツール

    iSUS - 並列化、高速化のための技術ポータル
  • PHPより気軽に、Rubyで簡単ウェブ開発 - m.igrs.jp

    元旦に rack-server-pages というものをリリースしました。 元旦リリースしました。僕からのお年玉です。 > rack-server-pages j.mp/uNthnL #ruby — Masato Igarashi (@migrs) January 1, 2012 実は数年前からずっと作りたいと思っていたもので個人ToDoリストに長らく居座っていたものがやっと着手できた。 Ruby で WEB開発といえば Ruby on Rails というデファクトスタンダードを筆頭に MVCフレームワークを利用するのが一般的ですが、現状フレームワークを利用しないという選択肢がほとんど無いんですよね。 フレームワークというキーワードを聞くだけで「よく分からない」「プログラマの為のもの」 感覚になってしまう人も多いはずです。 たとえシンプルで軽量といわれている Sinatra ですら。 PH

  • 無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog

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

    無料で見られるプログラミング関連書籍一覧 - YAMAGUCHI::weblog
  • Martin Fowler's Bliki in Japanese - 言語ワークベンチ

    以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming SystemMicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente

  • システムコールについてどれくらいご存じですか?

    システムコールについてどれくらいご存じですか?:知ってトクするシステムコール(1)(1/2 ページ) 「システムコール」と聞いて、どういう印象を受けますか? 「難しくて、自分では手に負えない」とか「使う必要を感じない」という方は多いでしょう。しかし、コンピュータを使う人ならどんな人でも、システムコールについて知っておくといろいろトクをするんですよ。(編集部) システムコール? 聞いたことはあるけど…… 企業情報システムや、Webアプリケーション、携帯機器向けアプリケーション、あるいはちょっとしたツールの作成など、なんらかの形でソフトウェア開発に携わったことのある方なら、一度は、「システムコール」という言葉を耳にしたことがあるはずだ。しかし、先に挙げたような分野のアプリケーション開発現場で、明示的にシステムコールを利用する開発者は多くない。 システムコールは、低レベルのプログラミングやカーネ

    システムコールについてどれくらいご存じですか?
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記

    以下は、WEBプログラマー用のWEB脆弱性の基礎知識の一覧です。 WEBプログラマーの人はこれを読めばWEB脆弱性の基礎をマスターしてWEBプログラムを書くことができるようになっているかもです。 また、WEB脆弱性の簡易リファレンスとしても少し利用できるかもしれません。 WEBアプリケーションを開発するには、開発要件書やプログラム仕様書通りに開発すれば良いというわけにはいきません。 そう、WEB脆弱性を狙う悪意のユーザにも対処しないといけないのです。 今回、WEBアプリケーションを開発にあたってのWEB脆弱性を、以下の一覧にまとめてみました。 このまとめがWEBアプリケーション開発の参考になれば幸いです。 インジェクション クロスサイト・スクリプティング セッション・ハイジャック アクセス制御や認可制御の欠落 ディレクトリ・トラバーサル(Directory Traversal) CSRF(

    WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記
  • 通勤中でも寝る前でも!iPhoneプログラミングを勉強出来る簡単な方法! » SHINGOLOG

    Appleから提供されているiOSのプログラミングガイド。日語に翻訳されたiOSのドキュメントがあります。iOSデバイス向けのアプリを開発するにあたっては、必読の内容となっています。 これらは全てPDFで提供されています。 ですのでiPhonePDFを開き、iBooksで保存することが出来ます。 このように、持ち運んで空き時間に勉強できるんです。 PDFのリンクは下記にまとめていますので、iPhoneでご覧ください! iOSのドキュメント一覧(2011.8.20現時点) Audio & Video AV Foundationプログラミングガイド iOSカメラプログラミングトピックス Audio Session プログラミングガイド Core Audio の概要 iPodライブラリアクセス プログラミングガイド Tools & Languages Objective-C

  • プログラミングは「名前」が9割。 - このブログは証明できない。

    プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や

    プログラミングは「名前」が9割。 - このブログは証明できない。
  • ソースコードの品質向上のための効果的で効率的なコードレビュー

    ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発

    ソースコードの品質向上のための効果的で効率的なコードレビュー
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

    fumikony
    fumikony 2011/08/23
    ハンガリアン記法
  • 職業としてのプログラミング

    2023/04/23 AIがもたらすプログラミングの未来 ずいぶん前に使っていたものの、かなりの間放置していたこのブログサイトですが、自分のメモ用にまた使ってみます。 最近は仕事が開発から少し離れたためにコード書く機会が少なくなってますが、ブログのタイトルの”職業としてのプログラミング”というのを考えたときに、charGPTに代表される生成AIのインパクトはものすごいですよね。 ロジックをコード化するだけなら、無料のchatGPTでも、中級者以上のことをやってのけてくれる今、初心者でもプログラミング身に付けて高収入といったような眉唾というか詐欺まがいのビジネスと、そのレベルでプログラマとしてやっていこうとする開発者はほんとに厳しくなってくると思います。ローコード、ノーコードといっているレベルでは、ある意味プログラミング言語の形態が変わった程度で、そんな大きなインパクトは感じてなかったです