タグ

ブックマーク / dev.classmethod.jp (39)

  • GWなのでRaspberry Pi 5複数台をクラスタリングしてGrafana on Kubernetesを構築する | DevelopersIO

    はじめに 世の中ではGrafana Weekということで、Raspberry Pi 5複数台をクラスタリングしてKubernetesを作成し、Grafanaを載せてみたいと思います。 というのは冗談ですが、最近趣味で安価に常駐プロセスをデプロイできるホスティング環境に悩んでいました。常駐しないなら最近はゼロコールドスタートなV8 Isolateを使ったCloudflare WorkersやDeno Deployが無料枠が大きくいい感じです。 一方常駐プロセスはHerokuの無料プランがなくなりました。AWS AppRunnerは起動時間を人間が稼働している時間のみに絞っても10$はかかります。fly.ioは、Legacy hobby planでCPU-1x 256mb VM 3つと3 GB 永続ボリュームストレージは無料で扱えます。fly.ioはCLIもよくできているので、軽い検証の場合こ

    GWなのでRaspberry Pi 5複数台をクラスタリングしてGrafana on Kubernetesを構築する | DevelopersIO
  • 突貫でおぼえるSPF、DKIM、DMARC | DevelopersIO

    しばたです。 昨年10月にGoogle(Gmail)および米国Yahoo!においてスパム対策の強化がアナウンスされました。 この件に関してつい先日まで他人事でいたのですが、実は全然他人事では済まないことが発覚し突貫で知識を仕入れています。 アナウンスに対する具体的な対応策についてはこちらのZennの記事を見れば全部わかる感じです。 最高ですね。 また、メール送信にAmazon SESを使っている場合はAWSのブログを確認すると良いでしょう。 「これらの記事を読み解けば万事解決!」という感じではあるのですが、私自身が学んだなかで予め知っておくと良さそうに思えた点がいくつかありました。 記事ではその辺を共有するのと、実際にAmazon SESの環境を作って動作確認をしたのでその結果も合わせて共有します。 はじめに覚えておくと良い基礎知識 Zennの記事でも詳細な解説がありますが、個人的に「最

    突貫でおぼえるSPF、DKIM、DMARC | DevelopersIO
    xef
    xef 2024/01/28
  • Rust製のベクトルデータベースQdrantを試してみる | DevelopersIO

    どうも!オペレーション部の西村祐二です。 ChatGPT関連の専用アプリケーションを作成しようとすると、「ベクトルデータベース」という用語が出てきます。これは私にとって、これまでまったく経験したことのない分野で理解できていない状態でした。 このままでは行き詰まってしまうという思いと、この分野に関してある程度知識を身につけておくと、今後応用がききそうだなと考えました。 そこで今回、他のベクトルデータベースと比べて機能がシンプルそうで、Rustで作られているという特徴から、Qdrantを試してみました。 Qdrantとは 公式ドキュメントから引用し翻訳したもの Qdrantは「ベクトルの類似性検索エンジンであり、追加のペイロード(つまりベクトル)を格納、検索、管理するための便利なAPIを備えた番環境で使用できるサービスを提供します。」ペイロードとは、検索を絞り込むのに役立つ追加の情報や、ユー

    Rust製のベクトルデータベースQdrantを試してみる | DevelopersIO
    xef
    xef 2023/06/10
  • OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO

    現在私は barista という OpenID Connect と OAuth2.0 に準拠したID製品の実装を行っています。 また、私の所属する事業開発部では prismatix というEC、CRMAPI 製品の開発を行っていますが、この prismatix の認可サーバーとして barista を利用しています。 barista チームの増員や、prismatix の認可についての理解を促進するため OAuth 2.0 をある程度しっかりと理解しているメンバーを増やしたかったので、勉強会を開催しました。 勉強会の内容 概要 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べるを全員で輪読 OIDC 編はこのあとやる予定 攻撃編もやりたい RFC 読んだりもしたい 参加者全員が以下を満たすことが目標 OAuth 2.0 の意図を理解

    OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO
    xef
    xef 2020/11/01
  • Raspberry Piを極限まで無駄なくバックアップする | DevelopersIO

    はじめに Raspberry PiのSDカードの取り扱う上で、複製したり、イメージとして保存しておきたいシーンは多いと思います。 しかし、大容量のSDカードが一般的になった今では、空き容量が大半を占めるベタイメージを作成することは、以下の点から現実的でありません。 イメージファイルの大半を空き容量が占め、時間およびストレージの効率が悪い 元より容量の小さいSDカードに書き込むことができない SDカードに書き込む際、空き領域にも書き込みが行われ、カードの寿命を縮めてしまう ファイルシステムが破損していても、コピー時に気づくことがない パーティションの構造とLinuxの操作を学びながら、SDカードのバックアップをしていきましょう。 背景 Raspberry PiのSDカードの論理構造を見ていきましょう。難しく考える必要はありません。大体こんな感じといったイメージを掴むだけでOKです。 まず、セ

    Raspberry Piを極限まで無駄なくバックアップする | DevelopersIO
  • 44種類のフォーマットに対応したPandocでMarkdownをHTML形式に変換する | DevelopersIO

    今回紹介するMarkdownHTMLは当然として、reStructuredText、Textile、LaTeX、何故かCSV,EPUB、docx(Word)や、pptx(PowerPoint)、Jupyter notebook、各種Wiki形式、PDFに対応しています。 魅力②「メタデータや独自フォーマットへの豊富な対応」 Pandocは、Markdownのシンタックス拡張や、ドキュメントメタデータ、テーブル、脚注、箇条書き、上付き文字、下付き文字、順序付きリストに対応しています。文書変換時に、このあたりのフォーマット情報がきちんと変換されるのは心強い。 魅力③「定期的なアップデート」 Pandoc - Releasesを見るとわかりますが、ほぼ3ヶ月に一度ほど定期的に更新されています。最新のリリースは2020年2月15日と非常にフレッシュ! 自分実はPandoc自体は3年ぐらい前からそ

    44種類のフォーマットに対応したPandocでMarkdownをHTML形式に変換する | DevelopersIO
    xef
    xef 2020/03/20
  • 「Pentestit」というLab環境で遊んでみた | DevelopersIO

    「Pentestit」とは簡単に言うとセキュリティに関する攻撃の脅威やセキュリティに関する総合的な知識・知見を攻撃側の視点に立って学習するためのLab環境(CTF環境)です。無料で遊べるとのことだったのでやってみました! はじめに こんにちは。大阪オフィスの林です。 「Pentestit」というサイトをご存じでしょうか? 「Pentestit」とは簡単に言うとセキュリティに関する攻撃の脅威やセキュリティに関する総合的な知識・知見を攻撃側の視点に立って学習するためのLab環境(CTF環境)です。無料で遊べるとのことだったのでやってみました! 注意点 記事およびLab環境で得た内容を不正に利用した場合、「不正アクセス行為禁止法違反」等の法律に抵触する可能性があります。 記事およびLab環境で得た内容を使用して起こるいかなる損害や損失に対して、一切の責任を負いません。 記事は攻撃の脅威やセ

    「Pentestit」というLab環境で遊んでみた | DevelopersIO
  • [GraphQL] TypeScript+VSCode+Apolloで最高のDXを手に入れよう | DevelopersIO

    GraphQLを利用するWebアプリケーションの開発で、TypeScript + VSCode + Apollo のスタックで開発環境を構成すると、とても最高なDX(Developer Experience)が得られたので、紹介したいと思います。 どのくらい最高かを想像しやすくするため、従来のBADなDXの例を挙げてみますと...「APIのドキュメントに誤りがあり通信に失敗する」「APIの変更がドキュメントに反映されていなくてサーバサイドのエンジニアに問い合わせる」「APIのドキュメントを見ながらAPIリクエスト/レスポンスのオブジェクトを手作りで実装する」などなど、よくある話かと思います。従来のREST APIなどでは実装とドキュメントが分離されているので、そこを埋めるためのエンジニアの作業が必要です(そこをツールで埋めようとする試みは古くからありますが)。一方で、GraphQLは実装と

    [GraphQL] TypeScript+VSCode+Apolloで最高のDXを手に入れよう | DevelopersIO
  • ブラウザのテキストエリアでNeovimを使う | DevelopersIO

    はじめに 皆さんNeovim使っていますか!! Vimキーバインドに慣れるとブラウザのテキストエリアにカーソルを入れて、iボタンを押したとき世の中の非情さに涙を流します。なので仕方なく、「Terminalに戻りVimを起動して文章書いてコピー」→「ブラウザのテキストエリアにペースト」という生産的なのかよく分からない行動をとることになります。 Firenvimを使うと、ブラウザに自環境のNeovimを起動することが出来ます。ちょっと何言ってるかわかりませんね?試してみましょう! プラグインは、2019年11月3日に開催されたVimConf 2019のJustin M. Keyes様のセッションにて紹介されたものとなります。Neovimがどういうプロジェクトなのかも含め大変勉強になりました。 インストール 公式の手順の参照を推奨します。 プラグインのインストール 私はdein.vimのtom

    ブラウザのテキストエリアでNeovimを使う | DevelopersIO
    xef
    xef 2019/11/04
  • 複数条件の組み合わせによるテストケース数爆発と戦うPairwise(ペアワイズ)法とそれを支えるツール「PICT」 | DevelopersIO

    ペアワイズ法を使うことで、効率的にテストケースを絞り込めることがわかったかと思います。 --- 2019/10/31 追記 --- どうしてテストケースを絞り込んでも大丈夫なのか?という意見がSNSやはてブのコメントで見受けられたので、フォローアップエントリを書きました。こちらも合わせてご覧ください。 ペアワイズ法は当に有効なのか?組み合わせテスト技法と上手に付き合う方法 | DevelopersIO ペアワイズ法を支えるツール「PICT」 ペアワイズ法が有効なことはわかりましたが、この組み合わせをどうやって作れば良いでしょうか?条件の数が少なければ前述のように手作業でもやれないことはありませんが、現実の問題はもっと複雑ですので、到底無理でしょう。 そこで役に立つのが、ペアワイズ法のテストケースを生成してくれるツール「PICT」です。 microsoft/pict: Pairwise I

    複数条件の組み合わせによるテストケース数爆発と戦うPairwise(ペアワイズ)法とそれを支えるツール「PICT」 | DevelopersIO
    xef
    xef 2019/10/20
  • 【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO

    「あぁ、この人たち、すっごい楽しそうにマニアックな話するなぁ」 このイベントに参加しながら、ハマコーずっとそんなことを考えてました。 Container Build Meetup #1 - connpass Docker Buildだけがテーマという、すげぇフォーカスを絞りまくった勉強会だったんですが、絞り方が絶妙だったのか、参加者の熱もアツく質疑応答も盛況だったので、そのレポートをお届けいたします。技術的にも、旬のDocker界隈の話がてんこ盛りで参考になりました。 container buildきたか…!! ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 登壇者一覧 タイトル スピーカー Better Docker Image 登壇者はおりさの(@orisano)さん。 良いDockerイメージを作るには2つのアプローチがある。 どのように速くするか どのよう

    【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO
    xef
    xef 2018/10/15
  • Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO

    Vimから外部のシェルコマンドを実行して出力結果を得たり、バッファ内のテキストの変換を行う方法を紹介しています。 はじめに こんにちは、データインテグレーション部の平野です。 私はテキストエディタにVimを使用しています。 Vimは敷居が高いと言われますが、ある程度慣れてくると普通のエディタとは明らかに異なる、Vimらしい編集方法がだんだんと身についてくるものです。 今回はVimから外部のシェルコマンドを実行してテキスト編集する手段についてご紹介します。 なお、Vimには色々なプラグインが公開されておりますが、ここで紹介する方法はあくまでもVimのオリジナル機能ですので、その場ですぐ試すことができます。 (lsコマンド等にはPATHが通っているという前提です) カレントディレクトリのファイル一覧を取得したい Vimでテキストを編集していて、カレントディレクトリのファイル一覧を挿入したい、と

    Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO
    xef
    xef 2018/09/19
  • Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO

    Immutable Infrastructure Conference #1 : ATND 2014/03/25 Immutable Infrastructure Conference #1 #immutableinfra - Togetterまとめ 最近は最早バズワード化した感も充分ある『Immutable Infrastructure』。この長〜いフレーズを発音する際に途中発音を噛む人が後を絶たない今日この頃、皆様いかがお過ごしでしょうか。(発音に悩んでいる、何とか噛まないようにしたい!という方は以下のエントリを参考にしてみる事をお勧めします) [小ネタ]噛まずにImmutable Infrastructureと言うために | Developers.IO さて、題です。こちらの『Immutable Infrastructure Conference #1』、発表と同時に参加応募者が殺

    Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO
    xef
    xef 2014/03/26
  • Jenkinsを使ったSphinxとS3によるドキュメントサイト構築 | DevelopersIO

    渡辺です。 開発者の間ではgithubMarkdownでドキュメントを書くのが主流となっている昨今ですが、エンドユーザ向けのドキュメントとなると出力フォーマット・版管理・クロスリファレンスなど、機能的にもう少し欲しいところです。しかし、Wordといった専用の文書作成ソフトを使うほどでもないし、表計算ソフトを使うのは論外だと思われます。 そんな要求を満たすツールはSphinxです。今回は、Sphinxを利用してドキュメントを生成し、Jenkinsによる自動ビルドでHTML形式のファイルを作成し、S3へのリリースする手順を解説してみます。Sphinxは静的ファイルを生成するため、S3やCloudFrontと相性良く利用できるソリューションです。 Sphinxとは? Sphinxは、ドキュメント生成ツールです。SphinxではPythonで採用されているreStructuredText(reS

    Jenkinsを使ったSphinxとS3によるドキュメントサイト構築 | DevelopersIO
  • GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO

    複数 Mac 間で、.vimrc や .zshrc などの設定ファイル(dotfiles)の同期って面倒くさいですよね。 dotfiles の管理には、GitHub とシェルで管理したり、Dropbox を使ったりあるようですが、 最近 homesick という gem を教えてもらい、簡単に管理することができたので、私はコレを使っています。 用意するもの GitHub のアカウント Mac *1 homesick のインストール homesick は gem install で簡単にインストールできます。 $ gem install homesick rbenv を使ってる場合は、rehash しておきましょう。 $ rbenv rehash GitHub に dotfiles リポジトリを作成 GitHub にリポジトリを作成します。 先ずは、ローカルに dotfiles ディレクトリ

    GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO
    xef
    xef 2013/11/20
  • Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を

    Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ | DevelopersIO
    xef
    xef 2013/09/05
  • ブラックボックステストとホワイトボックステスト | DevelopersIO

    テスト分類のひとつにブラックボックステストとホワイトボックステストがあります。 ブラックボックステストとは、テスト対象の内部を意識せずに外部仕様のみからテストケースを構築していく手法です。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識せず、メソッドのAPI仕様からテストケースを作成することになります。 一方、ホワイトボックステストでは、テスト対象の内部を意識し、どのような構造であるかを踏まえたテストケースを構築します。ユニットテストであれば、テスト対象となるメソッドの実装(コード)を意識し、分岐や繰り返しなどを考慮しつつテストケースを作成することになります。 さて、ユニットテストはブラックテストでしょうか? それともブラックボックステストでしょうか? 「JUnit実践入門」では次のように記述しました。 書で扱うユニットテストは、テスト対象の内部ロジックを考慮して行

    ブラックボックステストとホワイトボックステスト | DevelopersIO
  • 「ざっくりわかる DevOps ~ ビジネスよ!これがおれたちの力だ!」に参加してきた #agilesamurai #横浜道場 | DevelopersIO

    「ざっくりわかる DevOps ~ ビジネスよ!これがおれたちの力だ!」に参加してきた #agilesamurai #横浜道場 横浜道場 特別編 「ざっくりわかる DevOps ~ ビジネスよ!これがおれたちの力だ!」 - アジャイルサムライ読書会 横浜道場 | Doorkeeper 2013/07/23 #agilesamurai #横浜道場 特別編 「ざっくりわかる DevOps ~ ビジネスよ!これがおれたちの力だ!」 - Togetter 『DevOps』。こちらのキーワードも、最近IT業界で良く聞くようになって来ております。とは言うものの、中々捉えづらい部分もあったり、また実際現場に採り入れてみてはいるものの思った成果が...という方も多いのでは無いでしょうか。 そんな折、"ざっくりわかる"と題して長沢 智治さんによるDevOps入門的位置付けとも言えるような講演が『アジャイル

    「ざっくりわかる DevOps ~ ビジネスよ!これがおれたちの力だ!」に参加してきた #agilesamurai #横浜道場 | DevelopersIO
    xef
    xef 2013/07/24
  • コピペで始めるSLF4J & Logback | DevelopersIO

    SLF4J & Logback JavaLoggerといえばlog4jで十分なのでlog4jを使ってる場合も多いと思います。 ログの出力性能は最終的にはディスクの速度で決まり、ログ出力の要件は案件が変わってもそれほど変化することもないのでlog4jの定義ファイルもコピペして再利用すればいいですし、新たなLoggerを使うのは手間でしかありません。 今回紹介するSLF4J & Logbackは既存のソースコードに手を入れること無く、しかも他のLoggingライブラリのログ出力も統合できます。 SLF4J SLF4Jはロギング実装を持たず、出力先毎のライブラリを入れ替えることで色々なLoggingライブラリに対応しているFacadeです。 SLF4Jには標準でplaceholderを使えるAPIもあるのでlog4jなどでよく書いてたlog出力前に不要な文字列結合を避けるためのif文は必要なく

    コピペで始めるSLF4J & Logback | DevelopersIO
  • ChefでS3からファイルを取得する | DevelopersIO

    こんにちは、植木和樹です。ここ最近ChefとCloudFormation漬けの毎日をすごしています。 さてChefを使ってサーバ環境を構築・保守するにあたって様々なファイルをあつかっていることと思いますが、ファイルの置き場所としてS3が使えたらいろいろ便利ですよね。cookbookと一緒のリポジトリで管理するのがふさわしくない設定ファイルや、サイズが大きくてcookbookに入れたくないオレオレRPMファイルなんかをS3に置いておいてchefレシピから扱えたら・・・今日はそんな課題に取り組んでみたいと思います。 s3_fileリソース 検索サイトで"chef s3"で検索するとs3_fileという、chefからS3を扱うためのライブラリを配布されている方がいました。 https://gist.github.com/peplin/470321 さらにこのページのコメント欄を読むと、AWS S

    xef
    xef 2013/06/26