タグ

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

  • 第4回 URLとオリジン | gihyo.jp

    URLは、Webブラウジングを開始するという意味でも、Webに関連する技術の入り口という意味でも、Webにおける起点そのものです。 攻撃者の視点から見ると、多くの場合、URLは攻撃者自身によってコントロール可能です。その複雑な構造から、プログラム内でURLをデータとして取り扱う際にまちがいが発生しやすく、セキュリティ上の問題点を引き起こしやすい格好のねらい目、攻撃の起点であるとも言えます。 また、Webアプリケーションにおいてセキュリティを確保するためには、特定のリソースがそれぞれのWebアプリケーション自身と同一の保護範囲にあるものなのか、あるいは第三者の用意した可能性があり信用できないものなのかを区別して取り扱う必要があります。この境界条件は、Webアプリケーション自身の動作しているURLを基とした「オリジン」と呼ばれる範囲によって決定されます。 今回は、JavaScriptでのセキュ

    第4回 URLとオリジン | gihyo.jp
    mut00tum
    mut00tum 2018/12/26
  • 第1回 Webセキュリティのおさらい その1 | gihyo.jp

    はじめに みなさんこんにちは、セキュアスカイ・テクノロジーのはせがわようすけと申します。 周知のとおり、ここ数年のブラウザの機能強化は目覚ましいものがあり、CSS3やSVGを含むHTML5ブーム以降のブラウザ内での表現力の向上や、JavaScriptエンジンの最適化による実行速度の向上は、数年前では考えられないような目を見張るものがあります。また、HTML5の仕様策定後の現在でも、WHATWGやW3Cではさまざまな議論が継続的に行われており、これまでブラウザ上に存在しなかったような多様なAPIの仕様が生み出され、各ブラウザに日々実装されています。 利用者視点だけでなく、以下のような開発者視点での需要に応えるフロントエンド開発環境の改善も、ここ数年でかつてないほど大きく進んでいます。 CoffeeScriptやTypeScriptに代表されるaltJSと呼ばれる言語処理系の登場 ES2015

    第1回 Webセキュリティのおさらい その1 | gihyo.jp
  • 第5回 wwwありとなしはどっちがいい? サブドメインは0円? DNSサーバの疑問を一挙解決 | gihyo.jp

    Webデザイナーなら知っておくべき サーバ知識相談室 第5回wwwありとなしはどっちがいい? サブドメインは0円? DNSサーバの疑問を一挙解決 今回は、前回説明した「ドメイン」に深く関わっている、「⁠DNSサーバ」がテーマです。そもそもDNSサーバのDは「ドメイン」ですから、この2つは切っても切れない関係です。でも、この2つがどう関係しているのかはちょっと見えにくいですよね。 ドメインとDNSの繋がりを理解すると、例えばWebサイトがきちんと表示されないときに「DNSサーバが設定されていないから見えないのか?」それとも「Webサーバまではたどり着いているけれど、Webサーバやページの設定が間違っていて見えないのか?」という原因の切り分けができるようになります。 Webデザインそのものとは直接関係ありませんが、DNSサーバを知っておけば、業でない箇所でのつまづきが減りますので、しっかり理

    第5回 wwwありとなしはどっちがいい? サブドメインは0円? DNSサーバの疑問を一挙解決 | gihyo.jp
  • 第28回 物理演算エンジンBox2Dでボールを落とす | gihyo.jp

    今回から3回ほどにわたって、物理計算にもとづくアニメーションをつくってみたい。物理空間に置かれたものが、落ちたり互いにぶつかり合ったりしたときの位置や速度はライブラリで計算する。今回使うのは、さまざまな言語に移植されていて定評のあるBox2Dという2次元の物理演算エンジンだ。つぎのjsdo.itのアニメーションをお題とする。 Box2dWebを使う 「Box2D」はもともとC++で開発された2次元の物理演算エンジンだ[1]⁠。重力と物体の質量や摩擦、弾性にもとづく位置と動きの物理計算を行い、シミュレーションしてくれる。ActionScript 3.0やJava、C#、Pythonなど、さまざまな言語に移植されてきた。JavaScriptのライブラリとしても、いくつか公開されている。その中でも対応するバージョンが新しく、解説(英文)も整っているBox2dWebを使ってみたい。 まずは、インス

    第28回 物理演算エンジンBox2Dでボールを落とす | gihyo.jp
  • HTML5のCanvasでつくるダイナミックな表現―CreateJSを使う 記事一覧 | gihyo.jp

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

    HTML5のCanvasでつくるダイナミックな表現―CreateJSを使う 記事一覧 | gihyo.jp
  • 第11回 MySQLの基礎を学ぶ | gihyo.jp

    はじめに みなさんこんにちは。技術系Q&Aサイトteratail開発チームの橋佑介です。 MySQLは世界で広く使われているオープンソースのRDBMSです。今では多くのPaaSやSaaSでも利用でき、GoogleCloudSQLAmazon Auroraなどといったクラウドコンピューティングサービスで独自実装されているRDBMySQLを基礎とし、互換性を保ったものが利用されています。 このようにWebサービスを利用する上で非常に採用頻度が高いMySQLですが、利用するときに知っておくべき基礎的な機能について紹介していきたいと思います。 ストレージエンジン MySQLの大きな特徴の一つとして、ストレージエンジンがあげられます。 ストレージエンジンとは、パーサによって最適化されたSQLクエリを実際に実行する機能部分です。MySQLではさまざまなテーブル型に対するSQL操作を処理するコンポ

    第11回 MySQLの基礎を学ぶ | gihyo.jp
  • TypeScript入門―大規模開発に適したJavaScript互換言語 | gihyo.jp

    AltJSとTypeScriptとは 昨今、高度なWebアプリケーションやNode.jsによるサーバサイドアプリケーションなど、JavaScriptによるアプリケーションの開発が多く見られるようになってきました。それに伴い、アプリケーション開発の効率化のためのAltJSと呼ばれる言語(コンパイルするとJavaScriptを書き出す非JavaScript言語)たちが注目され、開発が盛んに行われています。TypeScriptはAltJSの1つです。 TypeScript以外にもさまざまなAltJSがあります。たとえばLL(Lightweight Language)を意識した書きやすいJavaScriptとしてのCoffeeScript[1]⁠、国産で速度最適化を重視しているJSX、JavaScript以外の言語への変換ができるHaxeなどです。TypeScriptは、よりよいJavaScrip

    TypeScript入門―大規模開発に適したJavaScript互換言語 | gihyo.jp
  • 第11回 JSONP入門 | gihyo.jp

    こんにちは、太田です。今回から、Ajaxと呼ばれるような非同期な通信処理を行うJavaScriptについて解説していきます。今回は特にJSONPについて基礎的な部分を解説します。 JSONとは JSONについては第9回でも少し触れていますが、改めて解説します。 JSON(JavaScript Object Notation)はJavaScriptから生まれたデータ記述フォーマットで、真偽値、数値、文字列、null値の組み合わせを持ったハッシュか配列かその両方で構成されます。 JSONはそのシンプルさから多くの言語でネイティブにサポートされており、特にウェブ関連ではポピュラーなデータフォーマットです。 JSONのサンプル(配列) ["aaa", "bbb", "ccc"] JSONのサンプル(ハッシュ) {"aaa":1, "bbb": 2, "ccc": 3} JSONのサンプル(ハッシュ

    第11回 JSONP入門 | gihyo.jp
    mut00tum
    mut00tum 2015/09/11
    "ジェイソンピー"
  • 第6回 アニメーションする粒子間に引合う力を加える | gihyo.jp

    今回のお題は、ランダムに動く粒子の間に相互作用を加えたアニメーションだ。ランダムな動きにオブジェクト同士のインタラクションを交えると、有機的なアニメーションになってくる。Jared Tarbell氏がかつて「Node Garden」という作品を発表された。Keith Peters氏はそのノード間にバネ運動を加えて、著書『ActionScript 3.0アニメーション』で解説している。稿はその表現をCreateJSで書いてみようと思う。 ステージのランダムな位置に、ランダムな方向と速さで動く小さなオブジェクトをたくさん置く。それらのオブジェクトの間に引っぱり合うバネのような力を与え、さらに互いを線で結ぶ(図1⁠)⁠。できあがりのコードは、jsdo.itに上げてある(例によって後で書き直すかもしれないが⁠)⁠。 図1 ランダムに動くオブジェクトの間に引合う力を与えて線で結ぶ ランダムに置いた

    第6回 アニメーションする粒子間に引合う力を加える | gihyo.jp
    mut00tum
    mut00tum 2015/09/04
    node garden 線と点のアニメーション
  • 第4回 運用開発におけるJavaScriptのフレームワークの選定 | gihyo.jp

    はじめに みなさんこんにちは、技術系Q&Aサイトのteratail開発チームの橋佑介です。 WebサービスJavaScriptを利用する際にフレームワークを使うことがスタンダードになって来ていますが、運用中のサービスに適用するのはなかなか難しくためらっていませんか。フレームワーク自体の比較ではなく運用中のサービスにフレームワークを適用する際に何を選定すればいいのか、そこにフォーカスをあてて紹介したいと思います。 なぜJavaScriptフレームワークを使うのか 通常Webサービスを作る場合、RubyではRailsPHPではLaravelなどのフレームワークを利用すると思います。MVCモデルを導入する目的としてビジネスロジックや画面描画などの分離、コンポーネント化ももちろんですが、チーム開発をする上ではコーディングルールの統一や部品の統一化、画面の切り離しによりフロントエンドエンジニア

    第4回 運用開発におけるJavaScriptのフレームワークの選定 | gihyo.jp
  • 第21回 テスト駆動開発(1) まずテストを書こう | gihyo.jp

    こうして必要な情報を調べてみるとBMIや肥満度に性別や年齢は必要ないのが分かります。そのとき、開発者は立ち止まって考えます。例えば、「⁠必要ないので、実装は取りやめようか?」「⁠しかし次回作成するUIには、性別を反映したい」「⁠ここは今後のアプリケーションの発展の可能性を考慮して、残す方向で進めよう」といったように考えます。このように、ごく近い将来利用する要素であれば、先回りして実装しておくのも許容できます。しかし、利用する予定がないのであれば、きっぱり削除しましょう。必要になってから実装する(YAGNI])というXP(エクストリーム・プログラミング)の原則です。 テストコードの作成と、目的のコードの作成 それでは、個人情報コンテナクラスをテストするコードを書いてみます。この段階で個人情報コンテナクラスそのものは、入力を受け付けますが中身は空っぽです。このような状態のコードを「スケルトンコ

    第21回 テスト駆動開発(1) まずテストを書こう | gihyo.jp
  • モバイル時代を生き抜くためのWebパフォーマンスモデル「RAIL」 ~Response,Animation,Idle,Loadから来る「速さの目安」を知って改善しよう!~:連載|gihyo.jp … 技術評論社

    モバイル時代を生き抜くためのWebパフォーマンスモデル「RAIL」 ~Response、Animation、Idle、Loadから来る「速さの目安」を知って改善しよう!~ 記事一覧

    モバイル時代を生き抜くためのWebパフォーマンスモデル「RAIL」 ~Response,Animation,Idle,Loadから来る「速さの目安」を知って改善しよう!~:連載|gihyo.jp … 技術評論社
  • 第6回 iOS(Swift)でも簡単リアルタイム通信! Milkcocoa iOS SDKを使ってみよう! | gihyo.jp

    MilkcocoaでBaaSを体験!~バックエンドの仕組みと使い方~ 第6回iOS(Swift)でも簡単リアルタイム通信! Milkcocoa iOS SDKを使ってみよう! はじめに 前回まででMilkococoaをサーバ側で利用するためのMilkcocoa Node.js SDKの概要や、SDKを使ったアプリケーション実装方法などを紹介してきました。 今回はiPhoneiPad上で動作するiOSとの連携が出来るMilkococoa iOS SDKを紹介したいと思います。前回、IoTという単語が出てきていましたが、IoT領域ではスマートフォン連携も需要が高くなっていますので覚えておいて損は無いと思います。 Milkcocoa iOS SDK これまでに紹介したMilkcocoaのSDKは全てJavaScript向けのSDKでした。今回は、冒頭に述べたようにiPhoneとの連携を図るため

    第6回 iOS(Swift)でも簡単リアルタイム通信! Milkcocoa iOS SDKを使ってみよう! | gihyo.jp
  • 第6回 超入門、タイム・マネジメント理論 | gihyo.jp

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

    第6回 超入門、タイム・マネジメント理論 | gihyo.jp
    mut00tum
    mut00tum 2015/05/21
    ※タイムマネジメント
  • 第1回 PHPで簡単!3Dプリンタ出力ファイルの作り方 | gihyo.jp

    はじめに さっそくですが、写真1をご覧ください。これは筆者が試作中の片手入力キーボードです。このキーはジョイスティック構造になっていて、4方向に倒して入力できるほか、押し込むこともできます。カーソルで項目を選び、押し込んで決定、という使い方をするスイッチです。このスイッチをキーボードに使うことで、キーの数を1/5に減らしてみようという目論みです。 写真1 試作品の片手入力キーボード しかし、これには問題がありました。基板までは作ったのですが、このスイッチに合うキートップが市販されていないのです。軸径が合わないだけでなく、高速入力を考えると指が触れる面の形状もいろいろ試す必要が出てきます。展示会などで業者さんに聞いてみたことはありますが、20個ほど作るのに何十万もかかるということで、どうやって実現するか悩んでいました。 東京 渋谷に、FabCafeというお店があります。レーザー加工機をホビー

    第1回 PHPで簡単!3Dプリンタ出力ファイルの作り方 | gihyo.jp
    mut00tum
    mut00tum 2015/04/03
    う〜ん。。。
  • International Space Apps Challenge 2013、開催――グランプリは「Personal Geo Cosmos」 | gihyo.jp

    International Space Apps Challenge 2013、開催――グランプリは「Personal Geo Cosmos」 NASA主催のハッカソン、「⁠International Space Apps Challenge 2013」が全世界75都市で同時開催された。ここ日では、東京事務局と東京大学空間情報科学研究センターとの共催にて、4/20~21の2日間にわたり開催され、グランプリが決定したのでその模様をお届けする。 13チームがグランプリを目指し、アプリ開発に集中した2日間 International Space Apps Challenge 2013はNASAやJAXAが提供しているオープンデータを利用し、地球規模、宇宙規模で活用できるアプリを開発し、競い合うコンテスト。すでに3月24日にアイデアソンが開催されており、そこでハッカソンに挑む13チームが決定し、

    International Space Apps Challenge 2013、開催――グランプリは「Personal Geo Cosmos」 | gihyo.jp
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 第1回 JavaScriptの基礎を見直す | gihyo.jp

    連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎⁠」⁠ の連載を担当させていただく橋佑介です。 記事では、広く利用されている技術から新しい技術まで、基的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、

    第1回 JavaScriptの基礎を見直す | gihyo.jp
  • 第16回 JavaScriptのthisとcall | gihyo.jp

    こんにちは、太田です。前々回、前回とJavaScriptにおける継承について学習しました。今回はそれに深く関わるthisについて学んでいきます。 JavaScriptのthisはややクセのある動作をするように思えるかもしれませんが、仕組みをしっかり把握すれば実に簡単です。特に重要なのは次の2点です。 thisが何を指すかは関数の呼び出し方で決定する thisは関数スコープに存在する特殊な変数である インスタンスとしてのthis では、まずはコンストラクタ内でのインスタンスとしてのthisを見てみましょう。 コンストラクタとthis function A(name){ this.name = name; } A.prototype.getThis=function(){ return this; }; var a = new A('aaa'); console.log(a); console

    第16回 JavaScriptのthisとcall | gihyo.jp
    mut00tum
    mut00tum 2015/01/20
    '実はJavaScriptにおいてthisは非常に簡単なルールで決定されます。そのルールとは,「呼び出した関数の手前(ドットの前)のオブジェクトがthisになる。'
  • 第2回 深津貴之―アプリ開発者からその先へ | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、今回は、UI(User Interface)に主眼を置いた斬新なWebサービスをFlashで提供し、iPhoneアプリの黎明期からヒットを何作も出してきた、「⁠fladdict」という名前でも有名なTHE GUILDの深津貴之さんにお話を伺いました。 [撮影:平野正樹] デジタルと物理的なデザインを学んだ大学時代 ─⁠─いつからテクノロジに興味を持ち始めたのでしょうか? 深津:大学で「都市情報デザイン研究室」に所属し、「⁠テクノロジで生活がどう変わるか」を研究していました。そこでおじいちゃんと孫に遠隔でコミュニケーションが発生するとどう変化が起こるのかなどを研究しました。いろいろとやっているうちにインタラクションやUIに興味を持ち、Flashを始めました。その後、就職に興味が湧かず、学びたいこともあったので

    第2回 深津貴之―アプリ開発者からその先へ | gihyo.jp