iPad mini仕事術 やってイイことダメなこと 著者 池田冬彦,中筋義人,朝倉尚,久我吉史 著 発売日 2013年3月1日 更新日 2013年3月1日
後輩:IT企業にうっかり就職して1年目のSE。プログラミングしてみたい。 先輩:勤続10年,ソフトウェア開発の中堅エンジニア。現場好き,技術好き。 後輩:Javaの勉強ってどうやったらいいですか? 先輩:そうだね,まずは文法を学ぶものいいけど,計算機概論とか案外そんな本がよかったりするよ。まあ,OS の勉強も重要だよな。仮想マシンとは何か・・・みたいな。 後輩:えー,難しそうですし,遠回り過ぎます!ウチの会社が請ける案件はJavaが多いじゃないですか。だからまずはJavaです。 先輩:じゃあ,まずはオブジェクト指向の入門書を読んでみるのはどうだろうか。読んでみて面白いなと思う本を通読してみて,それからJavaの入門書を併読してみても,今ならばいいかもね。それから,入門書のソースコードを入力しながら勉強するのがいいね。Eclipseみたいな総合開発環境(IDE)は,入力支援が当たり前だから,
ファジングにおいてもっとも重要なのが、ファズをどのように作り出すかという点です。代表的な手法としては、次のようなものが挙げられます。 問題の生じる可能性が高いとされるデータ(制御コードを含む文字列や、境界値周辺の値など)をあらかじめ用意する 正常なデータを元に、一部を変化させて生成する 指定の範囲内で連続的に値を変化させて生成する ランダムに生成する 複数の手法によって生成されたファズを組み合わせて利用することもあります。多くのファジングツールでは半ば自動的にファズを生成する機能を持つため、それらのツールを利用することで専門的な知識がない状態でもファジングを始めることができます。 ファジングを巡る業界の動向 ファジングの根底にある"意図的に異常な入力を与えてソフトウェアをテストする"という考え方そのものは決して新しいものではなく、多くのプログラマが何らかの形で触れたことがあると思いますが、
Webシステムでは必ずと言ってよいほどデータベースが使われています。なぜ,Webシステムではデータベースが使われているのでしょうか。「使うものだと思っていたから」というだけでは,データベースが必要な理由を理解しているとは言えません。そこで本記事ではその理由についていくつか解説したいと思います。 ①大量のデータから知りたいデータを取り出すため テキストの文字列で考えてみましょう。たとえば「『松田,吉永,米沢』という文字列の中から『吉永』を探しなさい」と言われた場合,すぐに見つけることができるはずです。ただ10万人分の苗字であったらどうなるでしょうか。目で見て調べるだけで膨大な時間がかかるはずです。データベースではそのニーズを満たすために「サーチ」という機能があり,インデックスなどを備えることで高速に見つけ出すことができるようになっています。 ②並列的な制御を可能にするため Webシステ
3月初旬、GitHubがサイトの脆弱性を突かれてしまう騒動がありました。 Egor Homakov氏が、RailsアプリケーションでMass Assignment脆弱性として知られる問題に対して、より安全なアプローチを求めるチケットをGitHubのRailsプロジェクトに作成したことが発端です。 当初、このチケットはすぐにRejectされてしまい議論が進まなかったようですが、Mass Assignment脆弱性がGitHubにも存在していることを発見したHomakov氏は、危険性をアピールするためにGitHubの脆弱性を利用して未来の日付を持つチケットを作成したり、コミット権限のないRailsリポジトリにファイルをコミットしたり、といった手段に出たようです。 GitHub側では問題を確認した直後からHomakov氏のアカウントを一時停止して問題の修正にあたりましたが、この際、アカウントを停
Ubuntu Weekly Topics 2012年3月2日号DNSレゾルバの変更・Unityのキーバインド・Unityに貢献する方法・MWC2012・UWN#254 12.04の開発 Preciseの開発はBeta 1を目の前にして、UI Freeze等の「もうこれ以上触らない」モードへの移行が行われています(ただし、速攻で例外も宣言されています)。 とはいえ、Beta1直前に投入される多くの変更がUbuntuの開発の特徴でもあり、今週も大きな変更が加えられています。順に見ていきましょう。 DNSレゾルバに関する大きな変更 Linuxには、DNSに関する2つの常識があります。ひとつは「DNSサーバーの設定は/etc/resolv.confファイルを編集して行う」こと、そしてもうひとつは、「名前解決の結果はキャッシュされず、毎回問い合わせる必要がある」というものです。 この常識のうち
これまで計36回、6年間にわたって続けてきた本連載ですが、今回でいったん終了となります。 連載を開始した当時は、まだ雑誌を購読する層とWebで情報収集する層との間にいくらかのギャップが生じていたため、Webでの最新情報をいくぶんか遅れてでも雑誌にて提供する価値がある、との方針で始まりました。しかし、今やTwitterやFacebook、ニュースサイトなどネットで情報を収集するという習慣は技術者以外にも浸透しており、良質の情報を取捨選択する手段も多様化しました。そうした時流の中で、自分がオレンジニュースを通して行ってきた役割も、なくなったとは言わないまでも薄くなってきたように思います。私自身、現場から少し離れてしまい、良質な情報を鮮度良く提供し続けることが難しくなったという部分もあります。 本連載のもととなるWebサイト版オレンジニュース(現在は休止中)を始めたきっかけは、当時勤めていた会社
モチベーションアップにつながるきっかけ作りを――CSS Nite in TAKAMATSU, Vol.6「Webデザイナーのモチベーションアップ」開催 2012年2月25日、香川県高松市eとぴあ・かがわにて“CSS Nite in TAKAMATSU, Vol.6 「Webデザイナーのモチベーションアップ」”が開催されました。ここではその模様をお届けします。 まもなく開演 メインのMCを務めた鷹野氏(右)と鍋坂氏(左) セッション1:たかがWebクリエイター、されどWebクリエイター オープニングセッションを務めたのは、株式会社アンティー・ファクトリー代表取締役/アートディレクター兼社団法人日本WEBデザイナーズ協会(JWDA)会長の中川直樹氏。 トップバッターを務めた中川氏。自身の経験、そして、今Webを取り巻く状況で起きている出来事をテンポ良く解説しながら、地方のクリエイターの価
2012年1月20日、Mozillaは新しいプログラミング言語Rustのバージョン0.1を公開しました。Rustは波括弧({ })を文法に用いており、CやJavaScriptに似ています。静的型付けのコンパイラ型言語であるため、アプリケーションや組込みなどシステム開発向けのプログラミング言語としてCの置き換えを狙っていると思われます。同様のアプローチにGoogleのGoや、2012年1月17日にバージョン0.1がリリースされたClay LabsのClayなどが挙げられます(リスト)。 コンパイラはLinux/Mac/Windows用が用意されており、試す分には十分なドキュメントはそろっていますので、GoやClayとあわせて次世代の高機能なコンパイラ型言語に触れてみてはいかがでしょう。 リスト Rust、Go、ClayのHello Worldプログラム Rust use std; fn
マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート 1月25、26日の2日間にわたって、東京、目黒雅叙園にて「ソフトウェアテストシンポジウム 2012 東京」(JaSST '12 Tokyo)が開催中です。 開催の挨拶に立つJaSST12 Tokyo 共同実行委員長の古川善吾氏(香川大学)。主催組織であるASTERの2012年の活動についての紹介がありました。今年は「エンタープライズ向けテスト振興に取り組む」とのことです。 例年のように海外からテスト著名人を招聘して基調講演が行われる同イベントですが、今年はMicrosoftで長年テストチームを率いてきたBj Rollison氏による「How We Test At Microsoft-マイクロソフトでどのようにテストをしているのか?」と題した講演が行われました。 Rollison氏は
はじめに 初めまして。NTTアドバンステクノロジの金城と申します。幸運にも記事を執筆させていただけることになりました。WebSocketという新しいウェブの規格についての連載を、全4回の予定でお届けします。 用語統一について WebSocketは「WebSocket」「WebSockets」、単語を切り離した「Web Socket」等、表記に揺れがあります。2009年12月22日のワーキングドラフトのタイトルは「The Web Sockets API」となっていますが、2010年4月26日のエディターズドラフトでは「The WebSocket API」となっています。この連載では、最新の仕様書に則り、用語を「WebSocket」で統一します。 HTML5とWebSocketの関係 WebSocketは、もともとHTML5の一機能として仕様の策定が進められていました。しかし、Web S
ports What's the pkgng? FreeBSDでは現在、次世代パッケージ管理システムとなる「pkgng」の開発を進めています。開発は活発で、先月末にはα版バージョン2の試験の呼びかけがありました。近いうちにα版バージョン3が登場する見通しになっています。 FreeBSDのアプリケーションは大きく分けて2つの方法で管理されています。主にビルドとインストールを担当する「Ports Collection」、Ports Collectionから生成されたバイナリパッケージをインストールする「Packages」です。Ports Collectionの管理には「portupgrade」や「portmaster」などのサードパーティツールが使われることが多く、Packagesの管理はベースシステムにインストールされているpkg_*系のコマンドを使うことが多いと言えます。 Packag
「入力バリデーションはセキュリティ対策である」は世界の常識です。少なくとも大多数の世界のセキュリティ専門家は「入力バリデーションはセキュリティ対策」は常識だと考えています。 もちろん入力バリデーション対策がすべてであるわけではなく、ほかのセキュリティ対策も重要ですが、入力バリデーションが最も重要な対策の1つである、と考えている人は沢山います。 入力のバリデーションはすべてのプログラムに必須の保護機能です。一部に「入力バリデーションはセキュリティ対策ではない」とする声もあるようですが、入力バリデーションは間違いなくセキュリティ対策です。入力バリデーションはセキュリティ対策ではない、とする考え方は、混乱を招くだけです。 入力バリデーションをセキュリティ対策としているのは筆者のみではありません。世界的に利用されているセキュリティ標準でも、入力バリデーションを非常に有効なセキュリティ対策としてとら
Webサイト構築に関わるディレクション経験やデザインスキルを仕事だけでなく、NPO支援や復興支援などのボランティア活動に活かす“プロボノ”。今回は、この新たなソーシャルなキーワードを実践するWeb業界から3名が結集し、豊富な経験に裏付けられたそれぞれの目から、プロボノをどうとらえ、どのように実践し、どのように仕事に活かしているのかを語って頂きました。 第2回では、Web制作会社を経営される中野さん、Web構築のディレクターとして数々のプロジェクトマネジメントに従事されている吉崎さん、そしてWebマガジンgreenz.jpの編集長兼松さんそれぞれの経験から語られるさまざまなプロボノの形、そして、“新たな人の出会い”“仕事とはまた異なる学びの場”など、プロボノの醍醐味の共通項が浮かび上がってきました。前回に引き続き、これからのプロボノについてへと話が及んだ鼎談後半の様子をお届けし
右から、中野さん、吉崎さん、兼松さん Webサイト構築に関わるディレクション経験やデザインスキルを、仕事だけでなく、NPO支援や復興支援などのボランティア活動に活かす“プロボノ”。今回は、この新たなソーシャルなキーワードを実践するWeb業界から3名が結集し、豊富な経験に裏付けられたそれぞれの目から、プロボノをどうとらえ、どのように実践し、どのように仕事に活かしているのかを語っていただきました。Web業界ならではのプロボノへの思い!が溢れる鼎談の様子をこれから2回にわたってお届けします。 プロボノと自分――それぞれの形 中野さん(以下、敬称略):Web制作会社の社長で、サービスグラントの理事でもあります。自分の役割としてはWeb業界にプロボノってこうだよ、と伝えていくことと、僕自身もスキルを活かしていきたいというモチベーションがあって、震災直後に日本ユニバ震災対策チームさんのWeb
セキュリティ対策は言語やアプリケーションを問わず非常に重要です。しかし、取るべきセキュリティ対策が確実に実施されないケースが広く見受けられます。 最近の例では次のような物があります。 WordPress Meenews 5.1 Cross Site Scripting WordPress Enable-Latex Remote File Inclusion Dolibarr 3.1.0 RC Cross Site Scripting / SQL Injection 上のURLの脆弱性も対策が簡単なものが多いですが、対策が簡単なSQLインジェクションの脆弱性も数多く見つかっています。 CMS Balitbang 3.x SQL Injection AdaptCMS 2.x SQL Injection Icomex CMS SQL Injection なぜ簡単な対策で防げる脆弱性でもセキュリテ
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトでPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(株)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一
この本の概要 GroovyはJavaと抜群の親和性を持つハイブリッド言語です。簡潔で強力な記述力と高い柔軟性を持っており,Javaを補完・強化する究極のパートナーになります。 本書はGroovyの基本的な文法を丁寧に説明するほか,Groovy API,Groovy JDK,Grape,メタプログラミング,AST変換などの応用的な話題もカバーします。また,GrailsをはじめとするGroovyの関連プロダクトについても解説します。 こんな方におすすめ Javaに飽き足りないプログラマ Groovy/Grailsに興味のあるプログラマ この書籍に関連する記事があります! Javaベースのハイブリッド言語 Groovy 1年に1つ新しい言語を学ぶほどアグレッシブなエンジニアでなくても,たまには新しい言語で新しい世界を垣間見たくなることがあるのではないでしょうか。そんなあなたにお勧めの言語がGro
週刊Webテク通信 2011年6月第2週号1位は、生産性を向上させるための各種Webツール、気になるネタは、任天堂、Wii Uを発表―新ゲーム機はタブレット型コントローラーを採用 ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2011年6月6日~2011年6月12日の間に見つけた記事のベスト5です。 1. 10 Free Productivity Tools for Busy Web Professionalshttp://sixrevisions.com/tools/free-productivity-tools-web-pro/ Webデザイナーやデベロッパーの生産性を向上させるための各種ツールが紹介されています。 Webページをキャプチャーして注釈を入れられるBounce パソコン、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く