週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の妻氏…
![コンピュータサイエンスはこう学べ (1) - 将来が不安](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
outputz でいまだに1位になれたことがない村瀬です。 社内で開発をスムーズにするための tips 集を紹介したので、まとめておきます。 記事ではデモができないので便利さが伝わらない物も多いですが参考になれば幸いです。 screenとかzshとか便利だよ!と言う話は社内ではさんざんしているのでありません。 また、OSX 限定の内容もあります。 でははじめましょう。 keychain keychain と言っても OSX の KeyChain ではなく、コマンドラインのツールです。 これは ssh-agent をより便利にするためのラッパーです。これを使用すると ssh の秘密鍵のパスワードを一度入力するとあとはパスワードなしで ssh 接続できるようになります。 「同じこと二回も言わせんな!」といつも切れているような人は導入すると良いでしょう。 使い方は $ keychain ~/.s
僕はバイオインフォマティクスという生物と情報の融合分野で研究を行っています。東大の理学部情報科学科にいた頃は同僚のマニアックな知識に驚かされたものですが、そのような計算機専門の世界から一歩外に出ると、それが非常に希有な環境だったことに気が付きました。外の世界では、メモリとディスクの違いから、オートマトン、計算量の概念など、コンピューターサイエンスの基礎知識はあまり知られていませんでした。コンピューターサイエンスを学び始めたばかりの生物系の人と話をしているうちに、僕が学部時代に受けた教育のうち、彼らに欠けている知識についても具体的にわかるようになってきました。 バイオインフォマティクスに限らず、今後コンピュータを専門としていない人がコンピューターサイエンスについて学ぶ機会はますます多くなると思われます。そこで、これからコンピューターサイエンスを学ぼうとする人の手助けとなるように、基礎となる参
すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W
「ほげほげのプログラムが書ける」と言った場合、プログラミング言語そのものを理解しているというよりは、何かやりたいことがあって、それをプログラムとして書き起こせる、ということを意味する場合が多い。プログラミング言語の構文をいかに習得しようとも、プログラムが書けないことは多々ある。 少しでもプログラミング言語を勉強した者ならば実感しているだろうが、プログラミング言語そのものにはわずか数十のkeywordしか出てこない。せいぜい、1時間か2時間勉強すれば覚えられるはずだ。だけど、それだけでプログラムが書けるようになるわけではない。一体、何が足りないのだろうか? これにはいろんな要因があるのだが、まず「データ構造とアルゴリズム」に対する理解が不十分だということが挙げられる。 私はN.ヴィルト先生の『アルゴリズム+データ構造=プログラム』で勉強したが、この本は、いまや入手困難だ。その後、この本をベー
プログラミングの書籍のなかから、100冊を選りすぐってみたい。 まずはC/C++言語系。 「Effective C++」「More Effective C++」「Effective STL」この3冊は外せないだろう。持ってなければモグリだ。(「Effective C++」「More Effective C++」は、原著第3版が出たのでリンク差し替えた。) 「Modern C++ Design」に関しては、どうせ使えもしない(?)lokiの解説がてらtemplateの解説をしてあるだけなので、いまであれば、boostのtemplate解説本である「C++ Template Metaprogramming」のほうがいいような気もするが、これまだ邦訳されてないので英語の苦手な人は「Modern C++ Design」以外の選択肢は無い。 あと例外安全について書いてある本として「Exception
私が実践して、とても効果が上がった学習方法を紹介します。 どんなプログラミング言語でも関係なく通用するやり方だと思います。 この学習方法に切り替えてからの 1 年の学習量は、それ以前の 4 年分に匹敵すると感じています。 以下にその方法を紹介します。 ソーシャルブックマークのホッテントリのフィードを購読する 特に気になったサイトの人気エントリにざっと目を通す 特に気になったブログを個別に購読する 流行のライブラリ、フレームワーク、アプリケーションのソースコードを読む カンファレンスなどのスライドに目を通す 特に気になった人のブックマークをお気に入り登録する 得た情報を元に実際にコードを書いてみる 評判の書籍を読む ソーシャルブックマークのホッテントリのフィードを購読する ホッテントリとは人気の記事のことを言います。沢山ブックマークされ、それだけ注目度が高いということです。 特定分野の人気記
プログラミング格言集 via @voluntas Classic Programming Quotes | Storm Consultancy Blog 面白い。僕もオリジナルの方を読んで面白いと思ったものを翻訳することにしよう。 premature optimization is the root of all evil 早すぎる最適化は諸悪の根源 --- アントニー・ホーア Walking on water and developing software from a specification are easy if both are frozen. 水の上を歩くのも、仕様に基づいてソフトウェア開発するのも、どちらも簡単だ。それが凍結しているのなら。--- Edward V Berard(Essays on Object-Oriented Software Engineeringの著
$Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第
著者買いすべき本! ファウラー、ジョエルは知名度もあり、改めて僕がどうこう紹介する必要はないと思うけど、ここではスティーブ・マコネルを特に推したい。 読んだ人には非常に高い評価を得ているけれど、その分厚さや価格もあってなかなか広まっていない。 特にCode Completeはすべてのエンジニアが必ず読むべき本だと思ってる。 これを読んで理解する/しないが(職業プログラマとしての)初級と中級の境界だと言えるくらい。 タイトルにはCodeとあるけど、別にコーディングをターゲットにした本ではない。 設計、テストも含めてコーディングを考えている。当たり前だがコーディングだけではコーディングはできないからだ。 上下巻1,200ページの大作だし、2冊で12,000円だがその価値は大いにある。 スティーブ・マコネル ソフトウェア見積り―人月の暗黙知を解き明かす 作者: スティーブマコネル,久手堅憲之,S
20 of the Best Free Linux Books - Part 1 - LinuxLinks News 最近では書籍がウェブに無料公開されることも珍しくなく、オープンソース関係だとそれが顕著なわけだが、その中から20冊チョイスされている。 Ubuntu Pocket Guide and Reference Two Bits (asin:0822342642) クリエイティブ・コモンズな本たちと来るべきイベントの話 The Linux Starter Pack The Easiest Linux Guide You'll Ever Read Producing Open Source Software (asin:0596007590) オープンソースソフトウェアの育て方(6月書籍版刊行予定) Introduction to Linux (asin:1596821124) Ba
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
2008/12/12 米グーグルは12月11日、C++用のテストツール「Google C++ Mocking Framework」(Google Mock)をBSDライセンスの下に、オープンソースとして公開したと発表した。Google MockはLinux、Windows、Mac OS Xで使える。同社はGoogle Mockを100以上の社内プロジェクトで利用しているという。同社は5カ月前にも「Google C++ Testing Framework」(Google Test)をオープンソースで公開しており、両者を併用することでMockオブジェクトを使ったテスト駆動開発が行えるという。将来的にはGoogle MockをGoogle Test以外のテストツールでも使えるようにしていくという。 Mockオブジェクトは、プロトタイプ設計やテスト時に利用するもので、本物のオブジェクトを実装する代
特集:フレッシュマン企画2008 新人プログラマーのためのInsider.NETの歩き方 デジタルアドバンテージ 一色 政彦 2008/05/13 開発者として一人前になるまでには、さまざまな開発知識を習得しなければならない。本稿ではその最初の一歩となる指針を提供したい。 インターネット上には開発(プログラミング)に関する情報があふれている(参考:「【2006年度版】.NET開発者のためのオンライン・リソース・ガイド」)。だからといって、それらの情報を手当たり次第に学習しようとしても、同じ情報をさまざまなサイトで繰り返し読む羽目になったりして非常に効率が悪い。まずは、じっくり腰を据えて、1つの情報源から着実に学ぶことをお勧めしたい。 そして読者諸氏が「.NET」(詳細後述)のプログラマーを目指す新人であれば、ぜひ@IT/Insider.NETをその情報源として活用していただきたい。@IT/
SubversionとTracでファイル管理の“迷宮”から脱出:ユカイ、ツーカイ、カイハツ環境!(2)(1/4 ページ) プロジェクトで修正/仕様変更が“迷宮”入りする理由 ソフトウェア開発を行ううえで、設計書やソースコードのバージョンをきちんと管理することは非常に重要です。構成管理(ファイル管理)を行っていないプロジェクトでは、例えば次のような問題が発生します。 2人以上の開発者が同時に成果物を編集した場合、後に編集を始めた開発者がすでに編集を行った開発者の編集内容を上書きしてしまう。結果として、修正したはずのバグや変更したはずの仕様が、設計書やソースコードに反映漏れするという事態が発生 設計書やソースコードのレビューを行って修正したはいいが、どこをどう修正したのか分かりにくく、レビュー内容の反映の確認を行っても修正漏れや修正誤りに気が付かない ソースコードを変更すると、動かなくなってし
ソフトウェアを開発する際、ソースコードや各種リソースの管理に役立つのがバージョン管理システムだ。バージョン管理システムはソースコード管理システムなどとも呼ばれ、大規模な開発を行う際には必須と言っても過言ではない。また、大規模な開発だけでなく小規模な開発や個人による開発においても、ファイルの変更履歴の記録やバックアップといった用途に活用できる。 本特集ではバージョン管理システムの基本的な考え方や用語を解説するとともに、オープンソースソフトウェア/フリーソフトウェア開発において多く利用されているバージョン管理システムである、SubversionおよびCVSを使ったバージョン管理方法について説明する。前編となる本記事では、まずバージョン管理システムの基本的な考え方と、用語について解説する。 バージョン管理システムのメリット バージョン管理システムとは、その名のとおりプログラムのソースコードや各種
去年も面白かったけど、今年も面白かったな。 印象に残ってるのは、 川崎氏の「意図的にシステムの弱い部分を作っておいて、そこがダメになりそうだったらスケールアップする」という話 あぁ、そういうやり方もあるんだなぁと思った。確かに全部潰れることは回避できるかもと。 奥地氏の「できないから、やらない」ではない「やらないから、できない」 まさに自分のことを言われてる感じだった 宮川氏の「What are you coding?」 Twitterで言葉を発言するのもCodeReposでコードをコミットするのも自分のエゴを時系列で並べてるという点で変わらないってのは目から鱗だった あと「スピリチュアル系」笑った 金子氏の「プログラミングしただけで犯罪」 話の内容自体も面白かったけど、このことについて懸念してるのが良くわかった。やっぱり研究者なんだなぁと ライトニングトークではひげぽん氏の「パフォーマン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く