タグ

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

  • 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がマージ
  • 非同期処理の基本とアクターモデルが解決する課題とは

    はじめまして、マーベリック株式会社のリチャード 伊真岡です。この連載では非同期処理に役立つアクターモデルを学ぶため、JavaScalaから使えるOSSであり、アクターモデルの実装を提供するAkkaを紹介します。連載の前半では非同期処理とActorの基礎的な部分を、後半では非同期処理から分散システムへと話を進めていきます。分散システムは現代のシステム構築において重要性を増しているので、Akkaが非同期処理のツールから始まって、どんな分散システムのアーキテクチャーのパターンを可能にしてくれるのかを紹介したいと思います。連載の第一回である今回は非同期処理の現状や歴史をおさらいし、そしてアクターモデルによって非同期処理の中でも、どういった問題が解決されるのかお話します。 非同期処理とは 現代のアプリケーション開発では非同期処理を扱う機会が数多くあるといえるでしょう。非同期処理[1]とは、処理を開

    非同期処理の基本とアクターモデルが解決する課題とは
    komlow
    komlow 2019/12/04
  • モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理

    これからCI/CDを導入する方にも、すでに活用されている方にも、CircleCIを通してCI/CDに対する理解を深めるお手伝いができれば幸いです。 前回の記事:「CircleCIで始めるCI/CD導入の基のキ」 対象読者 前回の記事を読んでCI/CDに興味を持たれた方 CI/CDについて学びたい方 CircleCIのワークフローを使ってみたい方 新機能Orbsについて詳しく知りたい方 必要な環境/知識 GitHubのアカウント ソフトウェアのテストについての一般的知識 アジャイル開発についての一般知識 筆者について CircleCIの元開発者で、現在はCircleCI初の海外支社であるCircleCI Japanでさまざまな活動を行っています。 CI/CDパイプライン CircleCIでワークフローと呼ばれる機能は、実は似たような名前で他のCI/CDサービスやツールにも用意されています。

    モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理
    komlow
    komlow 2019/01/16
  • 小規模な受託開発におけるAWSインフラ環境~工数削減のポイントとセキュリティ (1/3):CodeZine(コードジン)

    連載では、比較的「小規模」な「受託」開発を実施する際のAWS活用の勘所を、実際の開発現場での経験を元に紹介します。大規模な開発では当てはまらない部分もあると思いますが、可能な限りインフラ関連の工数を少なくし、効率的に開発を実施するために、最低限抑えておく実務上役立つ点について、解説します。記事では、小規模なフルスクラッチの業務システムをビジネスとし、開発を実施する際に参考となるAWSのアーキテクチャや工数のかかる工程、留意すべきセキュリティに関するポイントを紹介します。 はじめに 比較的小規模なフルスクラッチのシステム開発(1〜20人月程度)を受託するビジネスとする場合、AWS上に「多層アプリケーション(Web層、AP層、DB層)に即したインフラ環境を構築する」ことが多いと思います。 多層アプリケーションの構成例 このような構成をシステム毎、顧客毎に構築することになりますが、AWSで構

    小規模な受託開発におけるAWSインフラ環境~工数削減のポイントとセキュリティ (1/3):CodeZine(コードジン)
    komlow
    komlow 2018/11/29
  • 優れたアーキテクチャを生むAWSベストプラクティス。運用者が守るべき5つの柱 (1/2):CodeZine(コードジン)

    AWS Well-Architected Frameworkとは、AWSにおけるシステム設計・運用の大局的な考え方やベストプラクティスが紹介されているフレームワークだ。AWSのソリューションアーキテクトや利用者が、数多くの経験から導き出したノウハウの集大成である。セッションでは、AWS Well-Architected Frameworkの5つの柱である「セキュリティ」「信頼性」「パフォーマンス」「コスト最適化」「運用性」に沿った形で、クラスメソッドの菊池修治氏がAWSのベストプラクティスを紹介した。 講演資料:1000件以上の活用を見てわかった絶対に失敗しないAWSベストプラクティス クラスメソッド株式会社 AWSシニアソリューションアーキテクト 菊池修治氏 【セキュリティ】~既存のツールを有効に活用する~ まずは、1つ目の柱であるセキュリティについて。とりわけ、「AWSアカウントをど

    優れたアーキテクチャを生むAWSベストプラクティス。運用者が守るべき5つの柱 (1/2):CodeZine(コードジン)
    komlow
    komlow 2018/11/08
  • Kubernetesは銀の弾丸ではない――エンジニアが生き残るために必要な技術とは【デブサミ2018 関西】 (1/2):CodeZine(コードジン)

    今後、アプリケーションの開発企業および開発者は二極化していく。価値あるエンジニアとして生き残るためには、学び続ける姿勢が大切だ。技術者にとって最も重要なのは、「このシステムにはKubernetesが合う」「このシステムはKubernetesでなくてもいい」といった技術の見極め、つまり適材適所に技術を選択する力だ。ではどうやってそれらを選択していけばいいのか。また、マイクロサービス化に取り組む上で考えるべきことは何か。さらにKubernetes導入におけるつまずきがちなポイントについて、日マイクロソフト シニアクラウドデベロッパーアドボケイトの寺田佳央氏が解説した。 日マイクロソフト株式会社 シニアクラウドデベロッパーアドボケイト 寺田佳央氏 問われるのは技術力。だから学び続けることが重要 「Kubernetesについて紹介しようとすると1時間では話しきれない。そこで今日は当初のアジェン

    Kubernetesは銀の弾丸ではない――エンジニアが生き残るために必要な技術とは【デブサミ2018 関西】 (1/2):CodeZine(コードジン)
  • Kubernetesで構築したWebアプリケーションに、Blue-Green Deployment相当の機能と、バージョンごとにURLを生成する機能を追加

    はじめに 記事の構成図です。 記事の構成図 以下の項目について解説していきます。 アプリケーションのデプロイ Production用とDevelop用のServiceをデプロイ Nginx(Deplyment)のデプロイ Ingressの設定 動作確認 第1回や第2回に比べると構築しなけらばならないことが多く大変ですが、アプリケーションを運用していく上でこのような機能があるとないとでは開発や運用の効率が変わってくるので頑張りましょう! 対象読者 Linuxの基的なコマンドが使える方 Dockerの使用経験がある方 Kubernetesを使ったことがない技術者 検証環境 Kubernetes側の環境 Google Container Engine 1.7.6 Kubernetes 1.7.6 クライアントの環境 macOS Sierra 10.12.6 kubectl 1.7.6 アプ

    Kubernetesで構築したWebアプリケーションに、Blue-Green Deployment相当の機能と、バージョンごとにURLを生成する機能を追加
  • SREって何? これまでのシステム運用やDevOpsとは何が違うの?

    近年、何かと話題に上がるSRE(Site Reliability Engineering)。しかし、「自分たちのチーム・組織に関係する話なのかよく分からない」「具体的に何をやればいいの?」といった感想を持つ方は多いのではないでしょうか。連載では、そういった方に向けて、自社でSREチームの立ち上げを行った筆者が、SREの考え方 をご紹介します。また、連載の後半では、SREをいち早く取り入れた企業に導入背景などもインタビュー形式でお伝えする予定です。第一回となる記事では、「SREって何?」「SREをやりたいが、どこからはじめればよいのか分からない」 方に向けて、SREの概観をご紹介します。 はじめに はじめまして。株式会社スタディスト SREチームの@katsuhisa__です。 スタディストでは、システム運用に関わる全般的な業務にはじまり、モニタリングやログ収集基盤の整備などを担当してい

    SREって何? これまでのシステム運用やDevOpsとは何が違うの?
    komlow
    komlow 2018/09/01
  • x86系CPUのネイティブコードを解析する

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

    x86系CPUのネイティブコードを解析する
    komlow
    komlow 2018/07/24
  • 現役大学生が語る「FPGA」の魅力&Googleインターン事情――東京大学コンピュータサークル所属 高橋祐花さん

    CodeZineがお届けするPodcast「かまぷとゆうこのデベロッパーズ☆ラジオ」略して「デブ☆ラジ」。この番組では、かまたひろこと、CodeZine編集部の近藤佑子が、ソフトウェアデベロッパーのみなさんに向けて、IT技術に関するちょっといい話をお送りします。音声に加えて、ダイジェスト版の記事もお届け。第8回のゲストは、東京大学のコンピュータサークル、TSG所属の高橋祐花さん。 近藤佑子(以下、ゆうこ) リスナーの皆さま、長らくお待たせしてすみませんでした。 かまたひろこ(以下、かまぷ) すみませんでした。ゆうこりーん! ゆうこ ……。これはですね、私がTechGIRLという勉強会で毎回自分の愛称を覚えてもらうためにこういう呼びかけをしているんですが、今日はちょっと遠慮しとこうかと。 かまぷ これが好きなんですよ、やりたかったなぁ。今回は恥ずかしいということで残念(笑)。 ゆうこ はい。

    現役大学生が語る「FPGA」の魅力&Googleインターン事情――東京大学コンピュータサークル所属 高橋祐花さん
    komlow
    komlow 2018/02/06
  • クラウド・ネイティブのお作法(1)「非同期処理」~24時間365日ダウンタイムがゼロのシステムのために必要なこと

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

    クラウド・ネイティブのお作法(1)「非同期処理」~24時間365日ダウンタイムがゼロのシステムのために必要なこと
    komlow
    komlow 2017/10/13
  • オペレーションとルールを統一化し、Kubernetesを使った変化に強いインフラを構築

    Wantedlyの開発現場で活用されている技術や手法は、日々進化するプロダクトに合わせて柔軟に変化しています。この連載では実際の開発で取り組んでいる技術や手法を、実務に使える形でお伝えしていきます。前回はWantedlyのインフラチームが大切にしている「変化に強いインフラ」づくりについて解説しました。第2回となる今回は、架空のサービスをサンプルとして、Kubernetesの活用方法を具体的に紹介します。 はじめに 連載は、WANTEDLY TECH BOOK 2から抜粋し、再編集したものになります。第1回に引き続き、第2回もインフラチームの坂部(@koudaiii)が担当します。前回は「変化に強いインフラはWantedlyにとってなぜ必要か」「これまでどのように変化に強いインフラに取り組んできたのか」といったことを中心に紹介しました。今回は、架空のサービスをサンプルとして、Kuberne

    オペレーションとルールを統一化し、Kubernetesを使った変化に強いインフラを構築
  • GCPとAWSのマルチクラウドで構築する、大規模解析サービスのシステム全体像

    大規模解析サービスの構成要素 大規模解析サービスは一般的に、以下の要素から構成されます。 ログ情報等のデータの送信 データの受信 データの保存 保存したデータの解析 解析データの閲覧などができる管理画面の提供 KARTEはユーザのWebアクセスデータをリアルタイムに解析し、アクションまでつなげることができるサービスであり、先ほど説明した5要素は、以下の5種類のコンポーネントによって実現しています。 trackerコンポーネント:エンドユーザで実行されるtracker[1]をエンドユーザに配布するためのコンポーネント trackコンポーネント:エンドユーザからデータを受信するコンポーネント。とくにKARTEでは解析データに基づいてエンドユーザへのアクションを返す役割も持つ dbコンポーネント:解析データなどのさまざまなデータを格納するコンポーネント analyzeコンポーネント:エンドユーザ

    GCPとAWSのマルチクラウドで構築する、大規模解析サービスのシステム全体像
    komlow
    komlow 2017/09/21
  • Kubernetesを使った変化に強いインフラ――Wantedlyのインフラチームが大切にしていること

    Wantedlyの開発現場で活用されている技術や手法は、日々進化するプロダクトに合わせて柔軟に変化しています。この連載では実際の開発で取り組んでいる技術や手法を、実務に使える形でお伝えしていきます。第1回はWantedlyのインフラチームが大切にしている「変化に強いインフラ」づくりについて、Kubernetesの活用方法を交えて紹介します。 はじめに 連載は、WANTEDLY TECH BOOK 2を抜粋し、再編集したものになります。第1回と第2回の担当は、Wantedly インフラチームの坂部(@koudaiii)です。第1回である記事では「変化に強いインフラはWantedlyにとってなぜ必要か」「これまでどのように変化に強いインフラに取り組んできたのか」といったことを中心にご紹介します。第2回では、例として架空のサービスを実際に作る上での手順を紹介する予定です。 変化に強いインフラ

    Kubernetesを使った変化に強いインフラ――Wantedlyのインフラチームが大切にしていること
  • Elasticsearchを用いた日本語検索システムの理論と設定

    連載は、対話インターフェースを利用して新しい形の検索システムを体験してもらうことを目的としています。今回は日語検索システムでよく用いられるElasticsearchを紹介します。Elasticsearchは大規模なデータに対しても適用可能な検索機能を提供している全文検索エンジンです。特徴としてスケーラブル、検索速度の速さ、検索結果の分析のしやすさ、開発者にとって使いやすいRESTfulなAPIが挙げられます。今回の記事はElasticsearchを用いた日語検索システムの仕組みから設定の部分までを記述し、次回の記事で実際に動作させてもらいます。 連載の内容 連載で紹介予定の内容は次のとおりです。 Step1:Elasticsearchを用いた日語検索システム 対話型の検索システムを作成するためのStep1として、Elasticsearchを用いた日語検索システムの構築方法を紹

    Elasticsearchを用いた日本語検索システムの理論と設定
  • AWSネットワークの論理的な側面 ~ AWSのバックボーンネットワークに関するDeepな話(2)

    こんにちは。アマゾンウェブサービス(AWS)サポートの有賀と申します。好きなサービスはAmazon Virtual Private Cloud(VPC)です。これからAWSサポートの各メンバーがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしていきます。筆者の担当する稿では、AWSの「ネットワーク」について見ていきたいと思います。今回は、ネットワークの「論理設計」について解説します。 稿でお伝えするのは下記の第2回の内容です。全3回に渡って解説していきます。 AWSのネットワークの物理的な側面 ⇒ 第1回 AWSのネットワークの論理的な側面 ⇒ 第2回 AWSのネットワークにおけるベストプラクティス ⇒ 第3回 AWSのネットワークにおいて過去に発生した問題の事例 ⇒ 第3回 必ずしもAWSの使い方といった内容ではないので、今日すぐに使える知識にはならないかもしれませ

    AWSネットワークの論理的な側面 ~ AWSのバックボーンネットワークに関するDeepな話(2)
    komlow
    komlow 2016/11/29
  • Swiftから透けて見えるAppleのコンパイラ技術

    連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった

    Swiftから透けて見えるAppleのコンパイラ技術
  • 例外処理とロギングのベストプラクティス

    はじめに システム開発において例外処理は重要なポイントですが、あまりに軽視されているのが現状ではないでしょうか。稿では、これまでの著者の開発経験の中から培った汎用的な手法を説明します。 この記事は「美しい設計」ではなく「現実的な設計」、現場に適用できる「できるだけ手間の少なく、汎用的な設計」を目指しています。 対象読者 J2EE開発者・アーキテクト。特に業務システムの開発現場の方が対象です。 必要な環境 概念の説明が中心ですので、開発環境は必要ありません。 エラーの分類 実装時に考慮すべきエラーは2つに大別できます。 想定内でトランザクションの実行開始前にチェックするエラー。主に入力エラー。 異常な状態としてトランザクションの続行が不可能なエラー(例外)。 前者については、例外を使うべきではありません。入力チェックエラーを表現するには、ステータスコードを使うべきです。理由は次のとおりです

    例外処理とロギングのベストプラクティス
  • AngularJSのサービス開発とユニットテスト ~テストの流れを把握して保守性の高いコードにしよう

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

    AngularJSのサービス開発とユニットテスト ~テストの流れを把握して保守性の高いコードにしよう
  • プログラミング入門書『Eloquent JavaScript, 2nd Edition』のオンライン版が無料で公開

    JavaScriptによるモダンなプログラミング入門書『Eloquent JavaScript, 2nd Edition』のオンライン版がリリースされたことを、作者のMarijn Haverbeke氏が自身のTwitterアカウントで7月30日(現地時間)に明かした。「Creative Commons 表示 - 非営利 3.0 非移植(CC BY-NC 3.0)」のライセンスのもと、無料で閲覧することができる。文中のソースコードはMITライセンス。 『Eloquent JavaScript』は、JavaScriptおよびプログラミング全般に関する入門書で、読者をサンプルコード漬けにし、冒頭から実際に手を動かして試させることで、いち早く読者が一人立ちできるように工夫されている。 『Eloquent JavaScript』の第一版は2007年に公開。第二版のコンテンツは「Language」「B

    プログラミング入門書『Eloquent JavaScript, 2nd Edition』のオンライン版が無料で公開