タグ

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

  • サービス間通信のための新技術「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」入門 | さくらのナレッジ
  • 知ってトクするDevToolsの使い方(前編) | さくらのナレッジ

    稿は、2021年春の某日にオンラインで開催した、さくらインターネット社内向け勉強会の発表をもとに書き起こした記事です。 はじめに 「知って得するDevToolsの使い方」です。ブラウザの機能にDevToolsってあるんですけど、それの便利な使い方を紹介していきたいなと思います。この資料では、主にChromeのDevToolsを使って説明してるんですけど、EdgeであったりSafariであったりFirefoxであったり、大体同じような機能が付いているので、どんなブラウザでも使える知識と思います。 DevToolsとは まず、DevToolsは何かっていうと、他に「Developer Tools」とか「開発者ツール」って呼ぶこともあるんですけど、この資料では、DevToolsの表記で統一して説明していきます。 DevToolsは、フロントエンドの「3種の神器」って呼ばれているものの1つで、ブ

    知ってトクするDevToolsの使い方(前編) | さくらのナレッジ
  • いまさら聞けないNode.js | さくらのナレッジ

    こんにちは!小田島です。さくらのナレッジで初めて記事を書きます。よろしくお願いします! 先日5月13日、Deno 1.0がリリースされました。Denoについては後日記事を書きますが、今回はDenoが生まれるきっかけとなったNode.jsについて、いまさら聞けないことを色々書いていきます。 対象者 記事は、Node.jsについて以下のような疑問を持っている人が対象です。 Node.jsって何? Node.jsを使うと何がうれしいの? Node.jsを使うときに何を注意すればいいの? なお、記事はNode.jsのイメージを掴んでもらうのが目的であり、ハンズオンではありません。そのためコードは1行も出てきませんのでご了承ください。 そもそもNode.jsとは? 超ざっくり説明すると、JavaScriptの実行環境です。 それまではJavaScriptといえばウェブブラウザー上で動かすのが普通

    いまさら聞けないNode.js | さくらのナレッジ
  • Vim scriptでプラグインを作ろう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(8) | さくらのナレッジ

    比較演算子に「#」を付けずに使用した場合は、ignorecaseの設定次第で動きが変わります。ignorecaseは、大文字小文字の区別を無視するオプションです。デフォルトでは無効になっているので、大文字小文字を区別して比較します。ignorecaseを有効にするには :set ignorecase を設定します。 ユーザの設定によって比較処理の動きが変わらないように、基的に「#」で大文字小文字を区別するようにしておくと良いです。 バッファについて バッファはメモリ上にロードされたファイルのことです。バッファには名前と番号があり、名前はファイル名で、番号は作成された順で割り当てられます。バッファは:bwipeoutで明示的に削除するかVimを終了しない限り、メモリに残ります。 バッファの存在チェック bufexists({expr})で{expr}のバッファがあるかを確認できます。ある場

    Vim scriptでプラグインを作ろう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(8) | さくらのナレッジ
  • 現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ

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

    現代における自作OSの難しさ 〜自作OSのいまと昔 [第2回] | さくらのナレッジ
    tanakaBox
    tanakaBox 2019/10/17
  • なぜ人は自作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回] | さくらのナレッジ
    tanakaBox
    tanakaBox 2019/07/18
  • Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ

    みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近では、今回の記事の内容でもあるDocker(ドッカー)を使うこともかなり増えてきて、他にもAnsibleであったり、CIツールのJenkinsなども使って、自動化や開発環境の整備などを主に行っています。 この度、さくらのナレッジでDockerの入門記事の連載をさせていただくことになりました。よろしくお願いします。 今回、Dockerについて、Dockerでどのようなことができるのか、どんな使い方をすると良いのかを、実際に手を動かすことを中心に、6回に分けて紹介していく予定です。前提として、Linuxの基的な知識がある方を対象として書いていきます。 世の中が当たり前のようにD

  • Docker入門(第二回)~Dockerセットアップ、コンテナ起動~ | さくらのナレッジ

    こんにちは、横山です。 先日、Docker Meetup Tokyo #21 に参加してきました。 今回は、Dockerを使った開発の効率化の話や、コンテナオーケストレーションツールのひとつであるKubernetesの話がありました。 (参考:今さら人に聞けない Kubernetes とは?) 今回に限らず、Dockerを使った開発効率化の発表はされているので、ぜひ探して参考にしてみるとよいと思います。 また、Kubernetesについては、Dockerで公式採用した話も最近あり、Docker格的に使っていこうとしている人は、動向を追っておくと良いと思います。 はじめに 第一回では、Dockerとはどのようなもので、何が良いのか紹介しました。今回の第二回では、実際にDockerをインストールして、Dockerコンテナを動かし、Dockerイメージとコンテナの関係、コンテナの基操作につ

  • KVM用仮想マシンをVagrantで手軽に作る | さくらのナレッジ

    さまざまなOS環境を仮想マシン上に簡単に作成できるVagrantが近年注目を集めている。今回はこのVagrantを使って、KVM上で動作する仮想マシンの作成や実行を可能にする「vagrant-libvirt」および「vagrant-kvm」を紹介する。 Linuxサーバー上ではVagrantを使いにくい? 近年では仮想マシンを使ってソフトウェアやWebサイトの開発およびテストを行うことが増えている。最近のPCは仮想マシンを稼動させるのに十分なリソースを備えており、1台のサーバー上で複数の仮想マシンを稼動させたり、開発者のPC上で仮想マシンを稼動させることで、開発者ごとの開発/テスト環境を簡単に用意できるようになっている。 とはいえ、仮想マシンを使った場合でも、開発/テスト環境の構築はやはり手間がかかることが多い。OSや各種ソフトウェアのインストールや設定といった作業は仮想マシンごとに必要と

    KVM用仮想マシンをVagrantで手軽に作る | さくらのナレッジ
    tanakaBox
    tanakaBox 2018/02/04
    VirtualBoxをインストールしたつもりだったが、デフォルトがlibvirtだったという罠にハマった。最終的にlibvirt+KVMにするつもりだったから結果オーライ。
  • 人工知能フレームワーク入門(第1回):人工知能とTensorFlow | さくらのナレッジ

    昨今では「人工知能AI)」やそれに関連する技術が注目されている。そこで連載では人工知能に関する技術の概要や、それを利用するためのソフトウェアについて紹介する。 人工知能とは何か ここ数年、「人工知能」や「AI」という言葉がさまざまな分野で使われるようになった。人工知能関連の技術はここ数年で急速に発展しており、たとえば将棋や囲碁といった分野では、人工知能技術を使ったソフトウェアが人間のプロ棋士に勝利するレベルとなっている。また、iPhoneに搭載されて話題となった「Siri」は人間の言葉を理解してそれに対し適切なアクションを実行することができるが、これにも人工知能技術が使われている。そのほか、文字や画像の認識、文章の分析など、人工知能関連技術を使った多くの製品がすでに市場に投入されている。 しかし人工知能と言われても、それが実際にはどんなものなのか想像できる人は少ないだろう。そこで記事

    人工知能フレームワーク入門(第1回):人工知能とTensorFlow | さくらのナレッジ
  • 「ログの見かた」~初心者でもよくわかる!VPSによるWebサーバー運用講座(1) | さくらのナレッジ

    さくらのVPSを使った、初心者向けの記事「VPSによるWebサーバー構築講座」を半年前に公開しました。さくらのVPSを使ってWebサーバーを構築し、WordPressをインストールするまでの手順を解説しました。 しかし、サーバーは構築が完了したらそこで終わりではなく、稼働し続けている間はメンテナンスをしていかなければいけないし、安全に運用するにはセキュリティにも気をつかわなければなりません。 そこで、VPS構築講座の続編として「運用編」をお届けします。いったんWebサーバーとして稼働しはじめたサーバーについて、継続してサービスを続けていけるように運用のノウハウをお届けします。 運用編の連載は5回に分けて行う予定ですが、まず初回は「ログファイルの見かた」について触れたいと思います。 ログファイルについて大きく2種類のログをご紹介します。 WebサーバーApacheのログの見かた ssh関連の

    「ログの見かた」~初心者でもよくわかる!VPSによるWebサーバー運用講座(1) | さくらのナレッジ
    tanakaBox
    tanakaBox 2016/04/08
    連載記事
  • 「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) | さくらのナレッジ

    サーバーの扱いに慣れていない初心者の方を対象に、VPS(Virtual Private Server)を使ってWebサーバーを構築し、WordPressサイトを運用できるようになるまでの連載を始めます。 サーバーの構築方法については、中・上級者向けの情報は多く見つかりますが、 「初めてVPSに触れる方が、Webサイトを構築して運用できるようになるまでのノウハウ」 を体系的に解説しているサイトはあまり多くありません。 ネット上に存在している情報では断片的だったり、分からない専門用語が出てきたりして、途中であきらめてしまった方も多いのではないでしょうか? 連載では、初心者の方でも「これさえ読めばVPSを構築できる!」ように、初歩から丁寧に解説します。 「今までレンタルサーバーを使っていたけど、一歩進んでVPSに挑戦してみたい」という方のお役に立てれば幸いです。 連載は以下の構成で5回に分け

    「サーバーってなに?」~初心者でもよくわかる!VPSによるWebサーバー構築講座(1) | さくらのナレッジ
  • Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ

    今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使

    Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ
  • CoreOS + etcd + fleetによるクラスタリング事始め | さくらのナレッジ

    CoreOSはDocker用に作られたとても小さなLinuxディストリビューションです。その中で提供されている大きな3つの機能として、Docker/etcd/fleetが知られています。この3つを組み合わせるとクラスタリング構成がとても簡単に実現できるようになります。 ということでさくらのクラウドを使ってフェイルオーバーする所までをトライしてみます。 サーバを立てる 今回は3台のサーバを立てます。OSは全てCoreOSになります。サーバの追加を行う際にアーカイブ選択で CoreOS 367.1.0 (stable) #112600559854 を選択します。後、今回は管理ユーザのパスワードを入力しています(理由は後述)。複数台のサーバを使いますのでホスト名を忘れずに設定しておきます。 サーバ追加画面。アーカイブからCoreOSを選びます。 CoreOSの設定 CoreOSはとてもシンプルな

    CoreOS + etcd + fleetによるクラスタリング事始め | さくらのナレッジ
  • Packerを使ったISOイメージからの仮想マシン自動デプロイ | さくらのナレッジ

    PackerにはVirtualBoxやQEMU(KVMおよびXen)などの仮想マシンイメージを作成する機能が用意されており、仮想マシン作成を自動化できる。今回は、Packerを使ってVirtualBoxおよびQEMU(KVM)用の仮想マシンにOSをインストールしてディスクイメージを作成する例を紹介する。 Packerを使って各種仮想マシン用のディスクイメージを作る 前回記事ではPackerを使ってDocker用のイメージを作成する方法を紹介した。今回はそれに続き、別の仮想化ソフトウェア向けのイメージを作成する方法を紹介していこう。 Packerではさまざまな仮想マシンやクラウドインフラ向けのディスクイメージを作成できるが、今回はCentOS 7のインストールISOイメージを元に、VirtualBoxとQEMU(KVM)向けのディスクイメージを作成する流れを紹介する。 VirtualBox向

    Packerを使ったISOイメージからの仮想マシン自動デプロイ | さくらのナレッジ
  • Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ

    Docker向けのコンテナを公開するDocker Hubでは多数のコンテナが公開されており、これらをベースにして独自のコンテナを作成できる。しかし、新規に独自のコンテナを作成したい場合もあるだろう。今回は、新規にコンテナを作成するのに必要な作業手順を紹介する。 Dockerにおける一般的なコンテナ作成手順 Dockerではよく使われるOS環境を含むコンテナがあらかじめ用意されており、それをベースに独自のコンテナを作成できる。たとえば、『これから始める「DockerでかんたんLAMP環境 for CentOS」』記事では、既存のCentOSコンテナをベースに、独自の環境を構築する手順を紹介している。 しかし、公開されているコンテナではなく、ゼロからコンテナを構築したいという場合もある。たとえばDocker Hubで提供されている公式のCent OSのコンテナでは、ファイル容量削減のためか一部

    Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ
  • 15分で分かるLXC(Linux Containers)の仕組みと基本的な使い方 | さくらのナレッジ

    最近注目されている仮想化技術の1つにLXCLinux Containers)がある。LXCはコンテナ型仮想化技術と呼ばれるものの1つで、OS上に別の隔離された環境を構築するものだ。今回はLXCの仕組みと、基的なインストールについて紹介する。 さまざまな仮想化技術LXC 仮想化技術を使って一台のマシン上に複数の隔離された環境を構築する、というのはメインフレームの世界では古くから行われていたが、近年ではマシンの性能向上により、エントリレベルのサーバーでもこのような使われ方が実用的になっている。そういった背景の下注目されているのがLXCLinux Container)と呼ばれる仮想化技術だ。 広く使われている仮想化技術としてはXenやKVMがあるが、これらはホストOS(もしくはハイパーバイザ)上で演算によって仮想的なマシン環境を作り出し、その上でOSを実行させることで複数のOS環境の構築

    15分で分かるLXC(Linux Containers)の仕組みと基本的な使い方 | さくらのナレッジ
  • これから始める「DockerでかんたんLAMP環境 for CentOS」 | さくらのナレッジ

    昨年からImmutable Infrastructureという言葉が出始めて、サーバーを簡単に作って壊すという潮流が出始めました。また、サーバー管理を簡単にするツールとしてDockerというものが脚光を浴びており、いまどきのサーバー管理者に受け入れられてきました。 今回は、そのDockerをインストールしてLAMP環境を構築するステップを見ていきたいと思います。 Immutable Infrastructureとは? IaaS型のクラウドやVPSの台頭によって、簡単に仮想サーバーが立ち上げられる環境が整ってきました。 とはいえ、サーバーの立ち上げをするのはシステム構築時と、システム規模を大きくする時に限られ、サーバーの動作を変えたり、アプリケーションのアップデートをするときは、稼働しているサーバーの中身を修正するというのが従来のやり方でした。 しかしImmutable Infrastruc

    これから始める「DockerでかんたんLAMP環境 for CentOS」 | さくらのナレッジ
  • 柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ

    複数台のサーバーやクラウド環境を組み合わせてのサービス運用においては、ログの収集方法に工夫が必要となる。こういった場合に有用なのが、さまざまなログの収集手段を提供するfluentdだ。今回はfluentdのアーキテクチャやそのインストール/設定方法、基礎的な設定例などを紹介する。 さまざまな方法でログを収集できるfluentd 今回紹介するfluentdは、Treasure Dataが開発するログ収集管理ツールだ(図1)。オープンソースで公開されており、Linuxや各種UNIXで動作する。 図1 fluentdのWebサイト ログ収集のためのソフトウェアとしてはsyslogdやsyslog-ngなどが有名だが、fluentdがこれらと異なる点としては、以下が挙げられる。 さまざまなソースからのイベントをさまざまな媒体に出力できる fluentdの大きな特徴としては、ログの収集方法やログの記

    柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ
  • 1