Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
![動画で学ぶソフトウエアアーキテクチャ](https://cdn-ak-scissors.b.st-hatena.com/image/square/71ad259ac0ac849e2c2d2b8ab5a34f49b1b1abb2/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s2_20240214124804%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)
みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたところ自動テストと手動テストに関する良いスライドがあったので、翻訳して公開します。 ライセンスはオリジナルに準じてCC BY-SA 3.0とします。 内容としては、僕自身も一貫して主張しているテスト自動化の必要性の話で、主に以下の観点で記載されています。 作業量とコスト再利用性ユニットテストによる良い設計への誘導手動テストのリスクリスクマネジメント書き方が若干極端な箇所もあると思いますが、全体としてはかなり分かりやすいのではないでしょうか。 なお、テストの自動化に際しては、必ずしも全てのテストを自動化「しなければならない」わけではありません。 スライドではROIの例があがっていますが、テストの自動化のコスト>手動コストの1回あたりのコスト×実行回数になる場合もあり得るので、ROIやテスト自動化によって得られる効果に
匿名メソッドは上位スコープにアクセスできる 匿名メソッドが名前のあるメソッドと決定的に違うのは、実は名前がないことではなく、上位スコープにアクセスできることである。 using System; delegate void MyAction(); class Program { static void Main(string[] args) { string message = "Hello! World!"; MyAction action = delegate() { Console.WriteLine(message); // messageは上位スコープの変数 }; action(); // 出力:Hello! World! } } この場合、変数messageはMainメソッドに属する変数であり、匿名メソッドには属していない。しかし、匿名メソッドは上位スコープにアクセスできるので、
※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す
ぼくがオブジェクト指向言語を勉強しはじめた90年ころは、「継承」という概念がとても流行っていて、継承によって「差分プログラミング」ができることがオブジェクト指向設計の再利用性の典型例のように言われていた。もちろん、こういう誤解は95年くらいには、みんなウソだと分かってきていた。 しかし、それでもときどき、 すべてのクラスの頂点のような「神様クラス」を作ってしまうことがある。 例えば、90年代の多くのC++オブジェクト指向データベースは、Persistenceのようなクラスを継承することで永続オブジェクトとなるクラスをマーキングしたり、あるベンダーのコレションクラスは、Objectというクラスを継承したクラスのオブジェクトのみがコレクションの要素となることができたり、という具合に。また、EJBも最近まではEntityBeanを継承することでEntityBeanの資格が得られるし、Servel
実は、いまになって失敗したと思っている。この連載は、2010年の5~6月ごろに構想されて始まったものなのだが、その時点の目次案で予定した最終回は「C# 4の使いどころはどこか」となっていた。その趣旨は簡単で、C#のほかのバージョンと比較することで、使うべき場面を紹介することであった。なぜそのような判断に意味があるのかといえば、実はC# 4の前提となる.NET Framework 4には、それまでにない特徴があったからだ。 .NET Frameworkは、1.0、1.1、2.0、4、についてはバージョン番号と実体が一致している。ところが、2.0から3.5までが必ずしもバージョン番号と実体が一致しないのだ。 .NET Framework 3.0 = .NET Framework 2.0 + α .NET Framework 3.5 = .NET Framework 3.0 + α そのため、2
本日、日本Javaユーザーグループ(JJUG)主催のCCC 2014 SpringというJavaの勉強会に行ってきました。会場は、ベルサール西新宿で、都営大江戸線都庁前のA5出口を出て、新宿中央公園の5分くらい歩いたところにありました。今はスマートフォンで地図を確認しながら行けるので、初めての場所でも方向音痴の私でも電車の駅さえ間違わなければ大丈夫ですね。 CCCというのはCross Community Conferenceの略で、さまざまなコミュニティーの交流の場となる会議という趣旨でしょうか?このCCCというイベントは2012から開催されているようなのですが(CCC | 日本Javaユーザーグループ)、今回初めて参加させていただきました。残念ながら個人的な都合から、基調講演と午後の前半のセッションのみで後半と懇親会には参加できませんでしたが、参加したセッションについてまとめます。その他
第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー
「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。 http://blog.shibu.jp/article/28983162.html 自分なりにもっと凝縮版を。渋川さんが言っている事全体もその通りとは思うけど*1、もっと簡単で、しかも射程が広い、と自分が思っている事。 渋川さんはちょろっと触れてるだけだけど、自分はこれが最も基本的で汎用的、かつ、ソースをきれいにする原動力となる上にバグをも減らしてコードの汎用性まであげる、コーディングのエンジンみたいなものと思ってる。それは、 「すべてに正しい名前を付けて、そして、正しい名前であることを維持する」という鉄の意志 クラス
プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ
SOAPjsはJavaScript製のオープンソース・ソフトウェア。Web APIと言えば今はRESTないしRESTfulで提供されることが多い。データフォーマットもRSSやAtom、JSONまたはJSONPで提供されるものが多くなっている。いずれもブラウザからの扱いが容易だからだ。 テストスクリプト しかしエンタープライズでWeb APIによる連携を考える場合や、一昔前のWeb APIはSOAPで提供されているものも多い。せっかくの便利なデータでありながらSOAPであるがために使えないのは非常にもったいない。そこで使ってみたいのがSOAPjsだ。 SOAPjsはJavaScriptでSOAPを扱うためのライブラリだ。サーバから得られるXMLをパースし、メソッドをコールできる。テスト用のデモスクリプトではサーバのネットワークインタフェースを得るためのWeb APIをコールする。 WSDLを
キーフレーム・ワールドワイド株式会社は、渋谷区にあるシステムインテグレーターの日本法人です。
Aptanaなら開発環境とクラウドの連携が超お手軽!:ユカイ、ツーカイ、カイハツ環境!(4)(1/4 ページ) 最近、「Amazon EC2」に始まり「Google App Engine」「Windows Azure」といったクラウドコンピューティングが注目を浴びており、IT関連のニュースでクラウドに関するニュースがない週はありません。クラウドコンピューティングに興味はなくても、Amazon EC2やGoogle App Engineという言葉は聞いたことがある方も多いと思います。 そんな中、本稿ではPHPとRuby on Rails(以下、Rails)、Java、サーバサイドJavaScriptエンジン「Aptana Jaxer」(さらに、Pythonも対応予定)に対応したクラウドサービスを提供する「Aptana Cloud」を利用して、PHPアプリケーションの作成と作成したアプリケーシ
Timetable | タイムテーブル 資料公開しております。 Timetable | タイムテーブル Satellite | サテライト サテライトオーナー募集しています。 Satellite | サテライト Theme | テーマ Rebuild our Agile! 「再会、再構築、再開発・・・究極のAgile体験へ」 今年のテーマは、「Rebuild our Agile!」とし、私たちのアジャイルマインドやカルチャーを新たな高みへ導き、いにしえの輝きを取り戻し、新たな未来へ向けて進化することを目指したいと思います。「Rebuild our Agile!」には「再会」「再構築」「再開発」という3つの要素を含んでいます。 カンファレンスでは、アジャイルの考え方や組織への適用方法を一新し、より強力で効果的なものに再構築する意欲を持ち、アジャイルのあり方を見直し、進化させ、新たな世界を創り
QCon Tokyo 2016 開催に向けて 今年のQConでは、『ITが変革するビジネス・組織・社会』を基本テーマに社会的にインパクトのある最先端のIT技術をご紹介いたします。今年は、従来からのエンジニアリングトラックに加えて技術で企業価値の革新を狙う技術指向の経営層・R&D/企画/IT部門にフォーカスしたビジネステクノロジートラックも用意して、より幅広い層へのITテクノロジーの発信を目指します。 「ビジネスのデジタル化を推進するIT」「社会・組織の在り方を変えるIT」をキーワードにカンファレンスの内容を構成しています。現在いちばんホットなIT各分野の最新技術・事例について、「AI/ビッグデータ」、「IoT/組込み系」、「アーキテクチャ/システム設計技術」、「アジャイル/DevOps」, 「モバイル/フロントエンド技術」「フィンテック」「イノベーションのための情報システム」等ITのコアな
すでにいろいろなところで、話が上がってきていますが。 bharry's WebLogでも結構しっかりポストされてます。 Shining the Light on Rosario ・次期Visual StudioはVisual Studio 2010って呼ぶよ。 ・Visual Studio 2010は.NET Framework 4.0と一緒にリリースする予定だよ。 ・VS2005は2004/11、VS2008は2007/11、SQL Server 2008は2008/06にリリースしたよね、だから・・・ でも、リリース時期を言及するわけじゃないけどね。 ・この秋にはRosarioの新しいCTPもリリースするよ みたいなことが最初の方に書かれてました。 アメリカではPDC08が10月27~30日に予定されているので、 おそらくこの前後には、CTPがリリースされるんじゃないかと予想でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く