タグ

ブックマーク / www.geekpage.jp (19)

  • IPv6基本仕様のRFC 2460が廃止:Geekなぺーじ

    IPv6の基仕様を規定したRFC 2460が廃止されました。RFC 2460が発行されたのは1998年なので、IPv6の基仕様を規定したRFCが廃止されるのは約19年間ぶり、2回目の廃止です。今後は、RFC 2460を廃止するRFC 8200がIPv6の基仕様を規定したRFCになります。 Internet Protocol, Version 6 (IPv6) Specification 今後、IPv6の基仕様に関して勉強、参照、紹介などをする場合には、今回廃止されたRFC 2460ではなく、RFC 8200を利用する必要があります。 RFC 8200が発行されるまでに行われてた議論や、6月時点におけるIETFでの議論に関しては、先月、NTTコミュニケーションズ株式会社の西塚要さんが書かれた記事が素晴らしいので、是非そちらをごらんください。 Internet Watch: 20歳を超

  • 「ひとりで何でもできるエンジニア」は勝手に育つ:Geekなぺーじ

    「スタートアップベンチャーはスーパーエンジニアを求めるけどエンジニア界隈と起業家界隈で想像しているスーパーエンジニアの定義が違う件」という記事が話題です。 その中で、「「ひとりで何でもできるエンジニア」は存在しないと思った方が良い」」として、以下のように書かれています。 「ひとりで何でもできるエンジニア」は存在しないと思った方が良い」 起業家の方が知らない側面として 現在バリバリ活躍しているエンジニアのほとんどが得意領域を持っていて それ以外の分野については出来る人であっても「平均点以上」ぐらいの活躍しか出来ないということです。 そして優秀なエンジニアの方はそのことをよくわかっています。 たまに化け物みたいな化け物がいて物理からインフラからアプリケーションからUI/UX ネイティブアプリ開発からwebマーケティングに資産管理まで全部出来ちゃう人もいますが その人を望む事は「年収1000万の

  • ざっくり詳解 - NAT64とDNS64:Geekなぺーじ

    2016年6月から、iOSアプリの審査基準としてIPv4に依存するコードの禁止が追加され、IPv6対応がiOSアプリの義務なったことからも、IPv6に関する知識が必須となったエンジニアも多いのではないかと思います(Appleの発表)。 Appleのサイトでは、IPv4アドレス在庫枯渇の発生とともに、ユーザに対してIPv6のみによるインターネット接続性を提供するNAT64(「なっとろくよん」です。ろくじゅうよんではないです。)とDNS64という技術が、エンタープライズ網や携帯電話網で採用されることが増えているとあります。 Apple Developer: Supporting IPv6 DNS64/NAT64 Networks iOSアプリ開発者は、このNAT64とDNS64環境でもアプリが正しく動作することを求められています。 Appleのサイトでは、NAT64とDNS64はOS X 10

  • 日本国内携帯3社、2017年度中にIPv6導入:Geekなぺーじ

    IPv6導入が世界中に進んでいますが、日国内では2017年中にIPv6導入が一気に加速しそうです。 NTTドコモは2017年4月頃からIPv6導入 昨日、NTTドコモ端末でのIPv6利用が2017年4月頃より開始されることがTwitterで発表されました。 2017年4月頃より、 #ドコモ 端末よりインターネットにアクセスする際に #IPv6 アドレスが付与される場合があります。自サーバへの接続でIPアドレス制限されている場合は、今のうちに設定変更を実施しましょう。詳細は→ https://t.co/cblmNM9lZ0 担当pix — NTTドコモ開発者情報 (@docomo_dev_info) 2017年2月7日 そのTweetで紹介されている「詳細」は、次のページです。 NTTドコモ:spモードサーバ情報 その「spモードサーバ情報」のページでは、一番下に以下のように記載されていま

  • 「安く早く」が崩壊しかけてるかも:Geekなぺーじ

    国内でトップレベルのセキュリティ専門家である徳丸浩さんが、Twitterで「何度でも言うが、自力でトラブルシューティングできない人や組織は、自前でWordPres立ててはいけない」と発言したことが話題になっています。 [Security] Webとセキュリティとソフトウェア工学 それぞれの方々のご意見を拝見した限り、「自前でWordPres立ててはいけない」という表現に対して「ダメって言うな!」や「じゃあ、どこで経験つめばいいの?」といった論点での反論は多い一方で、「インターネットは超荒波だから気をつけようね」という点に関しては見解が一致してそうだと思います。今のインターネットの荒波がどれぐらいかというと、最後は主人公たちが乗っていた漁船が荒波に飲まれて全員死亡というパーフェクトストームという映画ぐらいのレベルだという感想を個人的に持っています。 いまのインターネットは、安さと早さを追

  • IPv6理解のための3つのポイント:Geekなぺーじ

    世界中でIPv6対応が進んでいます。昔は「次世代インターネットプロトコル」と言われていたIPv6ですが、「次世代」ではなく、既に現実として運用されるプロトコルへと成長しました。2016年6月から、iOSアプリの審査基準としてIPv4に依存するコードの禁止が追加され、IPv6対応をiOSアプリの義務なったことからも、IPv6に関する知識が必須となったエンジニアも多いのではないかと思います(Appleの発表)。 IPv6といえば、IPv4で32ビットだったIPアドレスが128ビットへと増えたということ以外は特に知らない方々も多いと思います。ここでは、そんな方々に向けて、IPv6理解のための3つのポイントを紹介をします。 1. IPv4とIPv6は全く別のプロトコル IPv4とIPv6は全く別のプロトコルです。しかも、互いに直接的な互換性はありません。IPv4とIPv6を直接つなぎ合わせても互い

  • BGPルータの512K問題について:Geekなぺーじ

    インターネットでの通信障害を発生させた「BGPルータの512K問題」が一部界隈で話題です。今回は、それがどういった問題で、それが発生する背景がどのようなものであるかを紹介します。 インターネットの仕組みとBGP インターネットは、AS(Autonomous System/自律システム)という単位で運営されていますが、AS同士はBGPという経路をやり取りするプロトコルを利用して互いに接続することで成り立っています。BGPは、伝言ゲームのように「私の隣に○○というASの××というネットワークがある」という情報を伝えて行くものです。世界中のASが伝言ゲームに参加することによって、世界中のASへの到達方法を共有しているのがインターネットなのです。 BGPによって集められた、世界中のASに含まれるネットワークへの経路を全て(もしくは全てと推測される規模の)経路情報は「フルルート(Full Route

  • Google Public DNSがBGPハイジャックされる:Geekなぺーじ

    ブラジルとベネズエラのネットワークで、Google Public DNSが運用されている8.8.8.8が、最大22分間BGPハイジャックされたとBGPmonがTwitterで表明しています。 https://twitter.com/bgpmon/status/445266642616868864/photo/1 BGPmonのTweetによると、ベネズエラにあるAS7908(BT LATAM Venezuela,S.A.)が8.8.8.8/32を広告したことが原因のようです。 ブラジルといえば、ブラジル国民のデータをブラジル国内に留めることを求めた法律が成立したことによって、昨年10月に同国からGoogle Public DNSが撤退しています(Renesys: Google DNS Departs Brazil Ahead of New Law)。 実際のところは知りませんが、その撤退に

  • selectを横から止める方法:Geekなぺーじ

    ここでは、selectに登録しているファイルディスクリプタに対して入出力を行わず、かつ、timeoutを設定せずにselectを横から止める方法を説明したいと思います。 selectを横から止めたい時とは? selectはブロッキングAPIです。 selectを利用すると、selectに登録したファイルディスクリプタが入力/出力可能になるか、タイムアウトが来るまでブロックし続けてしまいます。 例えばマルチスレッドプログラミングなどを行っているときに、片方のスレッドでselectを使ってずっと入力を待っていたとします。 もう片方のthreadで何らかの理由により、selectのループをbreakしたくなったときにselectを解除したくなる場合があるとします。 このようなときには、selectが行われているPIDに対してシグナルを送信するとselectはEINTRで抜けてきます。 説明だけで

  • 「汚いコードでいいよ」は夢の環境であると同時に悪魔の囁き:Geekなぺーじ

    「コードがもうメチャメチャでも、動いて金が回れば正解なんですよ」という発言を含むインタビューが話題です。 エンジニアよ、ゼネラリストなんて目指すな!- VASILY 金山裕樹のキャリア論[2] 一部界隈で大きな話題になっているのは、主に以下の部分です。 極端な話、コードがもうメチャメチャでも、動いて金が回れば正解なんですよ。「アイツの書くコードは汚いけど、アイツが入ったプロジェクトは絶対勝つよね」ってエンジニアは、絶対に呼ばれます。もう間違いない。少なくとも、僕は欲しいですし。 私のまわりでは、「汚いコードをその後運用させられるエンジニアもいるんだからね」という意見が非常に多い印象です。 個人的には、こういうことを表明している会社でエンジニアとして働きたいとは思わなかったです。 「汚くてもいいよ」はエンジニアとしては楽な面もあるよね 今は文章を書くことが私の主な仕事ですが、前職はプログラマ

  • Geekなぺーじ

    「Geekなぺーじ」へようこそ。 このサイトは、同類を増やすべく技術メモを公開しています。 内容としては、情報技術/通信技術(インターネット技術)の分野で初心者~中級者向けです。 お探しの情報が無い場合には、お問い合わせ頂ければできる範囲で内容を増やして行きたいと思います。 暖かい心で見守って頂ければ幸です。

  • Geekなぺーじ : Rubyネットワークプログラミング

    ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換

  • Geekなぺーじ : Mac OS Xネットワークプログラミング

    Mac OS Xでのネットワークプログラミングを勉強しながら、少しずつ公開していくコーナー。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 Mac OS Xを普通にインストールしただけでは開発環境は入りません。 Xcodeを含むMac OS X開発環境はOS DVDなどに入っています。 次に、エディタが必要になります。 標準開発環境であるXcodeを利用して書くことができます。 一方で、UNIXやLinuxなどで一般的なエディタであるmule、emacs、xemacsなどを利用することも可能です。 個人的にはviが好きです。 Cocoa ファイル単体をそのままコピペしてgccでコンパイルできるCUIとして書いているので多少特殊な書き方をしている気がします。 GUIを使う場合はNSRunLoopではなく、NSApplicationMainを使ったりするのでご注意下さい

  • MPEGファイルを再生する(ダウンロード再生):Geekなぺーじ

    DirectShowを使ってローカルマシン内にある映像ファイルを再生する方法を説明しましたが、同様の方法でネットワークからダウンロードしながら再生を行うコードも簡単に作成できます。 ここでいうダウンロードとは、HTTPでのダウンロードです。 ここでは、DirectShowを使ってHTTP経由でMPEGファイルをダウンロードしながら再生する方法の説明をしたいと思います。 (注意)ここの例では、サンプルを簡潔にするためにエラー処理を書いていません。 とりあえず、コードを書いてみる まず、何も考えずに以下のコードを書いてみましょう。 「http://localhost/butterfly.mpg」というURLに置いてあるMPEGファイルを再生します。 「localhost」は自分のマシンを表しています。 下記サンプルコードを試すために、ローカルマシンでapache(フリーのWWWサーバ)を動かし

  • Geekなぺーじ : winsockプログラミング

    ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして

  • RTCP (RTP Control Protocol):Geekなぺーじ

    RTCPで良く利用されるのがRTCP SRとRTCP RRだと思います。 これらを利用して、送信者は受信者での受信品質を知ることが出来ます。 具体的には、パケットロスとRTTがわかります。 受信者でのパケットロスは、RTCP RRに記述されます。 RTTは、RTCP SRとRTCP RRの両方を組み合わせて得られます。 図5. RTCPによるRTTの取得 図5にRTCPによるRTT計算の方法を示します。 送信者はRTCP SRを送信した時間を覚えておきます。 受信者は、RTCP SRを受け取ってからRTCP RRを送るまでの時間を計測し、その値(図5の(b))をRTCP RRに記述します。 送信者は、RTCP SRを送った時間とRTCP RRを受け取った時間の差を計算します(図5の(a))。 図5の(a)から(b)を引いたものがRTTになります。 RTPは、マルチキャストを前提に設計されて

  • Geekなぺーじ : インターネットの仕組み/プロトコル

    ここでは、インターネットに関する技術説明を行います。 仕組みコーナーでは、それぞれのテーマに合わせた概要を説明します。 プロトコルコーナーでは、個々のプロトコルを説明します。 資料集では、各種技術的資料やパケットフォーマットなどを述べます。

  • RTP(Realtime Transport Protocol):Geekなぺーじ

    ここでは、RTP(Realtime Transport Protocol)に関する説明を行います。 RTPは、インターネットでリアルタイムデータ(主にマルチメディアデータ)を転送するためのプロトコルです。 RTPが最も利用されているのは、ビデオ転送(ストリーミング)やVoIPなどです。 RTP概要 RTPを非常に簡単に言ってしまうと、「UDP(User Datagram Protocol)のうえにRTPヘッダをつけてデータを送受信する。パケットロスやRTT(Round Trip Time)などの情報をRTCPを使って取得する。」です。 RTPは下がUDPである必要は全く無く、IPの上に直接乗せたり、ATMの上に乗せたりする事もできるので、この表現は正しくは無いのですが、現状の用途だと大体これで説明できてしまうと思います。 RTPの特徴的な部分としては、「RTPは単独では不十分なプロトコルで

  • Geekなぺーじ : DirectShowプログラミング [VC++]

    ここでは、DirectShowを使ってプログラムを書く方法を説明します。 DirectShowは、Windows上で映像(動画)や音声を扱うためのフレームワークです。 DirectShowを使うと、様々なフォーマットの映像や音声を簡単にキャプチャ/再生/保存できます。 このページは初心者向けDirectShow入門講座を目指しています。 DirectShowはCOM(Component Object Model)をベースに作られていますが、ここではCOMを知らない人でもDirectShowプログラミングをできるような説明を目指したいと考えています。 DirectXの準備 注意!DirectShowは2005年4月にDirectXからPlatformSDKへ移っています。 DirectShowを使いたい場合にはDirectXではなく、PlatformSDKをインストールしましょう。 Plat

  • 1