タグ

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

  • オブジェクトストレージ開発におけるDDD (ドメイン駆動設計) | さくらのナレッジ

    はじめに オブジェクトストレージというサービスの開発においてDDD(ドメイン駆動設計)をやってみたこと、実践してみたことについてお話ししていきたいと思います。 今日ご説明したいものとしては大きく3つあって、まず1つがDDDの基礎ですね。皆さんにDDDの目的とかメリットとか、そこら辺の知識を共通認識として持ちたいなと思っています。その後で、オブジェクトストレージにおいてどんなことをやって、どんなふうにDDDを進めていったのかを説明します。最後にまとめという流れで進めていきたいと思います。 DDDのよくある誤解 いきなりなんですが、皆さんはDDDとかドメイン駆動設計という言葉をインターネットで検索して、こんな書き込みを見たことはありませんか? 「エンジニアはドメインエキスパートの通訳者だ」とか「レイヤー構造を持ち込めばDDDになるんだよ」とか「DDDの構成要素をすべて利用しなければいけないんだ

    オブジェクトストレージ開発におけるDDD (ドメイン駆動設計) | さくらのナレッジ
  • 詳説!ノーコードでつくる生産管理アプリ | さくらのナレッジ

    こんにちは! ユニフィニティーの曽良です。 DXの必要性が叫ばれ業務基盤の移行が進む中、いわゆる第三のプラットフォーム(モバイル、クラウド、ソーシャル、ビッグデータ)上のアプリを作成できる、さまざまなノーコードツールが誕生しています。 今日は、ノーコードを活用して、モバイルのアプリを開発する際の具体的な手順やポイントなどを詳しくご紹介したいと思います。 紙やエクセルでの業務は入力漏れやミスが多い、情報のリアルタイム性がない、分析が難しいといったお悩みはあるものの、アプリ開発となるとハードルが高いとお感じの方は必見です! ぜひご覧ください! サンプルの業務シナリオとして、生産管理業務を想定します。例えば、以下のような生産台帳があったとします。 この生産台帳とは、製品を製造し、取引先に出荷するまでの工程を管理するため、エクセルで作っている帳票です。 このファイルをPCで開いてエクセルで編集した

    詳説!ノーコードでつくる生産管理アプリ | さくらのナレッジ
  • 社外からMySQLのデータにアクセスできるスマホアプリをノーコードで簡単に作ってみる(1) | さくらのナレッジ

    社内の様々なデータを集約・管理するためにデータベースを導入している企業様は多いと思いますが、現場の人が直接操作できるレベルのUI(ユーザーインターフェイス)まで用意するのはなかなか大変ですよね? とはいえ気の利いたUIがないと、せっかく作ったシステムが利用されなかったり、データの登録が作業化してかえって業務の効率が悪くなったりしてしまいます。 そんなとき、今流行りの「ノーコード」を検討しましょう。ノーコードなら、現場の人にとっても大変親しみやすい便利なアプリが1時間程度でサクッと作れてしまうので、大変おススメです! 今回は、MySQLで管理している商品の在庫データに営業先からアクセスして、オーダー処理を行うというシナリオでご紹介します。 ノーコードとは 「ノーコード」とは、その名の通りコードを書かなくてもアプリケーションが作れるツールを指します。 ノーコードの元祖はおそらくエクセルではない

    社外からMySQLのデータにアクセスできるスマホアプリをノーコードで簡単に作ってみる(1) | さくらのナレッジ
  • 今すぐ使える分散DB​「エンハンスドデータベース(TiDB)」のご紹介​ | さくらのナレッジ

    はじめに この記事では、7月にリリースした、さくらのクラウドで使える機能の1つである「エンハンスドデータベース(TiDB)」というサービスについて紹介します。サービスの紹介に加えて、その裏で使っているTiDBという分散データベースの技術についても簡単に触れようかなと思っています。 分散データベース / NewSQLについて NewSQLとは さて、皆さんは「分散データベース」とか、あるいは「NewSQL」とか、そういった単語を耳にすることがあるでしょうか?ということでまずはこのお話をしたいと思います。 NewSQLと呼ばれているものはどういったものかといいますと、SQLをインターフェースとするという特徴を持っていて、データベース(例えばMySQLやPostgreSQLなど)と同じように強い整合性を持ち、トランザクションをサポートしていて、かつ分散データベース(分散型のリレーショナルデータベ

    今すぐ使える分散DB​「エンハンスドデータベース(TiDB)」のご紹介​ | さくらのナレッジ
    yamashiro0110
    yamashiro0110 2021/09/21
    newsql
  • Goofysでさくらのオブジェクトストレージのバケットをファイルシステムとしてマウントしてみよう | さくらのナレッジ

    はじめに 2021年4月にリリースしたさくらの「オブジェクトストレージ」は、ファイル操作手続きにAmazon S3プロトコルを採用しています。S3互換APIが搭載されているため、サポート対象外とはなりますが、S3に対応しているツールによる操作が可能です。 今回は、S3バケットをファイルシステムとしてマウントできる「Goofys」を利用して、「オブジェクトストレージ」内のバケットをマウントし、ファイル操作を行ってみました。 注意事項 さくらのクラウドのマニュアルにも記載していますが、さくらインターネットのオブジェクトストレージでは、サードパーティー製のツールを使用した場合の操作についてはサポート対象外です。利用の際はユーザの責任にて操作を行ってください。 参考ページ Goofys GitHubと、以下ページを参考にさせていただきました。 GitHub - goofys Goofysを使ってA

    Goofysでさくらのオブジェクトストレージのバケットをファイルシステムとしてマウントしてみよう | さくらのナレッジ
  • さくらのゲーミングVPS【第2回】VALHEIMにMODを導入してみる(ソロプレイ/マルチサーバー両対応) | さくらのナレッジ

    ゲームにおける「MOD」という概念をご存知でしょうか? 日ではマイナーですが海外では有志のファンがゲームに追加要素を付与する非公式拡張コンポーネントを作成・配布する文化があり、 「MOD」と呼称されています。 MODを導入していない状態を指す言葉として「バニラ」という用語が存在するくらい一般化しており、コミュニティサイトで配布されているMODを導入することでストレスフリーなプレイをサポートしたり、ゲームをより面白く遊ぶことができます。 そこで今回はゲーミングVPS第2回記事として前回紹介した「Valheim」におけるMOD導入について紹介いたします。 MODは英語文化に触れる必要がある点で中級者・上級者向けの遊び方ですが、初心者にも分かるよう分かり易く記述いたします。 今回はクライアントPCにはWindows10を、サーバーには前回作成したUbuntu 20.04 & LinuxGSM

    さくらのゲーミングVPS【第2回】VALHEIMにMODを導入してみる(ソロプレイ/マルチサーバー両対応) | さくらのナレッジ
  • Docker Compose入門 (3) ~ネットワークの理解を深める~ | さくらのナレッジ

    前回(第2回)は、Apache httpdのCompose環境を例に、シンプルな開発環境の構築方法を学びました。今回取り上げるのは、Dockerに対応したアプリケーションを考える上で欠かせない、コンテナ間のDocker内部ネットワークと名前解決についてです。 名前空間(namespace)の分離とコンテナ間通信 通常のLinuxホスト上では、複数のプロセスがポートを重複して開くことはできません。たとえば、ApacheとNginxはデフォルトでTCPポート80番を使用しますが、それぞれが同じTCPポート80番を同時に使用できません。 一方で、複数のプロセスをコンテナとして動かせば、お互いの動作には何ら影響がありません。コンテナとして実行すると、PIDなどの名前空間が隔離(isolate)され、お互いのプロセスが見えない状態で動作するからです。それだけでなく、コンテナごとにネットワークも隔離さ

    Docker Compose入門 (3) ~ネットワークの理解を深める~ | さくらのナレッジ
  • 静的サイトジェネレータ「Hugo」と技術文書公開向けテーマ「Docsy」でOSSサイトを作る | さくらのナレッジ

    最近ではWebサイトを構築する際にWordPressなどのCMS(コンテンツ管理システム)を利用することが多いが、今日でも静的なHTMLファイルを使ったサイト構築には多くのメリットがある。今回は、こうしたHTMLファイルベースのサイト構築を支援するHTMLファイル生成ツール「Hugo」を紹介する。 静的ファイルでサイトを作るための支援ツール「Hugo」 コンテンツの作成や編集の容易さから、昨今ではWebサイトを構築する際にCMSを利用する例が多い。ただ、CMSを使用するにはCMS自体のインストールや設定、データベースの準備などが必要であるため、更新頻度の低いサイトやページ数の少ないサイトでは静的なHTMLファイルを使って構築したほうがコストが低くなる場合がある。 とはいえ、HTMLファイルをいちいち手動で作成するのは楽ではない。そのため、HTMLファイルを半自動生成するようなツールが数多く

    静的サイトジェネレータ「Hugo」と技術文書公開向けテーマ「Docsy」でOSSサイトを作る | さくらのナレッジ
  • ブラウザで動画編集! ffmpeg.wasmの活用方法紹介 | さくらのナレッジ

    こんにちは! テリーです。コロナのワクチンができたかも!?といううれしいニュースが話題になりましたね。自宅引きこもり生活もそろそろ終わりが見えてきたでしょうか。多くの芸能人がYouTubeにチャンネルを開設してくれたおかげで、入浴中に10分程度のお気に入りチャンネルを毎日見る習慣ができてしまいました。自分もヒカキンのようなYouTuberになって一儲けしてやろうと思い立ち、スマホで撮影してみましたが、編集の大変さでギブアップしてしまいました。オンラインで動画編集して、誰かに作業を手伝ってもらったり、アドバイスしてほしいですよね。そこで今回は、ブラウザで動画編集するのに役立つ最新技術をご紹介します。 今回紹介する技術 rnnoise-wasm ffmpeg.wasm wasmとは wasmWebAssemblyの略称または拡張子で、ワズムまたはワスムと読みます。WebAssemblyとは、

    ブラウザで動画編集! ffmpeg.wasmの活用方法紹介 | さくらのナレッジ
  • 15分で作る、Logstash+Elasticsearchによるログ収集・解析環境 | さくらのナレッジ

    たとえば、inputに「stdin」、outputに「file」というプラグインを使用すれば、標準入力からイベントを受け取り、それをファイルに出力することが可能となる。そしてLogstashが注目されている理由の1つのが、出力先として「Elasticsearch」が利用できる点だ。 検索機能に優れた分散型データベース「Elasticsearch」 Elasticsearchはオープンソースで開発されている分散型データベースシステムだ(図2)。「Elastic」という名前のため勘違いされやすいが、米Amazonが提供しているクラウドサービス「Amazon Elastic Compute Cloud(EC2)」とは無関係だ。 図2 ElasticsearchのWebサイト ElasticsearchはJavaで実装されており、またデータ検索エンジンとして「Lucene」が組み込まれているのが特

    15分で作る、Logstash+Elasticsearchによるログ収集・解析環境 | さくらのナレッジ
  • Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ

    これまでのDocker Compose入門は、Docker Compoesの紹介に始まり(第1回)、簡単なウェブサーバを起動する方法(第2回)、ネットワークの理解を深める方法(第3回)でした。今回は連載のまとめとして、ネットワークとボリュームの活用によって、1つのサーバもしくはPC上に複数のアプリケーション環境を動かす方法をみていきいましょう。 Docker Composeはプロジェクトごとにネットワークを持つ 前回はDockerのネットワークの扱いを学びました。Dockerコンテナを実行すると、そのコンテナ内のプロセスは、デフォルトで「bridge」という名称の仮想的な内部ネットワークを通して通信を行います。またホスト上のブリッジ(仮想的なネットワーク・スイッチ)を経由して、Dockerが作成する他の内部ネットワークや、ホスト側のインターフェースを通して、インターネットなどの外部ネットワ

    Docker Compose入門 (4) ~ネットワークの活用とボリューム~ | さくらのナレッジ
  • オープンソースのAPIゲートウェイ「Kong」レビュー | さくらのナレッジ

    ここ1、2年でWeb APIを提供する企業はもちろん、それを活用した企業提携などが増えてきました。新しいWebサービスであればWeb APIを提供しないケースのが少ないくらいで、APIファーストと言った言葉も生まれています。 そんな中、次に問題になるのがWeb APIの管理です。既存システムの中に作り込んでいく、モノシリックな方法もあるでしょうが、今回はWeb APIを切り離して提供することでシステムの疎結合やマイクロサービス化を実現できるKongを紹介します。 Kongについて KongはオープンソースのAPIゲートウェイで、簡単にWeb APIを構築して体サイトとのプロキシとして動作します。また、認証を行ったり、CORSやSSLなどの認証、トラフィックコントロール、解析や監視といった機能をプラグインで提供します。 Kong - Open-Source API Management a

    オープンソースのAPIゲートウェイ「Kong」レビュー | さくらのナレッジ
  • GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ

    GitHubが2019年11月、新機能「GitHub Actions」を正式に公開した。GitHub上のリポジトリやイシューに対するさまざまな操作をトリガーとしてあらかじめ定義しておいた処理を実行できる機能で、今まで外部サービスとの連携が必要だった自動テストや自動ビルドなどがGitHubだけで実現できるようになる。今回はこのGitHub Actionsについて、機能の概要や基的な使い方などを紹介する。 GitHubだけでCI/CD的な機能を実現できる「GitHub Actions」 昨今では、ソフトウェア開発におけるさまざまな工程を自動化するような技術の開発や普及が進んでいる。その1つに、CI(Continuous Integration、継続的インテグレーション)やCD(Continuous Delivery、継続的デリバリー)と呼ばれるものがある。CIはソフトウェアのビルドやテストを

    GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ
  • Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ

    こんにちは!小田島です。ウェブ業界に来る前は手品業界で働いていました。最近は外出自粛で手品をやる機会がないので家でひたすら練習しています。 前回の記事「いまさら聞けないNode.js」は、「わかりやすい」「いい記事」「背景の説明が丁寧」といった好意的な反応が多くて安心しました。 「Denoについては後日記事を書きます」と前回宣言したので、今回はDenoについての入門記事を書きます。よろしくおねがいします! 対象者 今回は、こんな人が対象です。 Denoって何? Node.jsとどう違うの? 全然触ったことないけど何か簡単で応用が効くものを作ってみたい 前回と違い、ハンズオンも含まれています。ぜひ読みながら実際に動かしてみてください。 Denoとは? 前回同様に超ざっくりと説明すると、JavaScriptTypeScriptの動作環境です。作者はNode.jsと同じライアン・ダールです。D

    Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ
  • いまさら聞けない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 | さくらのナレッジ
  • 事実上の標準ツールとなっているKubernetes向けデプロイツール「Helm」入門 | さくらのナレッジ

    近年ではKubernetesクラスタ上で動作させるアプリケーションにおいて、そのデプロイに「Helm」と呼ばれるツールを使用する例が増えている。Helmは設定ファイルを元にアプリケーションのデプロイを自動実行するツールで、Kubernetesアプリケーション向けのパッケージマネージャとも言われている。今回はこのHelmの概要、使い方、設定ファイルの書き方などを紹介する。 Kubernetes上にアプリケーションをデプロイするための事実上の標準的ツールとなっている「Helm」 近年ではコンテナクラスタ技術であるKubernetesを活用したサービスの運用が増えており、Kubernetes上で動かすことを前提とするソフトウェアも登場している。一方で、Kubernetes上でのアプリケーションのデプロイについては課題も多い。 Kubernetesはサービスを複数の小規模コンポーネントに分割して実

    事実上の標準ツールとなっているKubernetes向けデプロイツール「Helm」入門 | さくらのナレッジ
  • nginx向けのWebアプリケーションファイアウォールを試す | さくらのナレッジ

    ここで「ゾーン」はリクエスト中で検査対象となった部分を示しており、「ARGS」ならURLに与えられた引数(GETリクエストの引数)を示している(詳しいドキュメント)。また、この例ではidが1000、cscore0がSQL、score0が8となっていることから、IDが「1000」という検出ルールによって「SQL」というスコアが8に設定され、それによってブロックが行われていることが分かる。 NAXSIに対しWAF Testing Frameworkによるテストを実行する さて、続いてはデフォルト設定のNAXSIに対しWAF Testing Frameworkによるテストを実行してみよう。手順としてはnginx+ModSecuriy構成の場合とほぼ同様で、nginx.confにリバースプロクシ設定(「proxy_pass http://localhost:8080/;」)を追加してnginx経由

    nginx向けのWebアプリケーションファイアウォールを試す | さくらのナレッジ
  • Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ

    オープンソースのWAF WAFとして利用できるソフトウェアは多数存在しており、その多くはセキュリティ企業などが提供する商用製品/商用サービスとなっている。しかし、数は少ないがオープンソースのWAFも存在する。オープンソースのWAFとしてよく知られているのが次の5つだ。 ModSecurityはApache HTTP ServerやNginxMicrosoft IISのモジュールとして提供されているものだ。このモジュールを組み込むことで、これらWebサーバーをWAFとして利用できるようになる(図1)。 図1 ModSecurityのWebサイト 活発な開発が続けられており、採用実績も多い。DebianやUbuntu、Red Hat Enterprise Linux(RHEL)およびCentOSといったその互換OSなどでは標準でパッケージが提供されており、導入も容易だ。検出用のルールセットは

    Apache HTTP Server向けのWebアプリケーションファイアウォール(WAF)「ModSecurity」を使ってみよう | さくらのナレッジ
  • 柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ

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

    柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ
  • さくらのエンジニアがコンテナ利用術を公開! 〜「さくらの夕べ Docker/Kubernetesナイト」レポート | さくらのナレッジ

    さくらのエンジニアがコンテナ利用術を公開! 〜「さくらの夕べ Docker/Kubernetesナイト」レポート | さくらのナレッジ