タグ

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

  • 作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな

    さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

    作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな
  • グーグルから「JavaScriptは根本的な問題を抱えている」とのメモがリークか

    グーグル社内で昨年の11月に関係者に送信されたとされるメモが公開されています。ただしグーグルは真偽について何もコメントしていません。 [Caja] Fwd: "Future of Javascript" doc from our internal "JavaScript Summit" last week - Mark S. Miller メモには、「JavaScriptは単なる言語の進化では修正できない根的な問題を抱えている」とあります。同社は来月「Dart」と呼ばれる新言語を発表する予定で、このメモはその背景を説明したものではないかと推測されています。 内部メモはメールで送信されており、タイトルは「 "Future of Javascript" doc from our internal "JavaScript Summit"」。2010年11月16日付けです。非常に長いので、サマリ

    グーグルから「JavaScriptは根本的な問題を抱えている」とのメモがリークか
    akatuki_sato
    akatuki_sato 2011/09/28
    jsが大規模開発に向かいない事は相当前から言われてたことだけど どうなんだろう。
  • プログラミングが速く組めるようになる初歩的な3つの心掛け - 遥か彼方の彼方から

    プログラム雑用兼プログラマーとしてアルバイトしていた頃のこと。僕の最初の悩みは、どうすればもっと速くプログラミングできるか、でした。訳あって3時間ほどしかバイト時間を確保できなかったうえ、雑用もしていたので、気付くとほとんどコードを書かずに一日が終わるなんてこともよくりました。急がなくてもいいとは言われてはいたものの、プログラミング能力が低くて、要領も悪い僕としては、せめて時間内に終わらせられる程度にはプログラミングが速くなる必要があったのです。とはいえ、すぐにプログラミングが上手くなることなんて出来無い。だからせめて、プログラムで詰っている時間を減らせさえすれば、今よりもよくなるんじゃないか、とそう考えるようにしました。そう意識してからの作業は徐々に速くなり、最終的になんとか仕事についていけるようになっていたかなと思います。ということで、前置きが長くなりましたが「プログラミングが速く組め

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

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

    プログラミングは「名前」が9割。 - このブログは証明できない。
    akatuki_sato
    akatuki_sato 2011/09/27
    超あるあるwww ネーミングセンスが本当大事。
  • 「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE

    「気分やノリがソフトウェア開発には重要だ」と断言し、そこに注目して自らRubyを開発してきたまつもとゆきひろ氏は、どのようにしてプログラマに育ち、Rubyを生み出し、そして開発を続けてきたのでしょうか? 今や日初のオープンソースソフトウェアとして100万人規模のユーザを持つRuby。数々の賞を受け、なおも変化と成長を見据えるまつもと氏が日最大のゲーム開発者向けカンファレンス「CEDEC2011」にて、自らの若かりし日々から長いRubyの開発の歴史とそこで培われたコンセプト、そして未来への展望までを余すところなく披露してくれました。「Ruby開発が教えてくれたこと」と題されたこの講演の全内容は以下から。 まつもと: はじめまして、まつもとゆきひろです。 最近はRubyを開発した人ということで有名になりましたが、Ruby自体ゲームのソフトウェアというより、それを動かすサーバとして使用して頂

    「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE
    akatuki_sato
    akatuki_sato 2011/09/15
    GREEの記事の10倍面白い。
  • コンピュータ系技術書を無料で読めるサイトまとめ - 情報科学屋さんを目指す人のメモ(FC2ブログ版)

    何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。 特に探すつもりはなかったけど、技術書を無料で読めるサイトに複数遭遇したので、出会った分だけでもとまとめてみた。無料で読めるサイトと言っても、基的には無料公開されているページへのリンク集という形。 O'REILLY Open Books http://oreilly.com/openbook/ リンク先の右にあるリンクの書籍が無料。左のジャンル分けは通常の書籍一覧なので注意。他のサイトに比べるとだいぶ少ない。 O'REILLY Open Feedback Publishing System (OFPS) http://ofps.oreilly.com/ 出版前の書籍を公開して、フィードバックを受け付けるというサイト。作りかけのも存在するが、最新の内容が読めると

  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
  • プログラミングのスキルを鍛える10の方法 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー ステキな英文の記事を見つけました。10 ways to improve your programming skills。どれも自分が実践していることでもあって,「なるほどな−」と思うものばかり。 たっぷりプログラミングしたあとは,節電も忘れずに:-)。 1. 新しいプログラミング言語を学ぶ 新しいプログラミング言語を学ぶことで,新しいプログラミングに対する考え方に触れることができる。そのプログラミング言語が今まで知らなかったパラダイムに根ざしている場合ならなおさら。新しい手法の多くは,すでに知っている知識になぞらえることができるので,習得はそれほど難しくないはず。 2. やる気をそそら

  • O/Rマッピングで緩和されるインピーダンスミスマッチには静的と動的の側面がある - 達人プログラマーを目指して

    一般的な業務アプリケーションではデータを永続化するために、RDBMS(関係データベース管理システム)を利用します。RDBMSでは大量のデータを効率的に検索したり、集約してレポートを作ったりすることが得意ですし、一般的に業務システムで求められるトランザクションのACID特性*1を満たすことも容易です。また、適切にテーブル設計の正規化を行うことにより、運用面においてデータの管理コストを下げることもできます。最近ではスケーラビリティの問題などもあり、RDBMS以外のデータベースについても注目されるようになってきていますが、今後も業務アプリケーションの主流としてRDBMSは使われていくだろうと思われます。 従って、Javaなどのオブジェクト指向言語で開発を行い、DDDのようなオブジェクト指向の設計技法を利用する場合に必ず考えなくてはならない問題は、オブジェクト指向と関係モデルとのインピーダンスダン

    O/Rマッピングで緩和されるインピーダンスミスマッチには静的と動的の側面がある - 達人プログラマーを目指して
  • ラピュタには何故自爆コマンドが用意されているのか: 不倒城

    バルスのことなんですけど。 大多数のネットユーザー諸兄はご存知かと思うが、バルスは天空の城ラピュタにおける「滅びの言葉」である。劇中ラストシーンにおいて、家伝の飛行石を手にしたシータとパズーが「バルス!」と叫ぶと、なんか飛行石がやたら光ってムスカさんが目が目が星人になったりラピュタがぶっ壊れたり、色々とエラいことになる。 「バルス=滅びの言葉」という図式の定着度・認知度はWeb上では恐ろしい程であり、ラピュタ放映時には実況板が「バルス!」の書き込みとAAで埋め尽くされるという。 まず考えなくてはいけないのは、このバルスという命令は一体何の為に用意されたAPIなのかということである。 ラピュタは人工物なので、当然設計者や開発者がいた筈である。そして彼らは、管理権限キーっぽい小さな飛行石に、複数のコマンドを用意している。「困った時のおまじない」であるとか、「滅びの言葉」がそれである。飛行石を身

    akatuki_sato
    akatuki_sato 2011/06/16
    なるほど 一つ謎が解けた!www
  • node.jsとは何か(4) - I am bad at math

    さて、前回まで基礎部分をいろいろと説明したので今回からは実装について。現在のソースやその成り立ちを説明するのもいいんだろうけど、今日からはちょっぴりハンズオン形式に趣向を変えてみよう。ってことで node.js を作っていくよ! 実装編その一はJSエンジンであるV8にJavaScriptのソースをわせて実行する、つまりはオレオレJS環境を作るまでを扱うのだ。 V8はもともと他のソフトウェアに組み込まれて使用されることを想定(例えばChromeとかね)されているのでこういう作業が必要になる。 手順は大きくわけて二つ 1. まずはV8のソースを落としてきてV8のビルド 2. V8のソースディレクトリに自作のC++のソースを作ってコンパイル&実行 C++が出てきた時点で引いちゃったかもしれないけど、C++を使えるようになるのが今回の目的ではないのでまずはリラックス。C++っていったってそんなに

    node.jsとは何か(4) - I am bad at math
  • node.jsとは何か(3) - I am bad at math

    今日はnode.jsで採用しているCommonJSの話である。 CommonJSの説明だけだとあっという間に終わってしまうのでJavaScript歴史を混ぜ込んだら期せずして長くなってしまった。 さて、1995年に発表されたJavaScriptは開発当初「Mocha」と呼ばれ、次に「LiveScript」となり(実際Netscape Navigatorの2.0のアルファ版ではではこの名前だった)、最後にようやくJavaScriptになる(Navigatorの2.0B3から)という変遷をたどった。このJavaScriptという名前っていうのはJavaというコンパイル言語を補完するスクリプト言語にしたいという考えがあったからという話もあるんだけど、そのころ開発元のNetscapeはSunとの業務提携を発表しており、ちょうどそのころJavaが世に出てNetscapeブラウザ上でクールなJava

    node.jsとは何か(3) - I am bad at math
  • 「IT業界」なんて、ないんだよ

    このエントリは、新卒準備カレンダー 2011春のためのもので、@shuji_w6e さんの「実践する、コツコツと、少しづつ」の次のエントリになります。 おまえ誰よ? 高橋征義と申します。プログラマです。プログラミングはかれこれ30年近くやってますが、まともに書けるようになったのは20年近くたってからです。人間続ければ何とかなることもあるんですね(ならないこともあります)。 修士の1年のとき、高校時代の友人から「インターネットのベンチャー会社作るんだけど一緒に働かない?」と言われ、あまり何も考えずに修了後その会社に参加しました。1996年、Webが流行り始めたころのことです。 そこから一度転職をはさみ、10年以上Web業界の隅っこの方で開発仕事に励んでいたのですが、昨年3月に退職、6月に電子書籍の制作と販売を行う「株式会社達人出版会」という会社を設立して、今はそこの代表取締役です。いやまあ社

    「IT業界」なんて、ないんだよ
  • 初心者Webアプリケーション開発者がチェックすべき情報源2011 - ハニーポッターの部屋

    毎年恒例の診断前準備として開発者向けに、「初心者Webアプリケーション開発者がチェックすべき情報源」を集めているので、皆さんにもご紹介。他に追加した方が良い情報源があった場合はご指摘いただけると助かります。 上から重要な順。★がとりあえず読んどけ、の必須。必須のポイントは、短期間で大雑把に網羅的にポイントが整理されているもの。 徳丸を必須に入れるか迷ったけど、あの厚さは、万人は読めないので、上位ランクだけど必須からははずした。 ★Webサイト構築 安全なウェブサイトの作り方 改訂第5版 http://www.ipa.go.jp/security/vuln/websecurity.html 携帯ウェブサイトの実装方法を追加 セキュリティ実装 チェックリスト(Excel形式、33KB) 安全なSQLの呼び出し方(全40ページ、714KB) ★発注仕様 発注者のためのWebシステム/Webアプ

    初心者Webアプリケーション開発者がチェックすべき情報源2011 - ハニーポッターの部屋
  • PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト:phpspot開発日誌

    PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト 2011年05月23日- Benchmarks PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイトがあるようです。 同じことをやるのに複数の書き方があったりしますが、2つの書き方を並べてそれぞれどちらがどれだけかかったかという結果が記載されていて面白いです。 で、そのいくらかかったか?という秒数も、ページ上でリアルタイムに計算され、リロードすると実行され、実行タイムが表示されます。 サイトの作者環境による比較ではなく、その場で動いて何度も試せるので自分でその差を確認できるのがGood。 個人的には長年PHPをやっているのですが知らなかった物も多々あり、非常に勉強になりました。 1回のロードでは結果が変になることもあるので、サーバの負荷にならない程度に数回確認させてもら

    akatuki_sato
    akatuki_sato 2011/05/23
    数年前にどっかで同じ内容を見たような記憶があるけど、忘れないためにもブクマ
  • プログラミングに必要ない糞本たち - カレーなる辛口Javaな加齢日記

    http://d.hatena.ne.jp/kiyo560808/20110517/1305656820 一応ツッコミは入れておく. ずっと受けたかったソフトウェアエンジニアリングの新人研修 作者: 大森久美子,岡崎義勝,西原琢夫,宇治則孝出版社/メーカー: 翔泳社発売日: 2009/04/10メディア: 単行(ソフトカバー)購入: 5人 クリック: 113回この商品を含むブログ (17件) を見るずっと受けたかったソフトウェアエンジニアリングの授業1 増補改訂版 作者: 鶴保征城,駒谷昇一出版社/メーカー: 翔泳社発売日: 2011/01/28メディア: 単行(ソフトカバー) クリック: 8回この商品を含むブログ (7件) を見るずっと受けたかったソフトウェアエンジニアリングの授業2 増補改訂版 作者: 鶴保征城,駒谷昇一出版社/メーカー: 翔泳社発売日: 2011/01/28メディ

    プログラミングに必要ない糞本たち - カレーなる辛口Javaな加齢日記
  • 【翻訳】Gitをボトムアップから理解する

    John Wiegleyさんの "Git from the bottom up" を翻訳しました。 元PDFはこちらからダウンロードできます: http://newartisans.com/2008/04/git-from-the-bottom-up/ 元記事のライセンスがクリエイティブコモンズのBY-SAであったため、この翻訳もBY-SAとなります。 ライセンスを守って自由にご利用ください。(詳しくは記事内の最初にも書いてあります) 翻訳ミスの指摘や改善の提案等があればブログコメントやTwitter(@oshow)などで遠慮なくどうぞ。 Git をボトムアップから理解する Wed, 2 Dec 2009 by John Wiegley 私が Git を理解しようと調査した時、高級なコマンドの視点から眺めるよりボトムアップ式に理解することが役立った。そしてボトムアップ視点で見る Git

    【翻訳】Gitをボトムアップから理解する
  • 『Java:The Good Parts』 一流のプログラマになるには言語の“コア”を理解せよ:晴読雨読@エンジニアライフ:エンジニアライフ

    Java:The Good Parts Jim Waldo(著) 矢野勉(監訳)笹井崇司(翻訳) オライリージャパン 2011年2月 ISBN-10: 487311487X ISBN-13: 978-4873114873 2310円(税込) ■言語ごとの特性を理解し、使い分ける人が一流のプログラマ あらゆる面で完ぺきなソフトウェアは存在しない。プログラミング言語もソフトウェアである。ゆえに、あらゆる面で完ぺきなプログラミング言語は存在しない。 人間の言語が現実世界をうまく表現できないのであれば、まず間違いなく、プログラミング言語が現実世界をもっとうまく表現できるとは期待できないだろう。プログラミング言語は現実世界にあるものをモデル化するための抽象概念を提供するが、その言語の表現力は現実世界と言語とを直接対応付けるには不十分なところがある(p111)。 完ぺきなプログラミング言語は存在しない

    『Java:The Good Parts』 一流のプログラマになるには言語の“コア”を理解せよ:晴読雨読@エンジニアライフ:エンジニアライフ
  • プログラミングに必要な6つの才能 - 久保清隆のブログ

    ロシアの研究者 A.P.Ershovは、プログラミングに必要な才能として、6つを挙げた。 これは、確かにそうだなと思った。才能は磨いていけるものと信じて、これらの才能を磨いていけるように、メモをしておく。 プログラミングに必要な6つの才能 第一級の数学者の論理性 エジソンのような工学の才能 銀行員の正確さ 推理作家の発想力 ビジネスマンの実務性 協同作業をいとわず、経営的な関心も理解する性向 第一級の数学者の論理性 出現するケースをもれなく拾いあげる能力 実行の条件を正確に決める能力 この能力を高めるための書籍 プログラマのための論理パズル 難題を突破する論理思考トレーニング 作者: Dennis E. Shasha,吉平健治出版社/メーカー: オーム社発売日: 2009/03/26メディア: 単行購入: 21人 クリック: 412回この商品を含むブログ (63件) を見る論理トレーニン

    プログラミングに必要な6つの才能 - 久保清隆のブログ
  • テスト戦略、設計、手法、技法などなどのリンクをまとめてみた - うさぎ組

    WACATE 2011 夏に申し込んだので、おさらいしましょう。ということでテスト手法、テスト技法を中心としたリンクをまとめてみました。 なので今回はTDDとかテストツールとかはあまり含まれていません。 いくつかかぶっているものもありますが、多面的な表現って大切だと思うので、多少のかぶりは気にせずに選択しました。 これを読めば良いソフトウェアエンジニアとして一歩階段を上れる気がしています。 他にも参考になるものがあったら、コメントやTwitterで@kyon_mmまで教えてくださるととっても嬉しいです! 次の形式で書いています。 WEBサイト名、資料名:発表者(敬称略):URL カテゴリー分けしたんですが、不適切であるかもしれません。間違い等あればご指摘ください。 また、ここでのリンクに問題がある場合は削除致しますので、その場合もご指摘ください。 TwitterID:kyon_mm mai

    テスト戦略、設計、手法、技法などなどのリンクをまとめてみた - うさぎ組