2015-03-22 CPU実験でコアつくってOS動かしたまとめ 東大IS名物のCPU実験が3/17に最終発表を迎えて無事終了しました。半年のCPU実験を始めるにあたって初めにお世話になったのが先輩たちのブログだったりするので、恩返しの意味で僕もここに記録を残して置きたいと思います。基本的に今後ISでCPU実験を行う人々に向けた記事なので関係ない人が読んでも面白くないかもしれません…(OBが酒の摘みにニヤニヤしながら眺めるのはアリかも)。 CPU実験復習 CPU実験といえば 情報科学科の専門課程に入って1年しか経ってないぺーぺーの学部3年生に 半年間でCPUとコンパイラをゼロから自作させて 最終発表会でその性能を競う という知る人ぞ知る超鬼畜演習です。CPU・コンパイラの「性能」はmin-rtという共通のレイトレーサープログラムを動かすことで計測します。FPUは自作することが要求されます。
CTRL+Xでカット、CTRL+Vでペースト。 ショートカットキーの使い方を覚えると、パソコンの達人になったような気分になりますよね。 しかし、実際にはショートカットキーを使用すると、マウスでメニューから「編集」「ペースト」を選ぶよりも平均2秒も遅いのです。 「そんなバカな」 と思いますよね。 しかし、これはTogことブルース・トグナッツィーニがAppleでMacintoshの開発を担当した際に行った膨大な実験の結果、解ったことなのだそうです。 これはTogのWebページでも詳しく紹介されています。 しかし2秒とはとても信じられません。 むしろ逆のようにさえ感じます。 しかしTogの主張によれば、我々ユーザはショートカットキーを選ぶのに2秒かかっているものの、ショートカットにたどり着くまでの時間を喪失している、つまりプチ記憶喪失状態になっているというのです。 こんな不思議な話が、慶應
Software WebSecurity ウェブアプリケーションを開発しながら、手軽に脆弱性検査する方法※当サイトにはプロモーションが含まれています。 以前、OWASP ZAP に追加された attack mode の概要 というエントリを書きましたが、このATTACK modeを使った簡単なセキュリティ検査の手順をメモしておきます。この機能を使えば、ウェブアプリケーションの開発中にZAPが勝手に脆弱性スキャンしてくれます。 ※ この機能が追加される バージョン 2.4 はまだリリースされていないのですが、こちら から ZAP Weekly をダウンロードすれば試すことができます。 概要基本的には、ウェブアプリケーション開発時にウェブブラウザのプロキシとして ZAP を指定おくだけです。この時、ZAP 側で コンテキストというものを設定して、ATTACK mode にしておけば、アクセスし
単一責任の原則(SRP:the Single Responsibility Principle) クラスを変更する理由は1つ以上存在してはならない。どういうこと?変更理由が2つあるということは、責任(役割)も2つあるということ。そんなジェネラリストなクラスを許さない、という原則。 ところで、「単一責任」って、クラスを作る上で一見当たり前に見える。責任(役割)をそのまま責任ではなく、変更理由としているところがポイント。 この見る角度を変えるところがこの原則の運用の大切な所。なんで?役割を複数もつクラスはもろいクラスだから。 複数の役割を担っているクラスがあって、それをある1つの理由で変更すると、関係のないその他の役割部分にまで影響を及ぼす事になり、その結果予想もしない形でクラスが壊れてしまう。 保守で違う人が修正したら簡単に壊れてしまう。 保守で変更していくと、実装的だけでなく、設計的にもよ
こんにちは、投稿推進部の吉田(@101kaz)です。Androidアプリの投稿周りの開発を担当しています。 去年クックパッドに入社したことをきっかけに、本格的にAndroid開発をするようになりました。 今回は私のような開発をはじめて日が浅い人が見落としがちな「非同期処理時のNPE(NullPointerException)」と「Activity破棄に関する問題」と「ProGuardの設定忘れ」について実際の遭遇した事例をベースに紹介します。 非同期処理コールバック時のNPE ある時Fragmentから非同期処理を行い、コールバック内でFragmentの内のviewにアクセスするコードを書きました。 @Override public void onActivityCreated(Bundle savedInstanceState) { ApiClient.getRecipes(new Ap
By tec_estromberg ソフトウェア開発のプロジェクト内で、ビジネスとプログラミング両方の知見が求められるのがソフトウェアアーキテクトで、彼らはプロジェクトを成功に導き、同時に利害関係者のニーズも満たすべく奔走する必要があります。そんなソフトウェアアーキテクトが知っておくべきことをまとめた書籍が「ソフトウェアアーキテクトが知るべき97のこと」で、世界中のソフトウェアアーキテクトが経験から得た知見や同業者へ送った助言がまとめられているのですが、これがウェブ上でも無料で見られるようになっています。 ソフトウェアアーキテクトが知るべき97のこと http://ソフトウェアアーキテクトが知るべき97のこと.com/ 掲載されているエッセイは全部で108個あり、その中でも海外のソフトウェアアーキテクトによる「知っておくべきこと」が97個、日本人アーキテクトによるものが11個あります。 外
Amebaのクリエイティブディレクターが徹底考察! UI/UXがイケてる!おすすめスマホアプリ 第4回 Yummly 2015年3月19日 TEXT:佐藤洋介(株式会社サイバーエージェント) より良いユーザー体験を提供するうえで、スマホアプリにおけるUIの工夫やユーザーの心的効果を考慮したデザインなどを、サービスの機能ごとに紹介していく本連載。第4回目では、Yummlyの公式アプリを取り上げる。 Yummlyとは、ユーザーの食の好みと連動した、レコメンドされたタイムラインフィードを作成してくれるサービスである。おすすめ料理はもちろん、食材から検索することも可能な、できすぎたレシピブックのようなアプリだ。 料理好きなユーザーだけでなく、厳選された料理の写真を眺めているだけでついつい見とれてしまうYummly。細部にまで配慮されたレシピブック的な世界観を感じながら、そのすぐれたUXをひも解いて
こんにちは。ユーザーファースト推進室の元山です。 みなさんはスマートフォンアプリケーションやWebサービスの開発・改善をするときにどのようなプロセスで行っているでしょうか?アジャイルやリーンなどの最近では一般的なよくある開発プロセスの中で、今やプロトタイピングは当たり前に行うものとなっていると思います。プロトタイピングを支援するアプリやWebサービスも数多くありますが、ただ闇雲にプロトタイプを作ればいいわけではありませんし、プロトタイプモックを作ること自体が目的化されては意味がありません。 クックパッドでもプロトタイピングを取り入れた開発プロセスを行っていますが、開発のフェーズであったり、または目的によってどのようなアウトプットとしてプロトタイピングするのかは変わってくると思います。今回はクックパッドで実際に行っているプロトタイピングについてフェーズや目的ごとにご紹介しようと思います。 コ
最近のエンジニアの感覚だと、技術的負債というのを極端に嫌うケースがあるそうですね。 技術的負債とは… 行き当たりばったりなソフトウェアアーキテクチャと、余裕のないソフトウェア開発が引き起こす結果のことを指す新しい比喩である。 wikipedia – 技術的負債 この言葉は確かにキャッチーだ。プログラムなんて動けばいいでしょという上司に楯突く時に使いやすい武器になりそうだ。 「負債」という言葉はなかなか面白い比喩である。 では少し、負債という言葉について調べてみると、こういうのが見つかる。 負債は借入金や買掛金などの法律上の債務であるとイメージされがちですが、厳密にいったらこれは間違いです。 すなわち負債とは、法律上の債務に限らず、いずれ会社が負担することになるであろう経済的負担で貨幣額で合理的に評価できるものが該当します。 http://financial.mook.to/accounti
「技術的負債」をコントロールする定量評価手法への期待 からの続きです。 ソフトウェアサービス企業における技術責任者の最も重要な仕事のひとつが、エンジニアリングの効率化です。そのためには、サービスの初期開発コストだけでなく、運用コストを織り込んだ上で正しい技術的判断を行っていく必要があります。 「技術的負債」という言葉は、この運用コスト最適化の重要性を指摘する上で、とてもキャッチーなフレーズだと考えられます。しかし、「技術的負債」を産まないように、あるいは負債を早めに返していこうとすると、開発工数が大きくなってしまうという問題もあります。 初期開発コストと運用コストのバランス注1を、どのようにとっていけば良いのでしょう? 同等の機能を提供する「ソフトA」と「ソフトB」を考えてみます。ソフトAは、初期開発工数が6だが、2年目以降の維持工数が毎年4かかるとします注2。ソフトBは、初期開発工数が1
更新日: 2022年5月16日公開日: 2015年3月18日プログラミング不要!スマホアプリが開発できるツール10選 アプリ開発と聞くとかなりハードルが高いですよね。しかし、アプリ開発をサポートしてくれるサイトを使うと、場合によっては自分でプログラミングコードを書くことなく、オリジナルアプリを開発することができます。 超簡単にスマホアプリが作れてしまうツール10選国産アプリ開発の「Monaca」 MONACA Monacaは、自分である程度プログラミングを入力してアプリを開発するサービスサイトになります。HTMLとPHP、CSSの基礎を押さえていれば、初心者でもスムーズにアプリを作っていけるサイトです。 Monacaの特徴としては、アプリ開発はクラウド(サーバー)上とローカル環境から選ぶことができます。またアプリ開発コースも全6コース設けられており、ハイブリッドアプリ開発コースやBUSIN
米レッドハット、Dockerアプリの認定制度「Red Hat Container Certification」および開発キット、認定アプリのレジストリ「Red Hat Container Registry」など発表 米レッドハットは、エンタープライズ向けDockerアプリケーションを認定する「Red Hat Container Certification」やコンテナ対応アプリケーション開発ツール「Red Hat Container Development Kit(CDK)」など、エンタープライズ向けにDockerコンテナを普及させるための施策やツール群を発表しました。 同社の上級副社長、Paul Cormier(ポール・コーミア)氏はこの発表の目的について次のようにコメントしています。 With the industry’s first certified, secure, end-to-
マイクロソフトが提供する「Visual Studio Tools for Unity」(以下、VSTU)は、統合開発環境「Visual Studio」が持つ開発生産性向上のための各種の機能を、「Unity」によるゲーム開発に活用するためのアドオンだ。 VSTUは以前、「Unity VS」という名称で、SyntaxTreeという企業が開発を行っていた。同社は、2014年8月にマイクロソフトによって買収されており、今後、VSTUは公式の機能拡張としてVisual Studioとの統合をより強めていく方針が明らかにされている。 また、Unity VSではC#だけではなくJavaScriptにも対応していたが、マイクロソフトの製品になったことで、JavaScript対応は行わず、C#開発に特化した形で機能を強化していく方針になったという。 Unity自体にもエディターを含む統合開発環境は用意されて
先週、私たちはWebサイトを検索エンジン向けにインデックス付けできるようにしようとしていました。この記事では、私たちがWebサイトを書き直していて学んだことの要約を紹介したいと思います。 背景 2ヵ月前に RisingStack.com を作成した時、私たちはそのWebサイトでどんなテクノロジを使うか決めなくてはなりませんでした。イベントを追跡する静的なページが数ページあるだけだったので、とても簡単でしたが、私たちはWebサイトをスケーラブルでできるだけ高速なままにしておきたいと考えていました。 私たちのチームは AngularJS の経験が豊富なので、フロントエンドにAngularを選ぶのは妥当だと思われました。 この記事はReactやAngularJSがどちらか一方より優れている理由について述べているわけではないので注意してください。どちらがいいかは常にユースケース次第です。 “Ang
政府は航空自衛隊の戦闘機「F2」の後継機となるステルス戦闘機「F3」(仮称)を開発する方針を固めた。ステルス機用の強力なエンジン(推力15トン)の開発にめどがつき、国内技術だけで高性能戦闘機を製造できる見通しが立った。2015年度からエンジン開発を本格化するのと並行し、今夏から実験機による飛行試験を始める。米国との共同開発も視野に入れるものの、戦後70年の歴史で初めて世界有数の性能を持つ純国産戦闘機が誕生する可能性が出てきた。F3開発は数兆円規模を要する巨大事業となり、安全保障だけでなく経済、外交などさまざまな分野に影響が広がりそうだ。 F3に搭載するステルス戦闘機用の「ハイパワースリムエンジン(HSE)」は「先進技術実証機(ATD)」と呼ばれる試験機に搭載された推力5トン級の「実証エンジン(XF5)」の技術を生かしながら、IHIと防衛省技術研究本部が開発する。15年度予算の事業として心
Photo by Robyn Jay こんにちは。谷口がお送りします。 プログラミングをこれから学ぼうとしている方の中には、「PHPを使えるようになりたい」という方も多いかと思います。 PHPは日本国内に20万人もの開発エンジニアがいるともいわれ、求人案件も非常に多い言語です。広くWeb系のサービス開発、ゲーム開発などで利用されており、少し前までその多くがLAMP環境(Linux+Apache+MySQL+PHP)と呼ばれる組み合わせの開発環境で開発されていました。最近では、CakePHPやSymfonyといった、よりWebアプリケーションを素早く作れるフレームワークによる開発も増えています。 実際のサービスでは、Facebookは現在はHackというPHP互換の言語で作られていますが、少し前まではPHPで開発されていました。また、国内ではグリーやpixivなどのサービスもPHPで開発され
CG映画の素材でVRデモを作れる時代が到来。「Unreal Engine 4」の最新事情をGDC 2015のEpic Gamesブースでチェックした ライター:西川善司 GDC 2015の展示会場「Expo」にてNVIDIAとEpic Gamesは,まるで姉妹ブースのように並べた展示を行っていた GDC会期中にEpic Gamesは,同社の最新ゲームエンジンである「Unreal Engine 4」(以下,UE4)の利用を無償化するという発表を行い,業界に大きな衝撃を与えた(関連記事)。 無償化といっても,「何を作ってどれだけ売っても一切お金はいただきません」というわけではなく,ゲーム開発を完了するまでの使用料は無償として,そのゲームを販売して売り上げを得た場合に,ロイヤリティをEpic Gamesに支払うという成功報酬型ビジネスモデルを採用したのである。 ゲームエンジンではないが,Epic
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く