タグ

ブックマーク / atmarkit.itmedia.co.jp (46)

  • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

    ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

    実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
    cknbstr
    cknbstr 2020/02/12
  • 「われわれは100倍、速く書ける」――PFI 西川徹

    「天才」と呼ばれるプログラマたちが自ら会社を立ち上げるとどうなるか。その答えが知りたければ、あるベンチャー企業に注目すればいい。IT業界で注目を集めるテクノロジーベンチャー「プリファードインフラストラクチャー」の社長に話を聞いた。 特集「学生起業家たちの肖像」、最終回は現在、最も注目を集めているテクノロジーベンチャーの1つ、プリファードインフラストラクチャー(PFI)の代表取締役社長 西川徹氏に登場してもらった。東京大学大学院に在学中、ACM国際大学対抗プログラミングコンテスト(ACM/ICPC)の世界大会に出場したメンバーと設立した会社は、自然言語処理の分野で日増しにその存在感を大きくしている。 今回は特別に、連載「天才プログラマに聞く10の質問」でおなじみ、Lispハッカーの竹内郁雄氏にインタビュアーをお願いした。2人の濃密な対談の様子を余すところなくお届けする(以下、敬称略)。 出会

    「われわれは100倍、速く書ける」――PFI 西川徹
    cknbstr
    cknbstr 2018/02/14
  • 第12回 使い勝手が大幅に向上したWindows 7のワイヤレス機能

    Windows 7の新機能「SoftAP」と「Virtual Wi-Fi」 続いて、機能面の改良について取り上げることにしよう。まず、Windows 7が動作するコンピュータそのものを無線LANのアクセス・ポイントとして動作させる、SoftAP(ソフトウェア・アクセス・ポイント)とVirtual Wi-Fiについて解説する。 SoftAPとは、Windows 7が動作して無線LANを利用しているコンピュータが、IEEE802.11無線LANのアクセス・ポイントとして振る舞う機能だ。一般的には、インターネット接続手段を持つコンピュータが、それをほかのコンピュータやiPod touchといった携帯情報端末などと共用する際に利用する。 固定的にインターネット接続回線が存在する状態であれば、それが光ファイバやxDSLのような有線接続でも、あるいは携帯電話/PHS/WiMAXなどを用いる無線接続でも

    第12回 使い勝手が大幅に向上したWindows 7のワイヤレス機能
    cknbstr
    cknbstr 2017/03/28
  • 本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT

    PSN侵入の件から始めよう 今年のセキュリティの話題の中でも特に注目されたものとして、4月20日に起こったPSN侵入事件があります。5月1日にソニーが記者会見をネット中継したことから、ゴールデンウィーク中にもかかわらず多くの方がネット中継を視聴し、感想をTwitterに流しました。もちろん、筆者もその1人です。 このときの様子は、「セキュリティクラスタまとめのまとめ」を連載している山洋介山さんが、Togetterでまとめています。 Togetterのまとめを読むと、漏えいしたパスワードがどのように保護されていたかが非常に注目されていることが分かります。Togetterのタイムラインで、14:48ごろにいったん「パスワードは平文保存されていた」と発表されると、「そんな馬鹿な」という、呆れたり、驚いたりのつぶやきが非常に多数流れます。 しかし、15:03ごろに「パスワードは暗号化されてなかっ

    本当は怖いパスワードの話 ハッシュとソルト、ストレッチングを正しく理解する - @IT
    cknbstr
    cknbstr 2015/04/27
  • グーグルが恐れたサイバースパイ「GhostNet」とは? - @IT

    時間の23日、ついにグーグルGoogle.cnを閉鎖し、中国政府のファイアウォールの外に存在するGoogle.com.hkにリダイレクトを開始した。だが、これが検閲を理由としたものであれば奇妙なことである。もともとGoogle.cn自体、政府の情報アクセス制限に同意して開始したサービスであり、検閲の手法も、サイトの“delist”、つまり、検索対象からの除外が主な手法であり、同社自身「グーグル八分」として活用している基機能の延長に過ぎず、複雑さが増す理由にもならない。理にたけたグーグルにしては実に奇妙である。 監視する国家 さて、古い話であるが、私は、技術者として米国に滞在していた期間がある。その主な理由は当時の米国の暗号輸出規制にあった。 当時の私は、国際分散開発のスペシャリストであり、地理的に離れたチームが効率よく開発する環境をいかに構築するかに腐心していた。マイクロソフトに先

    cknbstr
    cknbstr 2015/01/29
    今まさに俺サーバがGhostNetからSSHブルートフォースを食らっている件
  • BIND 9の運用情報収集と分析方法

    BINDが正常に動作しているように見えても、実は高負荷で悲鳴をあげているかもしれない。BINDのロギング機能やデバッグ情報出力、MRTGなどを活用して、BINDの状態を把握できるようにしておこう。(編集局) Webやメール、DNSなど、サーバと呼ばれるものは動いていれば問題ないと考えていないでしょうか? 一度設定が完了したからといって、メンテナンスをおろそかにするようでは にわか管理者のらく印を押されることになります。そこで、メンテナンスの第一歩であるBIND 9の情報収集と分析方法について解説します。 ログ出力の設定 BIND 9は、/var/log/messageなどsyslogデーモンを経由したログだけでなく、BIND 9独自のロギングを備えています。第9回では簡単に紹介しただけでしたが、今回はsecurity/client以外のログカテゴリも見ていきましょう。 ロギング機能の基礎

    BIND 9の運用情報収集と分析方法
  • Android 4.0のサービス/プロセス間通信の基本

    Android 4.0のサービス/プロセス間通信の基Androidで動く携帯Javaアプリ作成入門(31)(1/3 ページ) Android 4.0の「サービス」の深淵へ いまから約3年前、連載の第7回「常駐アプリが作成できるAndroidの“サービス”とは」で、Androidの「サービス」を取り上げました。あれから月日も経過してAndroidのバージョンも上がり、一部のメソッドが非推奨になるなどの変更もあったので、今回あらためて「サービス」を取り上げることにします。 第7回では、「Android Interface Definition Language(AIDL)」を必要としない「ローカルサービス」にのみ着目しましたが、今回はAIDLを使用するプロセス間通信に焦点を当ててサービスを解説します。 今回のサンプルは以下よりダウンロード可能です。 上図のとおり、単にサービスを起動する「

    Android 4.0のサービス/プロセス間通信の基本
  • あなたの知らない>|と<>の使い方

    >や>>、>&といったひんぱんに使われるリダイレクトに対し、ほとんど使われることのないリダイレクトが>|と<>だ。実際には興味深い機能である、これら「知られざる」リダイレクトについて説明しよう。(編集部) あなたの知らないリダイレクト、>|と<> シェルが提供する機能はカーネルが提供している機能をダイレクトに利用するものが多い。つまり、シェルの記述がダイレクトにシステムコールに結び付くような機能が多いということだ。コマンドの実行、パイプ、リダイレクトなどは、そっくりそのままシステムコールに置き換わる。 リダイレクトであれば、ほとんどのケースで>ないしは>>で事足りるはずだ。2>&1という記述はこれで1つの機能に思えるが、これは>&というリダイレクトの典型的な使い方の1つであり、つまりはリダイレクトだ。 >、>>、>&はよく使われるリダイレクトといえる。しかし、sh(1)のマニュアルには次の

    あなたの知らない>|と<>の使い方
  • 技術者が知っておきたいTomcat 7の新機能20連発

    ■ リクエスト処理のアーキテクチャ Tomcat 4時代から採用されているリクエスト処理のCatalinaアーキテクチャは変更なしで、そのまま採用しています。Tomcatが受け付けたリクエストは、リクエスト処理パイプラインによってServletまで到達し処理されます。 ■ クラスタリング(セッションレプリケーション) 若干のインターフェイスの改良はありますが、基的には同じ仕様です。 「All-to-All」「primary-secondary」の2つのレプリケーション方式が利用可能となっています。 ■ DBコネクションプール 今までどおりApache Commons DBCPを使用し、バージョンはDBCP 1.4系(JDBC 4用)を採用しています。Tomcat独自のjdbc-poolを利用する場合は別途ビルドが必要です。jdbc-poolは近いうちに同梱されるかもしれません。 では、T

    技術者が知っておきたいTomcat 7の新機能20連発
  • いまさら聞けない、IPv6アドレス体系の基礎

    IPv4アドレス在庫の枯渇やWorld IPv6 Dayの実施に伴い、「そういえば昔IPv6について読んだけれど、いまはどうなっているんだろう?」と感じている人も多いのではないでしょうか。最新状況を踏まえたIPv6の「基礎」を改めて紹介します。(編集部) 最近話題の「IPv6」って何? IPv4アドレス在庫の枯渇やWorld IPv6 Dayの実施に伴い、またIPv6周りが騒がしくなってきました。あのAmazon EC2もIPv6に対応するというニュースも報じられています。皆さんも「IPv6って何だろう?」「そういや昔にIPv6の記事を読んだけど、いまはどうなってるんだろう」という疑問を抱いて、この記事を読み始めたのかもしれません。この連載では6回に分けて、IPv6アドレス体系の基礎からルータやサーバの設定例、セキュリティ設定など、実運用に際して必要となるIPv6の知識を紹介していきます。

    いまさら聞けない、IPv6アドレス体系の基礎
  • BGPの仕組みと役割を理解する

    連載の第1回目「ルーティング・プロトコルの役割を理解する」では、IPルーティングの中核を成す「ルーティング・プロトコル」について、その役割や全体像を解説してきました。今回からは、その際に紹介した「BGP」「RIP」「OSPF」の3つのプロトコルにフォーカスを当て、仕組みや運用法をより詳細に説明していきます。まずは、AS間で経路情報の交換を行う「BGP」の仕組みと役割について解説していきましょう(編集局) AS(Autonomous System)とAS番号 ASとは、共通のポリシーや同じ管理下で運用されているルータやネットワークの集合を意味します。各AS内では独立したIGPやポリシーが運用されており、インターネットはこのASの集合体ととらえることができます。インターネットは、AS単位に分割して管理することでルーティングのオーバーヘッドを減らし、ネットワークの管理を容易にしています。 この

    BGPの仕組みと役割を理解する
  • スマホアプリの作り方【超まとめ】UI編:スマホアプリのデザイン/グラフィック描画に役立つ記事39選 - @IT

    アプリのUI(ユーザーインターフェイス、見た目)をデザインするのに役立つレイアウトに関する記事、2D/3Dグラフィックを描画したり、アニメーションさせるのに役立つ記事としては、以下をお勧めします。 UIデザイン・レイアウトに役立つ記事17選 画面サイズやデザイン/レイアウトの仕方を知りましょう。基礎知識記事や、各OSのUIの違いやデザインの仕方が分かる記事をまとめました。特に、Androidは画面の大きさの違いをいかに吸収するかが課題でしたが、FragmentsやCompatibility packageを学ぶと役立つと思います。 ■ 基礎知識

  • 開発者が知っておくべき、6つのUIアーキテクチャ・パターン - @IT

    .NET開発者中心 厳選ブログ記事 開発者が知っておくべき、6つのUIアーキテクチャ・パターン ―― 「matarillo.com」より ―― 猪股 健太郎 2011/12/15 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 Martin Fowler氏の『GUI Architectures』を訳して公開しようと思ったのだが、FAQページに「PofEAAの続編などは商業出版する予定なので翻訳はしないでほしい」と書いてある。なので翻訳の公開はやめて、「

  • ほかのセクションに同名のmanページがあるか調べるには - @IT

    manページはセクションに分かれており、複数のセクション番号にmanページが存在する場合もある(manページの「関連事項」にあるsyslogd(8)などの数字は何?参照)。しかし、セクション名を省略してmanコマンドを実行した場合、セクション番号が若いマニュアルが表示されるだけなので、manページが複数のセクションに分かれているかどうかは分からない。 ほかのセクションに同名のmanページがあるかどうかを調べるには、manページに-awオプションを付加する。例えば、「$ man -aw man」とすると、manに関しては2つの日語マニュアルがあることが判明する。 $ man -aw man /usr/share/man/ja/man1/man.1.gz ←セクション1のmanの日語マニュアル /usr/share/man/man1/man.1.gz /usr/share/man/man1

  • 知らないと損するケータイFlash軽量化テク30連発!(1/3)- @IT

    知らないと損する ケータイFlash軽量化テク30連発! まだまだ健在のガラケーのSWFを1バイトでも軽くするには 株式会社サイバーエージェント 渡辺 梓 2011/7/20 スマホへの移行が増加しているという話題が多い中、まだまだ使われているFlash Liteコンテンツ。さまざまな機種でストレスフリーなアプリを制作するために最も気になる点はSWFファイルの軽量化と、実機での動作の軽さではないでしょうか。 稿では、デザイン制作、Flashオーサリング、「Transform」を使ったSWF合成の3軸で、サクサクと動くFlash Liteコンテンツの作り方を説明します。 デザインから始める軽量化 スムースポイントを減らす 違いがほとんど分からないときは、コーナーポイントでも減らす グラデーションの代わりにブレンド 繰り返し使う形はインスタンス化 極力、アルファを使わない アウトラインに当た

  • テキストマイニングで始める実践Hadoop活用

    Hadoopとは何かを解説し、実際にHadoopを使って、大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します いまさら聞けないHadoopとテキストマイニング入門 テキストマイニングで始める実践Hadoop活用(1) それぞれの概要や構成、MapReduceの仕組み、Hadoopの活用場面などを解説し、Hadoopの実行環境を構築します

  • 実践! Rで学ぶ統計解析の基礎 - @IT

    Rは統計解析のブッシュナイフだ 実践! Rで学ぶ統計解析の基礎(1) オープンソースの統計処理言語・環境の「R」を使って実践的な統計解析のテクニックとリテラシーを習得しよう!

  • SassでCSSの弱点を克服しよう (1/2)- @IT

    maedana SonicGarden SUG(SKIP User Group)/日Hamlの会 2009/5/22 Railsを使ったWebアプリケーション開発で、プログラマやデザイナを悩ませるものの1つがスタイルシートの記述だろう。Sassを使って、“クールで構造化された”スタイルシートを記述してみよう(編集部) Sassとは、Syntactically Awesome StyleSheetsの頭文字を取ったものです。あえて日語に訳すと、「かっこいい構文のスタイルシート」といった感じでしょうか。 もう少しシンプルに表現すると「クールなCSS(Cascading Style Sheets)」でもいいかもしれません。Sassはスタイルシートを簡潔に表現するためのメタ言語であり、同時にSassからCSSを生成するための便利なライブラリやコマンドラインツールを提供します。 Sassを使うと

  • アプリ開発ビジネスで独立するなら、知っておきたい「所得税計算」

    今回のテーマ:1人でビジネスを始める Kim氏は、これまでにも定期的に売り上げを報告していて、そのたびにAndroidマーケットからの収入に満足していると書いている。Kim氏は自分がラッキーだったとも書く一方で、「もし今までにもAndroid開発を検討していたのなら、思い切って始めてみることをおすすめする。個人開発者には理想的なプラットフォームだと確信している」と書いている(@IT個人開発Androidアプリで月収116万円に」) iPhoneアプリAndroidアプリ、Webサービスなどを開発して、独立してビジネスを始めるエンジニアが増えているようです。1人でビジネスを始める際には、プログラミングスキルはもちろんのこと、業務で必要とされるものとは異なる種類の会計知識が必要です。 そこで、今回から2回にわたって、「1人ビジネス」における税務について気を付けるべき点を解説します。今回は

    アプリ開発ビジネスで独立するなら、知っておきたい「所得税計算」
  • Android NDKでJNIを使用してアプリを高速化するには

    Android NDKでJNIを使用してアプリを高速化するには:Androidで動く携帯Javaアプリ作成入門(15)(1/3 ページ) Android NDK最新版でOpenGL ES 2.0をサポート 今回のテーマは「AndroidでJNI(Java Native Interface)を使用したアプリの高速化」です。C/C++やOpenGL ES(※)といったネイティブコードを使うツールなどのセットは、Android NDK(Native Development Kit)として提供されていて、JNIを使用した高速化に欠かせません。 ※OpenGL ES(OpenGL for Embedded Systems)OpenGL ES(OpenGL for Embedded Systems)携帯情報端末や組み込み向けのOpenGLのサブセット。OpenGLは、一般的に普及しているグラフィックス

    Android NDKでJNIを使用してアプリを高速化するには