タグ

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

  • 仮想ネットワーク実装でTCP/IPを学ぼう ― TCP/IPの基礎と勘所

    いまや業務システムではネットワーク環境が当たり前になっており、開発者であってもネットワークプロトコルの知識を知らないでは済まされません。しかし、巷に出版されている専門書は、ネットワーク管理やプロトコルを図解したもの、または非常に高度な前提知識を求められるものがほとんどです。そこで連載では、プログラマが実際に手を動かして身に付けられるような形で、TCP/IPについて学んでいきます。 はじめに エンドユーザーの要求は複雑化の一途を辿り、それに伴って開発者にも多くの知識が求められるようになりました。その一例がネットワークプロトコルの知識です。 昔はネットワーク管理者が知っていればよい知識でしたが、いまや業務システムではネットワーク環境が当たり前なので、知らないでは済まされません。それに加え、業務システムには様々な問題がつきものです。ですからトラブルが起こった時、障害がどこで発生しているのか素

    仮想ネットワーク実装でTCP/IPを学ぼう ― TCP/IPの基礎と勘所
    k12u
    k12u 2020/06/15
  • メルカリは日米英で異なるインフラを採用――メルカリのインフラの変遷を ソウゾウ 鶴岡達也さんに聞く

    吉羽 鶴岡さんはメルカリ(当時:コウゾウ)の創業メンバーだそうですが、ジョインしてどれぐらいで最初のバージョンがリリースされたのでしょうか? 鶴岡 会社の設立が2013年の2月1日なんですけど、作り始めたのは2013年の1月ごろです。実際のリリースは7月で、Androidアプリが先に出て、その後iOSが出ました。なので半年くらいですね。 吉羽 当時、インフラはどうしていましたか? 鶴岡 僕がほぼ見ていました。僕ともう1人、初期のメンバーがいて、彼も一通り見れるので相談しながらやっていきました。選定は僕がメインでやっていました。 吉羽 当時はオンプレミスだったと聞いたことがあります。 鶴岡 そうなんです。とにかく早くリリースしたかったので。スピード重視の考え方でした。 吉羽 手慣れた技術を使いたい、という感じなんですね。 鶴岡 自分たちが扱ったことのある技術だけにしようと決めました。スケーラ

    メルカリは日米英で異なるインフラを採用――メルカリのインフラの変遷を ソウゾウ 鶴岡達也さんに聞く
    k12u
    k12u 2017/05/22
  • DeNA南場智子氏がサービス開発の悟りを講演「UXをまず作り込む。ビジネスモデルやマーケティングは後でいい」

    アプリ・サービスのUIデザイナーが集うコミュニティ「UI Crunch」は、若手が成長できる場の提供を目的として、25歳以下限定のコミュニティ「UI Crunch Under25」を設立。その第1回イベントを9月26日、東京・渋谷にある株式会社ディー・エヌ・エー(以下、DeNA)の社員堂「サクラカフェ」で開催した。基調講演には、DeNA会長の南場智子氏が登壇。「何故いまデザインなのか?」と題し、多くの失敗から導き出したという、いわばヒットサービスを開発するための「悟り」を披露した。開発者にも大変参考になる内容なので、稿でお伝えする。 【関連リンク】 UI Crunch Under25 | UI Crunch この日は若手デザイナーに向けてということもあってか、南場氏のトークは大変気さくでノリがよく、語り口はロックスターのMCのようであった。文字では伝わりにくいが、その楽しさ・雰囲気を少

    DeNA南場智子氏がサービス開発の悟りを講演「UXをまず作り込む。ビジネスモデルやマーケティングは後でいい」
    k12u
    k12u 2015/10/08
  • Java特有の冗長なコードを簡潔に記述する「Lombok」

    Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様

    Java特有の冗長なコードを簡潔に記述する「Lombok」
    k12u
    k12u 2013/12/24
  • ECサイトの会員登録画面・ログイン機能を作成しよう! プログラミング未経験から始めるPHP入門~応用編(3)

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

    ECサイトの会員登録画面・ログイン機能を作成しよう! プログラミング未経験から始めるPHP入門~応用編(3)
    k12u
    k12u 2009/06/28
    10年ぐらいPHP書いてないけどさすがに引きますた
  • [PHPプロ!] 重複するURLを防ぐことでSEO効果を上げるTips:CodeZine

    onPHP5.comで、非常に見落としやすいSEOのTipsが掲載されています。これは、重複するURLを無くすことに重点が置かれたSEO対策です。 たとえば、http://www.example.com/ というサイトに http://example.com/ でも繋がるようであれば、これは重複するURLであるといえます。このようなURLが存在すると、同じページへのリクエストが複数のURLに分散されてしまうためSEO的に不利になるということです。 この記事ではこのような重複URLを、mod_rewriteとPHPスクリプトを用いて防ぐ方法が紹介されています。記事で取り上げられているのは、どちらを入力しても同じページが開く以下のような3つのケースです。 ドメイン名の違いによる重複

  • CodeZine:第1回 オブジェクトデータベースとしてのCACHÉの特長(データベース, オブジェクト, Cache)

    はじめに 1960年代末頃に研究が開始されたオブジェクト指向のデータベースマネージメントシステム(Database management systemDBMS)は、1990年前後より、実用的なデータベースとして、研究機関や大規模システムを必要とする分野で性能を発揮し始めました。しかし、一般的な企業がそのパフォーマンスに注目し始めてからは、まだ日が浅いと言えます。連載では、オブジェクトデータベースとして注目のCaché(キャシエ)を解説し、一般的な企業のシステム開発・運用におけるメリットを浮き彫りにしていきます。 連載の第1回では、Cachéの紹介を兼ねて、オブジェクトデータベースとしての特長にスポットをあてます。Cachéの2大特徴である「多次元データエンジン」と「統一データアーキテクチャ」の解説から、統合開発環境である「スタジオ」、Cachéを管理する「システム管理ポータル」まで、C

  • PrototypeでAJAX開発を効率化:CodeZine

    去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。

  • Cで実現する「ぷちオブジェクト指向」:CodeZine

    はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++Java、VB.NETさらにはRubyPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、データ

  • CodeZine:JavaScriptでつくるSchemeインタプリタの基礎の基礎(lisp)

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。概要作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラムの入力お

  • CodeZine:Perlで作るモバイルサイトのコツ:第6回(Perl, モバイル, XHTML)

    はじめに Webアプリケーションを作成する上で避けて通れない機能の一つにセッション管理があります。ユーザーが入力画面で入力した情報を、確認画面でセッションに保存し、完了画面を出力する前にセッションから復元してDBなどのストレージに格納する、というフローなどで使用されます。 PC用のWebアプリケーションならば、クッキーを用いることでこのセッション管理を行うことができますが、現在の携帯の多くはクッキーを利用できないため、同様の処理を行うことはできません。 そこで稿では、携帯でのセッション管理の実装方法について解説していきます。 対象読者 CPANモジュールのインストールができる方。 PC用のWebアプリケーションでのセッション管理を理解している方。 必要な環境 Perl 5.8以上が動作するサーバ(筆者環境ではPerl 5.8.8)。 Apache 1.3系、2.x系が動

    k12u
    k12u 2007/01/27
    Sticy -> Sticky
  • PHP と Ming で作る Flash サーバー

    はじめに 稿では、近年Webアプリケーション開発などで広く実用されているPHP言語を使って、Flashプレイヤーで再生できるSWFフォーマットのデータを動的に生成する方法を解説します。PHP 4.0.5以降には、SWFフォーマットのムービーを作成するMingと呼ばれるオープンソースライブラリ(LGPL)が導入されています。PHP言語からMingの機能を利用することで、SWFフォーマットのファイルを生成したり、Flashムービーを動的に生成するWebアプリケーションを開発できます。 一般的なFlashムービーの生成方法では、Adobe社のFlash Professionalを代表とする作成ツールを使ってSWFファイルを出力します。何らかのコンテンツを事前に作成し、それをWebなどにアップロードするならばこの方法で十分です。しかし、ユーザーの要求に従ってアプリケーションが動的にFlashムー

  • JavaScriptを利用してフォームの二重送信を防止する:CodeZine

    japan.internet.com は、1999年9月にオープンした、日初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.com からの最新記事を日語に翻訳して掲載するとともに、日独自のネットビジネス関連記事やレポートを配信。

    k12u
    k12u 2006/12/19
    かっこいい
  • Perlで作るモバイルサイトのコツ:第4回:CodeZine

    はじめに 携帯用のサイトを作成する際に避けて通れないのが文字コードです。入出力とWebアプリケーション内部での文字コードを統一すべきか、絵文字はどう扱えばよいのか。文字コード1つ取ってもさまざまな問題があります。 今回はこれらの問題に対して、筆者がいつも行なっている方法を紹介したいと思います。 対象読者 PerlCGIアプリケーションを作成したことがあり、携帯用のサイトを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。 文字コード変換 最近のWebアプリケーションの開発では、多言語対応という観点から「UTF-8」という文字コードを使用した開発が主流となってきています。PC用サイトのみの開発であれば、すべての処理においてUTF-8を使用するため、特別な文字コード変換処理を実装する必要はありません。 しかし日国内の携帯電話は、主に「Shift_JIS」で記

    k12u
    k12u 2006/11/28
    便利な世の中
  • Firefox拡張機能の基礎を実例で学ぶ:CodeZine

    はじめに Internet Explorer(以下、IE)が主流のブラウザ市場の中で、Firefoxはシェアを伸ばしています。Firefoxがシェアを拡大している理由の一つに、拡張機能の存在があるでしょう。非常に多くの拡張機能が世界中の人々によって開発されています。これらの拡張機能を組み合わせることによって、Firefoxを自分の好みのブラウザにカスタマイズできるのです。 とはいえ、他人が作った拡張機能がぴったり自分に合っているとは限りません。幸いなことにFirefoxの拡張機能は、XML言語の一種でUI部分を規定するXUL、動作を規定するJavaScript、そしていくつかの設定ファイルから構成されています。これらはいずれもごくありふれた開発言語であり、特別な知識は必要ありません。しかも、エディタとFirefoxがあれば高価な開発環境をそろえる必要もありません。他人の作った拡張機能を自分

  • HAVING句の力:CodeZine

    はじめに SQLというのは変わった言語です。こういう印象は人によって差があると思いますが、おそらく最初に手続き型言語を学んだ正統派のプログラマやSEほど強くそう感じると思います。 SQLに違和感を感じる理由は、いくつか考えられます。第一に、SQLが「集合指向」という発想に基づいて設計された言語で、この設計方針を持つ言語が少ないことです。そして第二に、それに劣らず大きいのが、最初に学んだ言語のスキーマ(概念の枠組み)が心理的モデルとして固定され、それを通して世界を見るようになるため、異なるスキーマを持つ言語の理解が妨げられることです。 稿では、HAVING句のさまざまな応用方法を紹介していきますが、その際、手続き型言語とSQLの考え方を比較します。それによって、私たちが手続き型言語で身に付けた無意識の心理的モデルを自覚し、集合指向という発想に感じる違和感を軽減したいと考えています。 今回は

    k12u
    k12u 2006/11/03
    円を描く。
  • データベースに無効なデータが紛れ込まないようにするコツ:CodeZine

    データベースの設計、開発、トラブルシューティング、管理に10年以上携わる。1994年以来Sybaseの仕事を担当し、1998年以降はMS SQL Serverにも携わっている。2001年以降は主要なすべてのRBDMS(DB2、OracleSQL Server)にかかわっている。MCP 70-229を取得。現在、DRW Tradingと仕事をしており、データベースのパフォーマンス改善に専念。

  • プログラミングと開発者のためのCodeZine:Perlで作るモバイルサイトのコツ:第1回(Perl, モバイル, CPAN)

    http://www.cpan.org/。Perlのライブラリ・モジュールソフトウェアやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブで、世界中のサーバーにその内容がミラーされています。 対象読者 Perlを実行できる環境にて携帯サイトの構築を考えている方。 必要な環境 Apache 1.3系または2系 Perl 5.6以上 User-Agentより端末判別を行う 携帯サイト構築の主な処理として挙げられるのがUser-Agent解析によるキャリア、モデル、シリーズなどの分類処理かと思われます。iモード、EZweb、Vodafoneの3キャリアを判別するだけでも複数のパターンが存在しており、端末のモデルを取得するまでにはさまざまな条件分岐処理の記述が必要となります。それらをスマートに行う方法はHTTP::MobileAgentを使うことで、User-Agent

  • Google Web Toolkit:現実的な開発に即したAJAX:CodeZine

    今回は、メニューからグラフの種類を変更できるようにします。これまでは、3D縦棒グラフでデータを表示していましたが、グラフの種類を折れ線グラフと円グラフに変えられるようにします。

  • パターン認識の前処理に必要な二値画像の細線化:CodeZine

    はじめに 細線化はThinningやSkeletonizationと呼ばれ、二値画像(白と黒の色だけで表現された2階調の画像)を幅1ピクセルの線画像に変換する処理です。線が途中で切れたり、孔が開いたりしてはいけません。得られた線は、元の図形の幅の中心にくることが望まれます。 エッジ検出によって得られた画像は、元の画像の変化が比較的緩やかで広範囲な場合には、幅が広くなってしまいます。エッジ検出の閾値を高くすると幅は狭くなりますが、緩やかな変化を見逃してしまいます。したがって、閾値を低く選んで、幅広くエッジ部分を出させ、その後に細線化処理を行って、文字認識やパターン認識に使うことが多いのです。 アプレットを見る 対象読者 画像処理に関心があり、パターン認識の前処理を学習したい人。 必要な環境 J2SE 5.0を使っていますが、それより若干古いバージョンでも大丈夫です。CPUパワー