タグ

ブックマーク / codezine.jp (12)

  • Linuxカーネルの開発ツリーに次世代VPN・WireGuardがマージ

    WireGuardは、Linuxプロジェクトとして開発がスタートしたオープンソースのレイヤ3VPNで、他のVPNと比較してコードがシンプルで、高速かつ組み込みやすい。現在はLinuxだけでなく、WindowsmacOS、BSD、iOS、Androidでも利用できる。 UDPを介してIPパケットをカプセル化することでVPNを実現しており、秘密鍵と公開鍵を使用して認証を行う。前述のように、既存のVPNと比較して高速であり、Noiseプロトコルフレームワーク、Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24、HKDFといった暗号化技術をサポートしている。 Linuxでの利用にあたっては、WireGuardの中心的な開発者であるJason Donenfeld氏がLinuxに組み込まれている暗号化サブシステムを嫌い、新たな暗号化サブシステムとしてZinc

    Linuxカーネルの開発ツリーに次世代VPN・WireGuardがマージ
    d6rkaiz
    d6rkaiz 2020/02/01
  • Google App Engineで開発するスケールするアプリケーション(前編)

    はじめに 「人類が使うすべての情報を集め整理する」 この壮大なミッションを掲げ設立されたGoogleは、そのミッションを遂行するべく、マシン・ネットワークなどのインフラ環境に莫大な金額を投資し、独自の技術を開発し続けています。Googleは検索エンジンだけにとどまらず、Gmail、Google Calendar、Google Maps、Google Analystics、Youtube、Google Apps、Google Earthなど、いまや全世界のユーザーが使用するサービスをリリースしており、その扱うデータ量、アクセス数は天文学的な数になることが予想されます。Googleはそれらのデータ量、アクセス数を高速にさばき、なおかつ耐障害性の高いスケーラブルな大規模分散システムを構築しています。 そんな中、2008年4月にGoogle App Engineがリリースされました。Google

    Google App Engineで開発するスケールするアプリケーション(前編)
  • 業務アプリケーションにも浸透が進むオープンソースソフトウェア

    最近、オープンソース化の流れは、システムのベースに近いところだけでなく、従来は商用のアプリケーションが中心だった業務アプリケーションのレイヤにも浸透しつつあります。この記事では、代表的なオープンソース業務アプリケーションを例に挙げて、業務アプリケーションのオープンソースソフトウェアについて解説します。 業務アプリケーションのオープンソース化の流れ オープンソースソフトウェアというと、LinuxMySQL、Apache HTTP Serverなどを思い浮かべる方も多いと思います。これらのソフトウェアは、非常に多くの場面で使われていて、多くのシステムを支える基盤として稼働しています。これ以外にも、OS、データベース、ミドルウェアなどシステムのベースとなる部分で、非常に多くのオープンソースソフトウェアが公開され、多くのシステムで活用されています。これらのアプリケーションも、公開当初は品質やサポ

    業務アプリケーションにも浸透が進むオープンソースソフトウェア
  • jQuery入門(その1)(1/7):CodeZine

    はじめに 実を言うと、私はずっとJavaScriptを嫌っていました。JavaScriptのコードを書くのが嫌でしたし、いろいろなブラウザに対応するために大量のスクリプトコードを使わなければならないのも嫌でした。そうした点は今でも変わらないのですが、最近になってJavaScriptへの理解が深まったことと、jQueryという小さなJavaScriptクライアントライブラリのおかげで、クライアント中心のAJAXスクリプトコードを書かなければならないときでも恐怖を抱かなくなりました。それどころか、今では喜んで引き受けるほどになっています。クライアントロジックがもっと複雑になり、ブラウザの機能や実装の多様化がさらに進んだとしても、jQueryをはじめとするクライアントライブラリが、JavaScriptHTML DOMを扱う際に必要な正規化を提供してくれます。 私はJavaScriptの初心者と

    jQuery入門(その1)(1/7):CodeZine
  • Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine

    Web標準に従うことは、SEO効果、ユーザービリティ、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従ってWebサイトを制作しようとすると、制作者の頭を悩ませる多くの問題が待っています。連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 はじめに Web標準に従うことは、SEO効果、アクセシビリティ、ユーザービリティ、相互運用性、互換性、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従って「正しい(X)HTML+CSS」でWebサイトを制作しようとすると、制作者の頭を悩ませる多くの

    Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine
  • net-snmpについて(環境構築)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    net-snmpについて(環境構築)
    d6rkaiz
    d6rkaiz 2008/08/26
  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl

  • CodeZine:DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(前編)(モバオク, モバゲー)

    シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー

  • CodeZine:携帯シミュレータ入門(開発ツール, まとめ)

    はじめに 携帯サイトは、PCのWebブラウザではテストできません。携帯のWebブラウザにはさまざまな機種依存仕様があるからです。マークアップ言語の違い(HTML/HDML)絵文字表示可能な画像形式(gif/png/jpg、カラー/モノクロ、色数、サイズ)受信サイズアクセスキー  これらは携帯の実機でテストする必要がありますが、開発中に携帯の実機でテストをするのは大変です。実機ではソースを見ることもできませんし、経費もかかります。 そこで携帯シミュレータの出番です。すべての機種依存仕様を正確にシミュレートできるわけではありませんが、上記のうち、1. 、2. 、5. をテストすることができます。稿では、携帯サイトの開発に必須となる携帯シミュレータの紹介と、使用上のポイントを説明します。対象読者 携帯向けWebサイトの開発者必要な環境 Windows 2000/XP携帯シミュレータ一覧 携帯シ

  • あなたが学ぶべき10の現代実用プログラミング言語:CodeZine

    はじめに Webベースのアプリケーションや、Webベースで機能するサービス、加えてJavaや.NETのような物理的なシステムを抽象化するプラットフォームの台頭によって、現在のアプリケーション開発は環境によってアプローチが大きく異なり、それに伴って様々なプログラミング言語が使われるようになっています。 ネイティブの実行ファイルを対象としたアプリケーション開発であれば、古くから使われているC言語やC++言語が今でも主流です。しかしながら、Webアプリケーション開発ではPerlPHPRubyPythonなどの組み込み可能なスクリプト言語が人気です。Ajaxを代表としたブラウザ内で動作するクライアントベースのWebアプリケーションであればJavaScriptが駆使されることになります。 仮想システムを対象としたアプリケーション開発には、仮想システム専用の言語が使われます。Javaアプリケーシ

  • 「ちょっと待て」 真・MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpで紹介された「MySQLのクエリを最適化する10のTips」に対して、反論している人がいる。ブログ「20bits」のJesse氏だ。彼は「10 Tips for Optimizing MySQL Queries (That don’t suck)」というエントリーで、Jaslabs氏の記事は適切でないとしている。 Jesse氏の経験によれば、SQL最適化で最も重要なことはSQLDBの基をしっかりと理解することであり、60%がこれで解決するという。残り35%はDBやクエリの特殊な性質に対する対処であり、最後の5%で発想の転換などを求められる。Jaslabs氏はここにばかり力を入れており、それはまったくもって時間の無駄だと述べている(Jesse氏は「SQL_SMALL_RESULTなんて、生まれてこの方使ったことすらない」とまで言

  • [PHPプロ!] MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 1. explainコマンドの使用 explainコマンドはクエリでどのインデックスが指定されているのか、などの情報が取得できます。 explainコマンドの実行結果を見ながらインデックスが使用されるようにクエリを修正したり、インデックスの追加を行います。詳細についてはMySQL 4.1リファレンスマニュアルを参照してください。 2. 権限の簡易化 テーブルの権限が複雑になればなるほど、オーバーヘッドが大きくなります。GRANT文で設定された権限が単純であ

  • 1