コラボスタイル Developersのフィード

https://zenn.dev/p/collabostyle

私達は『ワークスタイルの未来を切り拓く』という理念のもとワークフローの本質を追求し、新しいワークスタイルを提案するとともに、コラボスタイルが率先して時代に適したワークスタイルを常にバージョンアップし発信していきます。

フィード

記事のアイキャッチ画像
Rust 基本文法 -繰り返し処理-
コラボスタイル Developersのフィード
はじめに久しぶりに、Rust 基本文法シリーズです。今回は、どの言語でも肝となってくる繰り返し処理について一緒に学んでいければと思います。コードは Rust Playground でも試すことができますので、もし宜しければ手を動かしてみてください。https://play.rust-lang.org/ 繰り返し処理Rust における繰り返し処理の方法はいくつか挙げられますが、比較的、代表的なものにフォーカスしつつ、普段私が業務やプライベートでも利用する機会の多い方法に絞り込んで紹介できればと思います。for ~ in ~ 文iter() + for_each()...
3日前
記事のアイキャッチ画像
【Rust】cargo-llvm-covでコードカバレッジを取得する
コラボスタイル Developersのフィード
はじめにcargo-llvm-covは、Rustでテストされたコードの割合「カバレッジ」を計測するツールです。テストされるコードが増えると潜在的な不具合を発見しやすくなるため、カバレッジの高さは、コード品質の指標にすることがあります。当記事ではcargo-llvm-covでテストを実行し、カバレッジを確認する手順をご紹介します。 事前準備cargo-llvm-covとllvm-tools-previewをインストールします。% cargo install cargo-llvm-cov% rustup component add llvm-tools-preview...
4日前
記事のアイキャッチ画像
Rust Diesel を使って PostgresQL にアクセスする
コラボスタイル Developersのフィード
はじめに今回は Diesel という Rust の ORM ライブラリを触ってみたいと思います。最終的に、Rocket という web フレームワークに Http リクエストをして、Diesel からアクセスするというところまで行きたいと思います。🔻Dieselhttps://diesel.rs/🔻Rockethttps://rocket.rs/ 初期構築 プロジェクトの作成任意の Rust プロジェクトを作成しておきます。改めてになりますが、今回は既存のプロジェクトを使用します。以下の記事にて、Rust の Rocketを使ったプロジェクトを用意する手順が...
5日前
記事のアイキャッチ画像
Rust | Promptuity で対話型インターフェースを実装する
はてなブックマークアイコン 1
コラボスタイル Developersのフィード
Rust で対話型の CLI ツールを作成するRust で CLI ツールを作成時、入力しながら実行できるように実装する必要があり、対話型のインターフェースを構築する必要がありました。調べていると、promptuity というライブラリが便利そうだったので使ってみました! Promptuity = Prompt + Ingenuityhttps://github.com/wadackel/promptuityPromptuity is a library that provides interactive prompts. It is highly extensibl...
10日前
記事のアイキャッチ画像
独自ドメインでCloud StorageをHTTPSで配信する方法
コラボスタイル Developersのフィード
はじめに先日、独自ドメインでGoogle Cloud StorageをHTTPSで配信する方法を調べたので、その設定手順をまとめてみました。今回はAWSのRoute53で管理しているドメインを利用しました。 ドメインの所有権の確認まず始めにGoogle Search Consoleから利用するドメインの所有権の確認をおこないます。プロパティタイプの選択で、利用するドメイン名を入力し、続行をクリックします。「DNSレコードでのドメイン所有権の確認」のダイアログが表示されるので、レコードタイプを「TXT」にし、③のTXTレコードの値をコピーします。AWSのコンソールか...
10日前
記事のアイキャッチ画像
証明書署名要求(CSR)やPKCS#12をdockerで作る
コラボスタイル Developersのフィード
TLS サーバー証明書をベリサイン等の公的な認証機関(CA)から購入・発行してもらうには、証明書署名要求(CSR)が必要になります。年1回または数年に1回というレアイベント。特に Windows マシンだと発行するために Windows 用の openssl バイナリ一式だの実行パス設定など準備からして地味に手間が掛かる作業です。最近ではすっかり WSL2 と docker の相性も良くなって活用しているので、これを機にローカル環境ではなく、docker 内で CSR の生成手順をまとめました。 準備 コンテナ起動生成したファイルたちは手元に保管したいので、作業フォルダを ...
10日前
記事のアイキャッチ画像
Rust では"文字列"は文字列でない
コラボスタイル Developersのフィード
Rust を触り始めて最初に驚いたこと。というより、最近よく利用している TypeScript の経験をもとに勝手な先入観をもって始めたがゆえに感じた言語のギャップのお話です。 文字列とは ソースコード内にハードコードした文字列は・・・ソースコードの中に直接記述した文字列は &str、つまり str 型の参照になります。文字列だから String 型と思いきや、そうでは無いです。let s1: &str = "Hello, World!';早速、題名回収です。 文字列のデータ型は 2 種類ある同じ(ような/ように)文字列を扱うにしても、文字列を冠し...
10日前
記事のアイキャッチ画像
[PostgreSQL] あんたは一体、何 length だい?
はてなブックマークアイコン 1
コラボスタイル Developersのフィード
データベースにおける「文字数」の認識を調べてみました。最初は仕事でもよく使っている PostgreSQL で検証します。なおエンコーディング・照合は ja_JP.UTF-8 とします。 対象者データベースの設計をしている文字コードの仕組みが気になる絵文字おもしれーみたいな方には興味がある内容かなと思います。 やってみたDocker で postgres:16-alpine コンテナを起動し、接続クライアントには DBeaver を用いて実施しました。 確認した環境-- SELECT VERSION()PostgreSQL 16.2 on x86_64-p...
11日前
記事のアイキャッチ画像
TypeScriptでオブジェクトの値からユニオン型の型定義を生成する
はてなブックマークアイコン 1
コラボスタイル Developersのフィード
はじめにTypeScriptでは、オブジェクトの値からユニオン型の型定義を生成できます。この記事ではその型定義の方法と、活用方法を紹介します。このテクニックは、TypeScriptでEnum的な値を扱う手段となります。型によって守られたコードが作成出来たり、分岐の記述を手続き的から宣言的にできるため非常に有用だと思います。 オブジェクトの値からユニオン型の型定義を生成する動物のリテラル型のユニオン型を定義する例export const Animal = { dog: "DOG", cat: "CAT"} as constexport type Anima...
11日前
記事のアイキャッチ画像
Rust の web フレームワーク Rocket を使って 3分 Hello, world!
はてなブックマークアイコン 1
コラボスタイル Developersのフィード
はじめに今回は Rust の web フレームワークの Rocketを使って3分で 「Hello,world!」を出力してみたいと思います。実際に3分でできるように、細かいところは端折りつつ、とにかくスピード感持ってやっていきますよ!(カップ麺の待ち時間にサクッと手を動かせますw)🔻Rockethttps://rocket.rs/ Hello,world!Rust の default stable版をインストールしておきます。$ rustup default stableRust のプロジェクトを作成します。$ cargo new hello-rocket --...
12日前
記事のアイキャッチ画像
【Rust】モックライブラリMockitoで非同期のテストコードを書く
コラボスタイル Developersのフィード
はじめにMockitoは、RustでHTTPのモックサーバーを作るライブラリ(クレート)です。Java用の同名のモックフレームワークMockitoとは別物です。。APIなど外部サービスに接続する処理をユニットテスト実行時にもおこなうと、APIの稼働状況や通信状況など、外部要因によりテスト結果が左右されることがあります。しかし外部サービスと同様のレスポンスを定義したモックを利用することにより、テスト時には外部へリクエスト送信せず、安定してテストを実行できるようになります。当記事ではAPIデータを取得する非同期処理のテストで、Mockitoを使用した例をご紹介します。ht...
12日前
記事のアイキャッチ画像
Bun+ReactプロジェクトにStorybookを導入する
コラボスタイル Developersのフィード
はじめにBunは非常に動作が早いNode.js互換のJavaScriptランタイムになります。今回はBunを使いつつ、フロントエンド開発では絶対に欠かせない、コンポーネントカタログ生成ツールのStorybookを導入します。この記事では、Bun + Vite + Reactの環境にStorybookを導入する方法を書きます。bunx run storybook --initでは環境がセットアップが出来なかったので、手動で用意する方法を紹介します。 プロジェクトを生成以下のコマンドで新しいプロジェクトを生成します。bun create vite my-appframew...
14日前
記事のアイキャッチ画像
Amazon Bedrock Claude3 Haiku モデルを AWS SDK for Rust を使ってプロンプトを動かす
コラボスタイル Developersのフィード
はじめに巷で話題の Amazon Bedrock。3月には、Claude3 の Haiku モデルが登場し、4月にも Opus モデルが登場しています。さらに、これらのモデルは GPT 系のモデルよりも優れているとされていて、私も興味関心があります。今回は、Claude3 の Haiku モデルを AWS SDK for Rust を使って簡単に叩いてみようと思います。https://aws.amazon.com/jp/blogs/news/anthropics-claude-3-haiku-model-is-now-available-in-amazon-bedrock/...
19日前
記事のアイキャッチ画像
Animate.cssで簡単CSSアニメーション(エフェクト全部載せ)
コラボスタイル Developersのフィード
はじめに今回は、CSSアニメーションのライブラリ「Animate.css」をご紹介します。フェードイン、フェードアウト、スライド、点滅など様々なアニメーション効果を、シンプルなCSSクラスを指定するだけで簡単に適用できるライブラリです。https://animate.style/ Animate.cssの基本的な使い方 インストールCDNを使う場合は、以下のようにURLを指定します。<head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/lib...
24日前
記事のアイキャッチ画像
Rust の文字数カウントでちょっと詰まった話 - len()、chars().count -
コラボスタイル Developersのフィード
はじめにRust の文字数カウント処理で若干詰まってしまったところを紹介します。この記事を読んでいただければ、文字数チェックは容易にできることでしょう。私自身のメモ的なところが多くなりそうですが、ぜひ、読んでいただけると嬉しいです。 len() はバイト数でのカウント 半角英字&strの文字列チェックにて私は以下のように実装していました。fn main() { let sample = "aaaaaa"; // 文字数の長さを取得 let len = sample.len(); println!("文字数: {}", len...
1ヶ月前
記事のアイキャッチ画像
Rust 基本文法 - 型引数 -
コラボスタイル Developersのフィード
はじめに前回の Rust 基本文法記事の続編(?)になります。https://zenn.dev/collabostyle/articles/b8bd5bc56fd1f6Rust を使っていると、ジェネリクスは当然のことながら、型引数もテクニックのうちの一つとして覚えておきたいところです。必ずどこかで利用する場面が来ると思います。Rust という言語において型を自在に操ることができれば怖いもの無し!今回も Rust Playground にて一緒に手を動かしてみてください。https://play.rust-lang.org/ 関数の型引数型引数とは、ジェネリック型...
1ヶ月前
記事のアイキャッチ画像
Rust 基本文法 - ジェネリクス -
コラボスタイル Developersのフィード
はじめに恒例化している Rust 基本文法もボリュームアップしてきました。本記事では、Rust のジェネリクス、ジェネリック型について説明していきます。TypeScript 等の言語でも利用するケースがありますので、Rust に限らず押さえておきたい文法です。Rust Playground でも試すことができますので、もし宜しければぜひ。https://play.rust-lang.org/ ジェネリクス プリミティブ型のジェネリクスジェネリクスを使うと、クラスや関数の引数や、返り値に任意の型を指定することができます。これらの任意の型をジェネリック型と呼んでいま...
1ヶ月前
記事のアイキャッチ画像
Rust で HashSet を使って値の重複をチェックする
コラボスタイル Developersのフィード
はじめにRust を使っていて、連想配列、配列の値の重複を検知させたい!と思ったのがきっかけです。Rust に限らずですが、連想配列や配列の重複チェックは実装する必要も出てくるかもしれませんので、同じような境遇の方の救いになればと思います。https://doc.rust-lang.org/std/collections/struct.HashSet.html HashSet で重複を検知する 値のみの配列の場合とある配列の要素1つ1つに対して重複チェックをします。use std::collections::HashSet;fn main() { le...
1ヶ月前
記事のアイキャッチ画像
Rust | Ntex と SQLx で REST API を開発する
コラボスタイル Developersのフィード
Ntex とはRust の Web フレームワークである Ntex については以下の記事で説明しているので、割愛します!!https://zenn.dev/collabostyle/articles/eeabc851943af2 Stateアプリケーション内でリソースを共有するために State を使用します。アプリケーションの初期化時に web::types::State<T> を渡し、アプリケーションを起動します。そうすることで、ハンドラー関数からその State にアクセスすることができます。以下のコードでは、AppState の app_name ...
1ヶ月前
記事のアイキャッチ画像
Yew で始める Rust のフロントエンド開発
コラボスタイル Developersのフィード
はじめにRust でフロントエンド開発を可能にするフレームワークの Yew を使ってみます。最初は Rust でフロントエンド?!と思いましたが、割と前からある有名なフレームワークみたいです。今回はチュートリアルにフォーカスしていますが、ゆくゆくは React 等のフレームワークとパフォーマンスにどのような違いがあるかなど、調べてみたいと思います。▼ Yew ドキュメントhttps://yew.rs/ja/ 下準備 & Hello, world!チュートリアルのページに沿って、順番にやっていきます。まずは Trunkをインストールする必要があるようなので、以下コマ...
1ヶ月前