タグ

ブックマーク / gihyo.jp (53)

  • 和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 | gihyo.jp

    PHPカンファレンス2016 レポート 和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 2016年11月3日にPHPカンファレンス2016が開催されました。稿では、ゲストスピーカーである和田卓人さんによる講演「PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計」についてレポートします。 PHP7では例外や表明の機能が大幅に見直され、強化されました。この講演では、例外処理を設計する際の基的な考え方や、表明(assertion)の使い方、そして表明と例外を使い分け、堅牢なコードに導くための設計手法「契約による設計(Design by Contract⁠)⁠」の考え方を説明しました。 導入 はじめに、和田さん自身が監訳に関わった『SQLアンチパターン』に掲載されているコードを、よりひどくさせた

    和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 | gihyo.jp
  • 第1回 プログレッシブフレームワーク Vue.js:Vue.js入門 ―最速で作るシンプルなWebアプリケーション|gihyo.jp … 技術評論社

    Vue.jsとは Vue.js(ビュージェイエス)は、インタラクティブなUIを構築するためのJavaScriptライブラリです。Webサイト内のウィジェットや管理画面のダッシュボードといったビュー(view)層に特化しています。設計の特徴としてMVVMパターンに影響を受けています。 Vue.jsは2013年にEvan You氏の個人プロジェクトとして開始、2014年2月にバージョン0.8が正式に公開されます。その後いくつかのリリースを経て、2015年4月にLaravelへの標準搭載決定を機に一気に知名度があがりました。2015年10月に1.0が、2016年10月1日(日時間)に2.0がリリースされ現在に至ります。 Vue.jsの主な特徴には以下のものがあります。これらによって短期間で実用的なアプリケーションを作成できるため人気を集めています。 シンプルなAPIHTMLベースの平易なテン

    第1回 プログレッシブフレームワーク Vue.js:Vue.js入門 ―最速で作るシンプルなWebアプリケーション|gihyo.jp … 技術評論社
  • 第3回 Webセキュリティのおさらい その3 CSRF・オープンリダイレクト・クリックジャッキング | gihyo.jp

    前回は、Webアプリケーションにおける受動的攻撃の代表例の1つであるXSSについて、原理や対策を振り返りました。今回は、同じく受動的攻撃の代表例であるCSRF、オープンリダイレクト、クリックジャッキングについて掘り下げて解説していきます。 CSRF(クロスサイトリクエストフォージェリ) CSRFはどのように引き起こされるのか CSRFとは、たとえば掲示板の書き込みや設定情報の変更などの機能に対して、攻撃者のサイト上に設置されたフォームなどから強制的にリクエストを発行することで、ユーザーの意図していない操作と同様の結果をもたらす攻撃手法です。Webアプリケーションに永続的な副作用がある機能が攻撃の対象となります。 たとえば、http://example.jp/上に設置された掲示板で以下のようなHTMLがあったとします。 <form method="POST" action="/board">

    第3回 Webセキュリティのおさらい その3 CSRF・オープンリダイレクト・クリックジャッキング | gihyo.jp
  • 進化するSeleniumとテスト自動化 ―「第3回日本Seleniumユーザーコミュニティ勉強会」レポート | gihyo.jp

    2016年2月6日、東京ミッドタウンのヤフー株式会社にて、日Seleniumユーザーコミュニティ主催による「第3回日Seleniumユーザーコミュニティ勉強会」が開催されました。今回は、2015年9月発行の『Seleniumデザインパターン&ベストプラクティス』で監訳を務められた玉川紘子氏・太田健一郎氏、2016年2月に発売された『Selenium実践入門』の著者である伊藤望氏・戸田広氏・宮田淳平氏を筆頭に、Seleniumを使って最先端で活躍しているエンジニア9名が登壇し、熱い思いや事例を参加者と共有しました。 ごあいさつ(伊藤望氏) 日Seleniumユーザーコミュニティの主宰者である伊藤望氏による開会のあいさつがありました。勉強会をはじめとするコミュニティの活動が活発であり、人数も拡大しているというお話に続き、勉強会申込者アンケートの結果が発表されました。 伊藤望氏 アンケート

    進化するSeleniumとテスト自動化 ―「第3回日本Seleniumユーザーコミュニティ勉強会」レポート | gihyo.jp
  • 第8回 Elasticsearchの基礎を学ぶ:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社

    はじめに みなさんこんにちは、teratail開発チームの橋佑介です。 昨今のWebサービスでは、以前のようにユーザが努力をして興味のあるコンテンツを探すサービスから、キュレーションサービスのようにユーザの興味を分析し配信することが重要とされています。 以前からも、ユーザの動向を分析するために、開発者はさまざまな手段を用いてユーザの興味に合った情報を配信することを実現してきましたが、得られるデータがユーザのサービス内のアクティビティのみだったため、決して精度が高いものとは言えませんでした。 現在では、莫大で多様なデータを取得することが可能になったため、ユーザの興味に近い情報を分析することが可能になりました。そのため、データをそのまま蓄積するだけではなく、各データに属性や情報を付与するなど、高度で柔軟性の高い検索・分析が行える全文検索システムに注目が集まっています。 Luceneという全文

    第8回 Elasticsearchの基礎を学ぶ:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社
  • 第6回 vimの基礎を見直す:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社

    みなさんこんにちは、teratail開発チームの橋です。 みなさんはシステム開発をする時、どのようなエディタを利用しますか。 もちろん開発するシステムの規模や言語、プラットフォームによって選択するエディタは変わってきます。VisualStudioやAndroidStudio, Xcode, Eclipse, IntelliJ IDEAなどのIDE(統合開発環境)や、Atom, Sublime TextなどのGUI上で動くテキストエディタ, そしてUNIX系OSで広く利用されているVimEmacsなど、さまざまなものがいろいろな場面で選択されています。 日は、特にUNIX系OSで設定ファイルの編集からシステム開発まで利用されるテキストエディタであるvimについての基礎を見なおしてみましょう。 vimの実際の操作方法や便利なプラグインなどは別の記事に任せるとして、稿ではどういう時にどう

    第6回 vimの基礎を見直す:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社
    bongkura
    bongkura 2015/10/16
  • 第10回(最終回) クラウド環境によるスケールアウト構成 | gihyo.jp

    クラウド環境におけるMySQL Webシステムから業務システムなど様々な領域でいろいろなクラウド環境の利用が広がっています。クラウド環境でのMySQLは、データベースサービス型クラウドとして提供される形態をはじめ、クラウドサービスの構成情報や認証の管理に利用されるケースやクラウドサービス上でのアプリケーションで利用されるケースなど、多様な導入例が見られます。多くのクラウド関連技術はWebシステムで利用されている技術から発展しており、WebシステムでデファクトスタンダードとなっているMySQLをクラウドでも活用することは自然な流れと言えます。 クラウド環境でMySQLを導入することで、クラウドサービスが持っている構成拡張の機能を利用してスケーラビリティを確保できることもあります。ただしこの場合でも動的に追加されたMySQLサーバに対するアプリケーションからのアクセス方法の定義などが課題なり得

    第10回(最終回) クラウド環境によるスケールアウト構成 | gihyo.jp
    bongkura
    bongkura 2015/06/25
  • 第4回 ネットワークを構築するんだ! 今日は | gihyo.jp

    ネットワークを構築したい 今日はこの間からずっと気になっていたVPCというのを使ってネットワークを構築していきたいと思っている。 まず、今日構築したいのはこんなシンプルなものだ。 グローバルIPが振られて、外からアクセスできるようなネットワークを1つと、外からはアクセスできないネットワークを1つ作りたい。 イメージとしては外からアクセスできるWebサーバと、外からはアクセスできないデータベースサーバをそれぞれ置けるような、ちょっと意味がありそうでだれでもすぐに思いつきそうなネットワーク構成。これを構築すると決めた。 AWSがどんなものかわからないからか、何をしたらいいのかわからなくなることが多い。だから先にやりたいことを見つけてやり方を探すようにしようと思った。 VPCの作成 VPCはクラウド上で仮想のネットワーク環境を構築するためのサービスらしい。そして、VPCというひとつのくくりの中に

    第4回 ネットワークを構築するんだ! 今日は | gihyo.jp
    bongkura
    bongkura 2015/01/29
  • 川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 新年を迎えて早々の2015年1月11日(日)、Jenkinsユーザカンファレンスを開催しました。日では第2回目となる今回のカンファレンス、会場は前回と同じく法政大学で、参加者は500名ほどでした。稿では基調講演を中心にレポートをお届けします。 Jenkinsプロジェクトの現状 Jenkinsの生みの親である川口耕介氏の基調講演では、まずJenkinsプロジェクトの現状報告がありました。 Jenkinsの利用統計 Jenkinsの利用者数や利用シーンは、順調に増加しています。 Jenkinsのインストール数やスレーブ数・ジョブ数が増加していること、Javaのツール群の中でもJUnitについで70%のユーザが利用しているといった調査結果を取り

    川口耕介氏、Jenkinsプロジェクトの現状やWorkflow Pluginの特徴を説明 ~Jenkinsユーザカンファレンス2015東京 基調講演 | gihyo.jp
    bongkura
    bongkura 2015/01/21
  • 本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる 日12月1日より、プログラマ有志による2014年の各技術系Advent Calendar(アドベントカレンダー)が一日目を担当する人のblogではじまっている。技術系Advent Calendarの数の増加傾向は今年も続いており、Qiitaを利用したものがとても多くなっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付それぞれの部分が扉になっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組みになっている(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、特定のプログラ

    本日12月1日より、プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる | gihyo.jp
    bongkura
    bongkura 2014/12/03
  • 第7回 エンジニアは資金調達も苦手 | gihyo.jp

    今回は資金調達について考えてみたいと思います。 以前も書きましたが事業には元手=キャッシュが必要です。 キャッシュを増やす方法 キャッシュを増やすには3つの方法があります。 1つは事業による利益で増やす、1つは増資で増やす、1つは借り入れで増やすというものです。このうち、増資もしくは借り入れで増やす2つをまとめて資金調達と呼びます。 エンジニアに限らず一番よくあるパターンが、最初は手金で起業するというものでしょう。手金が尽きる前に事業でキャッシュを増やせれば、つまり営業キャッシュフローをプラスにできれば資金調達は不要です。 以前の連載で取り上げた、フリーランス的な起業、いわゆる単なる独立はここでは除外します。とはいえ最初からなかなかキャッシュフローの収支をプラスにするのは難しいですし、逆に最初から順調にキャッシュが増えているケースだからこそ資金調達したくなる場合もあるでしょう。 そこで、今

    第7回 エンジニアは資金調達も苦手 | gihyo.jp
    bongkura
    bongkura 2014/09/24
  • Android Studio最速入門~効率的にコーディングするための使い方 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Android Studio最速入門~効率的にコーディングするための使い方 記事一覧 | gihyo.jp
  • 1日目レポート[随時更新] | gihyo.jp

    10月15日、16日、東京工業大学大岡山キャンパス (東京都目黒区) でYAPC::Asia 2010 Tokyoが開催されます。ページでは、1日目のレポートを随時掲載していきます。 ※今回のレポートは全セッションを回れておりません。ご了承ください。 Daisuke Makiさん「Welcome Speech⁠」⁠ JPAの牧さんより、開催の挨拶が行われました。5周年となる今回のテーマは“⁠Welcome Perl⁠”であること、基調講演の発表者をそれぞれ"The Beginnig"、"Current Master"、"The Purple Master"と紹介しました。 また、今回のイベント運営にノンエンジニアの941さんが加わり、運営に尽力されたことが語られました。そのほか、今回のイベントではロケタッチと協力してYAPCのシールを制作したことが紹介されました。 最後に、スポンサーに対

    1日目レポート[随時更新] | gihyo.jp
  • 「Python Hack-a-thon 2010.07」レポート | gihyo.jp

    Pythonハッカソンは、Djangoハッカソン(8回まで開催)から引き継がれる形で開催されている勉強会です。7月10日、オラクル青山センターにて、4回目の勉強会「Python Hack-a-thon 2010.07」が開催されました。 Pythonと銘打っていますが、Pythonに限定しない話題も数多く登場します。今回も、Ocaml, C++(?), PHPなどについてのプレゼンもありました。初心者から上級者まで評判が良く、リピート率も高いイベントです。とにかく人気で、とくにここ数回は100人以上の規模での募集にも関わらず、申し込み後すぐにいっぱいになってしまう盛況ぶりです。 Pythonハッカソンは、ハッカソン、ハンズオン、プレゼンテーションの3つのパートで構成されています。稿では、これらのパートごとに、今回の勉強会についてレポートします。 Note: もともとは、Pythonのウェ

    「Python Hack-a-thon 2010.07」レポート | gihyo.jp
  • 第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp

    「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニア仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「⁠常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス

    第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp
  • 第43回 Rails 3を支える名脇役たち その1 - Arel - | gihyo.jp

    はじめに Ruby on Railsの2年半ぶりのメジャーバージョンアップである3.0の正式リリースがいよいよ間近に迫ってきました。 Rails 3は、アプリケーション・レベルではRails 2.3との互換性をなるべく保ちながらも、メジャーバージョンアップだけあってフレームワーク自体は隅々にまで徹底的なリファクタリングが施されて更なる洗練を遂げています。結果として、Rails 3では融通の効かないフルスタック構造を捨ててすっきりとしたモジュール独立性が実現されているのですが、この際に、Merbとの合併の影響もあってか、いくつかの新たな外部ライブラリに依存する形になっているのも興味深いところです。 そこで稿では、あえてRails 3そのものではなく、このRails 3の大改造の舞台裏を支える裏方さんにスポットライトを当ててみたいと思います。 Arelによってパラダイムが大きく変わったAct

    第43回 Rails 3を支える名脇役たち その1 - Arel - | gihyo.jp
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • Ubuntu Weekly Topics 記事一覧 | gihyo.jp

    Ubuntu 24.10(oracular)の開発 / 仕様変更とQAの下ごしらえ⁠⁠、NativeEdgeへのUbuntuの採用 吉田史 2024-05-17

    Ubuntu Weekly Topics 記事一覧 | gihyo.jp
  • モダンPerlの世界へようこそ 記事一覧 | gihyo.jp

    第42回Template ToolkitPerl製テンプレートエンジンのデファクトスタンダード 石垣憲一 2011-06-30

    モダンPerlの世界へようこそ 記事一覧 | gihyo.jp
  • 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する | gihyo.jp

    イベントループを持つモジュールが抱える問題点 イベントループを持つモジュールの一例として、前回はPOEを取り上げましたが、もちろん同じようなループを持つモジュールはほかにもあります。 たとえば1995年に故ニック・イング・シモンズ(Nick Ing-Simmons)氏が始めたPerl/Tkや、POE誕生前夜の1997年から開発が行われているGtk(のちのGtk-Perl⁠)⁠、その後継にあたるGtk2/GlibのPerlバインディング(2003年)など、GUIアプリケーション関連のツールがそうですし、IO::Poll(1997年)やIO::Async(2007年)のようなモジュールにもイベントを監視するためのループが使われています。また、Event(1997年)やlibeventのラッパであるEvent::Lib(2004年⁠)⁠、EV(2007年)のように、イベントループそのものを実装す

    第13回 AnyEvent:イベント駆動モジュールの方言を吸収する | gihyo.jp
    bongkura
    bongkura 2010/03/10
    [AnyEvent