タグ

ブックマーク / knowledge.sakura.ad.jp (6)

  • サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ

    たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated

    サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ
  • 現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ

    前回の記事では、自作OSとは何か、そしてこれまでの自作OSの歴史を紹介しました。しかし、近年になって自作OSを取り巻く状況は大きく変化してきています。そこで今回は、現代における自作OSでは、これまでと比べてどのような点が変化してきたのか、どのような難しい点があるのかについて紹介し、さらにそれらに対する解決策を、筆者の経験をもとに提案してゆきます。 自作OSをとりまく環境の変化 川合秀実氏著「30日でできる!OS自作入門」が出版された2006年頃と比べて、コンピュータをとりまく環境は大きく変化してきました。その変化には、CPUのコア数やビット幅からファームウェアの変遷、そしてデバイスの進化も含まれています。まず最初に、CPUのコア数について着目してみましょう。 CPUコア数の増加 上記の図は、1999年から2019年までにIntelから発売されたCPUのコア数の変化を示したグラフです。ご覧の

    現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ
    anatofuz
    anatofuz 2019/10/15
    いい話...
  • なぜ人は自作OSをするのか?自作OSとは何か? 〜自作OSのいまと昔 [第1回] | さくらのナレッジ

    みなさん、自作OSという言葉をご存知でしょうか? 自作PCという言葉には馴染みがあっても、自作OSという言葉は初めて聞いたという方も多くいらっしゃると思います。連載では、そもそも自作OSとは何か、という基的なところから、自作OSのこれまでの歴史、現代のコンピューターにおける自作OSの難しさ、そして自作OSの将来的な可能性について、筆者の実体験を踏まえながらご紹介したいと思います。 身近にあるOSの例 自作OSというのは、OS, つまりオペレーティングシステムを自分の手でつくりあげることを指します。といっても、そもそもOSとは何か知らない方も多くいらっしゃると思いますので、最初はそもそもOSとは一体何なのか見ていきましょう。 さて、みなさんの知っているOSにはどんなものがあるでしょうか?下記の図は、2019年5月の、日国内におけるOSのシェアを示したグラフです。 最も多く使われているO

    なぜ人は自作OSをするのか?自作OSとは何か? 〜自作OSのいまと昔 [第1回] | さくらのナレッジ
    anatofuz
    anatofuz 2019/07/18
  • Clojure、Go、Unity……ハッカーズチャンプルー2018 #hcmpl はとっても「ちゃんぷるー」だった! | さくらのナレッジ

    社員3名の会社で自社サービスのデザインをおこなっている赤塚さん。社名にもなっているesaとは、『「情報を育てる」という視点で作られた、Markdownで書ける情報共有サービス』とのことです。自分たちのサービスをデザインすることをテーマに、esaのデザインプロセスについてのセッションでした。 業務で使われることもあるサービスでありながら、業務っぽさを感じないこと・使ってて楽しいことや、競合サービスとは一線を画していながらも、新しすぎずなじみやすいUIにするなど、様々な要素を考慮してデザインされているとのことでした。 そんなesaにはメインカラーが設定されていますが、利用上の要件に合致する色を、いろいろな色から消去法で選んでいったとのことでした。 また、メインカラーが決まってもそれで終わりではなく、明度をどうするかというところまで、調整をしていったとのことでした。 自分たちのプロダクトを作るこ

    Clojure、Go、Unity……ハッカーズチャンプルー2018 #hcmpl はとっても「ちゃんぷるー」だった! | さくらのナレッジ
  • 導入しやすく軽量な構成管理ツール「Itamae」を使ってみよう | さくらのナレッジ

    たとえば次のレシピは、「taro」というユーザーおよびグループを作成するものだ。 group "taro" do gid 1000 action :create end user "taro" do home "/home/taro" password '$6$OmC3KootOURrqOaP$63rwQ2bSE8op8wXa.ZWzgxm/iGvePTzEL5lOntmkPyYh5Qwh4lWs2DtyoEHcvsbYV5Q6a2ezzrZueb2ydrkhz0' shell "/bin/bash" uid 1000 gid "taro" create_home true action :create end これは、サーバー設定ツール「Chef」の概要と基礎的な使い方記事内の「ユーザーの管理を行うRecipeを作成する」で紹介したレシピファイルとほぼ同じものになっている。Chefの場合

    導入しやすく軽量な構成管理ツール「Itamae」を使ってみよう | さくらのナレッジ
  • GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ

    開発の現場ではビルドやテストを自動化して継続的に実行していく「継続的インテグレーション」(CI)が近年普及しつつある。CIを支援するためのツールはいくつかあるが、今回はGitHubと連動し、指定したリポジトリ上にあるコードを自動的に取得してビルドやテストを実行できるサービス「Travis CI」を紹介する。 Travis CIで手軽に継続的インテグレーションを導入 「継続的インテグレーション(CI)」とは、ソフトウェア開発過程において頻繁にテストを行うことで問題を早期に発見し、品質の向上を図る開発手法である。しかし、テストを毎回手動で行うのには手間がかかる。そこで特定のタイミングで自動的にテストを実行し、テスト完了後にその結果を通知する「CIツール」などが利用される。 CIツールとしてよく知られているものとして「Jenkins」などがあるが、多くのツールでは独自にテストのための環境を構築し

    GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ
  • 1