タグ

wat-aroのブックマーク (205)

  • RustでのAWS Lambda開発完全ガイド - Qiita

    概要 この記事はRustAWS Lambda開発を行うにあたっての全体プロセスのガイドです。RustLambda関数を実装し、そのコードを実行するためのDockerコンテナイメージを作成します。次にそのイメージを自動でビルドしLambda関数を更新するCI/CDをCodePipelineで構築します。他に複数のLambda関数を一つのクレートで管理し、それらを一括でデプロイする方法についても解説します。 なぜRustLambdaを実装するのか? まず、Rustは素晴らしいプログラミング言語です。静的型付けによってバグの少ないコードを書くことができます。またcargoという洗練されたパッケージマネージャにより、依存関係の解決やビルドを柔軟かつストレスレスに行うことができます。 Rustで処理を実装することで(他の言語と比較して)処理時間を短く、またメモリフットプリントを小さくすることが

    RustでのAWS Lambda開発完全ガイド - Qiita
  • Rust Language Cheat Sheet

    Rust Language Cheat Sheet 2. May 2024 Contains clickable links to The Book BK, Rust by Example EX, Std Docs STD, Nomicon NOM, Reference REF. Clickable symbols BK The Book. EX Rust by Example. STD Standard Library (API). NOM Nomicon. REF Reference. RFC Official RFC documents. 🔗 The internet. ↑ On this page, above. ↓ On this page, below. Other symbols 🗑️ Largely deprecated. '18 Has minimum edition

    wat-aro
    wat-aro 2024/03/03
  • 「エセ自己組織化」症候群から脱却し、約束を守るプロフェッショナルなアジャイルチームになるには -アジャイル時代のマネジメント進化論- / #RSGT2023

    2023年1月11日より開催された「Regional Scrum Gathering Tokyo 2023」の登壇資料です。 https://2023.scrumgatheringtokyo.org/index.html ----- Visionalのエンジニアリングに関する最新情報はTwitte…

    「エセ自己組織化」症候群から脱却し、約束を守るプロフェッショナルなアジャイルチームになるには -アジャイル時代のマネジメント進化論- / #RSGT2023
  • Next.js13で追加されたApp RouterとReact Server Components──UI通信の関係を再定義する

    App RouterはReact Server Componentsを最大限活用する形で実装されているため、外部のデータソースに対する送受信の大半をサーバー側で行います。少し独特ながら、Web標準に寄り添った形で実現された通信周りのフレームワークについて、記事では学んでいきます。 対象読者 JavaScriptとWeb開発の基礎に理解がある方 Reactを用いたJavaScriptアプリケーション開発の経験者 前提環境 筆者の検証環境は以下の通りです。 macOS Sonoma 14.2.1 Node.js 21.4.0/npm 10.2.4 React 18.2.0 Next.js 14.0.4 UIと非同期通信の状態管理を擦り合わせるのは疲れる ブラウザ上でもサーバー上でも、JavaScriptのランタイムが提供する通信処理のAPIは、基的に非同期で扱うことが推奨されています。現代

    Next.js13で追加されたApp RouterとReact Server Components──UI通信の関係を再定義する
  • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

    これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

    データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
    wat-aro
    wat-aro 2024/02/16
  • 徐々に高度になるリングバッファの話、をRustで試した - Qiita

    上記のうちRingBuffer0,1,2,3の実装をしました。 RingBuffer0,1は特に実装の違いはありません。 RingBuffer2はマルチスレッド化のためProducerとConsumerの構造体を追加しています。 RingBuffer3はアライン調整のために_paddingフィールドを追加しました。 MultiThreadはもとのコードはcpuset(0,1)決め打ちだったので、それに合わせたものとcore idが違う(0,2)も実施しました。 実行結果 リファレンス(AMD Ryzen 7735HS) リファレンスとなるkumagiさんのコードをg++ -O2でビルドしました。 RingBuffer0_single: 1000000000 ops in 939 ms 1064962.726 ops/ms RingBuffer1_single: 1000000000 ops

    徐々に高度になるリングバッファの話、をRustで試した - Qiita
    wat-aro
    wat-aro 2023/08/04
  • ユースケースとストーリー - Martin Fowler's Bliki (ja)

    ユースケースとXPのストーリーの違いは? これはよくある質問だが、なかなか答えがまとまらない質問でもある。XPコミュニティの人々は、ストーリーはユースケースを簡単にしたものだと捉えている。私も以前はそう思っていたが、今は別の見方をしている。 ユースケースとストーリーは、どちらも要求をまとめる(organize)方法という意味で一致している。違うのは、まとめる「目的」である。 ユースケースでは、ユーザーがシステムにどう携わるか、システムをどう使うかといった物語(narrative)を作るために要求をまとめる。したがって、ユーザーのゴールと、システムとの相互作用がどのようにゴールを満たすかに焦点を当てる。 一方、XPのストーリー(同じようなものにフィーチャーと呼ばれるものがある)では、計画を作るために要求を分割する。XPのリリース計画プロセスの一部として、見積もることができるまで明確に分割する

  • ユーザーストーリー

    http://martinfowler.com/bliki/UserStory.html ユーザーストーリーとは、ソフトウェアシステムに求められるふるまいをまとめたものだ。 アジャイルソフトウェア開発の世界で広く使われており、大量の機能を細かく分解して計画作りに生かせるようにしている。 同じような概念を表す用語としてフィーチャーという言い方もあるが、 最近のアジャイル界隈では「ストーリー」とか「ユーザーストーリー」とかいう用語のほうが広まっている。 最初にこの言葉を使い出したのはKent Beckで、Extreme Programmingの一環として取り上げていた。 長々と書かれた仕様書ではなく、形式張らない対話型の方法で要件を引き出すためだ。 ストーリーの核心は、一枚のカードに書き出せる(Kentや私がよく使うのは、3インチx5インチのやつだ)。 ストーリーは、敢えて詳細までは具体化しな

  • Webサーバーアーキテクチャ進化論2023

    はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

    Webサーバーアーキテクチャ進化論2023
  • 高木浩光さんに訊く、個人データ保護の真髄 ——いま解き明かされる半世紀の経緯と混乱

    (語り手)JILIS副理事長 高木 浩光 (聞き手)JILIS出版部 編集長 小泉 真由子 (撮影)宇壽山 貴久子 この1年、過去の海外文献を調査していたという高木浩光さん。これまでの研究の一部は情報法制レポート創刊号の特集として掲載されましたが、高木さんに言わせると「あれはまだ序の口」とのこと。日お伺いする内容は近々高木さん自身が論文にされる予定とのことですが、まだ時間がかかりそうということで、急ぎ、インタビューとしてお話しいただくことになりました。なお、このインタビューは大変長くなっております。ぜひ、最後までお付き合いいただければと思いますが、時間のない方は、目次を参照していただき、気になるトピックからお読みください。 —— 今日は、高木さんがどうしても今すぐみなさんに伝えたいことがあるとのことで、インタビューでお話を聞くことになりました。 高木: はい、よろしくお願いします。話はと

    高木浩光さんに訊く、個人データ保護の真髄 ——いま解き明かされる半世紀の経緯と混乱
  • コード品質はやはりビジネスに影響を与える - mtx2s’s blog

    私たちソフトウェアエンジニアは、コード品質についてしばしば論ずるけれども、ではコード品質の良し悪しがどれほどビジネスに影響するのかと問われると、回答に窮する。只々、「コード品質が悪いと変更により多くの時間がかかります」だとか、「欠陥の修正に追われて開発時間が奪われます」だとか、個人の経験やエンジニア的一般論に頼った定性的な説明に終始するしかない。ソフトウェアを繰り返し変更する頻度が高いほど、コード品質が開発時間に影響を与えるのは確かにそのとおりだと思えるが、はたしてそれは、どれほどのインパクトなのだろうか。 2022年の研究論文 "Code Red: The Business Impact of Code Quality – A Quantitative Study of 39 Proprietary Production Codebases" では、コード品質がビジネスに与えるインパクト

    コード品質はやはりビジネスに影響を与える - mtx2s’s blog
  • アジャイルプラクティスマップを公開しました | Agile Studio

    Agile Studio プロデューサーの木下です。アジャイル開発をはじめるには、基的な語彙やプラクティスをチームにいる全員が知ることが大切です。また、アジャイル開発を実践していく上ではスクラムのみ...

    アジャイルプラクティスマップを公開しました | Agile Studio
    wat-aro
    wat-aro 2023/03/03
  • Linux メモリ管理 徹底入門(プロセス編)

    Linux カーネルのメモリ管理方法について、勉強したことをまとめる。プロセス編。 カーネル編はこちら。 Linux メモリ管理 徹底入門(カーネル編) - SIerだけど技術やりたいブログwww.kimullaa.com OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux メモリ管理の特徴メモリの使い方を簡素化すると、次の図のようになる。 どのような特徴があるかをまとめる。 連続した

    Linux メモリ管理 徹底入門(プロセス編)
  • 年末ですし、2022年のRustの進捗の話をしましょう

    記事は、TechFeed Experts Night#9 〜 Rust/WebAssemblyの「いま」を探る のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 セッションの登壇者 私はマップボックスジャパン合同会社という会社でソフトウェアエンジニアをしているyukiです。Twitterでは@helloyuki_で、TechFeedではRustの公認エキスパートとして活動しています。最近はや連載記事を書くことも多かったのですが、そのほかにはRust Tokyoの運営をしたり、「This Week in Rust」というRustの注目記事をピックアップしたWebマガジンの日語記事レビュアーをしたり、TwitterRustのお役立ち情報を発信したりしています。 Mapboxで

    年末ですし、2022年のRustの進捗の話をしましょう
  • RustのPinチョットワカル - OPTiM TECH BLOG

    こんにちは。 先日、しばらく不動の一位を守ってきたRustVSCodeで使う記事を抜き、 私の書いた非同期プログラミングの記事の記事が一番人気になったと思いきや数日でまた抜き返されて傷心中の、 R&Dチームの齋藤(@aznhe21)です。 さて、Rustの非同期プログラミングで時々Pinを使ったり、コンパイラにUnpinが不足していると怒られたりしませんか? そんな時によく分からずuseしたり別の手段を取ったりしていませんか? 今回、このままではマズいと思ってPinを勉強して完全に理解しましたので、その成果を皆さんと共有したいと思います。 更新履歴 03/10 指摘を受け下記2点を修正しました Unpinを実装しない型もムーブ出来ることへの言及 pin-projectクレートが安全であることによる書き換え 対象読者 この記事は下記全てに当てはまる人を想定して執筆しています。 Rustのト

    RustのPinチョットワカル - OPTiM TECH BLOG
  • Rustで自作OSをしているときのデバッグ例 - syscall 命令と仲良くなりたい!前編 - /var/log/hikalium

    この記事は自作OS Advent Calendar 2022の17日目の記事です。他の記事も是非お楽しみください!(そして書ける方はぜひ参加してみてください!!) 前回(?)までのあらすじ hikaliumは自作OS上で動くアプリからsyscall命令を使ってシステムコールを呼べるようにしようと頑張っていたが、なぜか発生するトリプルフォルトによりQEMUが再起動してしまい、3時間のデバッグの末力尽きてしまった。一体なぜ例外が発生するのか、その謎を解くため、我々は数日の休息をとったのち、バイナリの森へと旅立った…。 前回(という名の配信アーカイブ): www.youtube.com 状況を整理しよう バイナリの森は危険だ。無闇に動きまわっては、x86の沼に足をとられて命を落としかねない。まずは我々の向かっていた先と、これまでに得た情報をまとめることにしよう。 どこへ向かっていたのか 我々のひ

    Rustで自作OSをしているときのデバッグ例 - syscall 命令と仲良くなりたい!前編 - /var/log/hikalium
  • Rustのライフタイム推論入門

    はじめに 「ライフタイムなんもわからん」ので、勉強した内容を整理しました。 Rust初心者なので、間違いがあったらコメントにて指摘頂けるとうれぴっぴです。 ライフタイムのおさらい Rustはすべての参照にライフタイムを持ちます。 明示的にライフタイムを指定する場合は'aのような、ライフタイムパラメータを使用する必要があります。 しかし、すべての参照にライフタイムパラメータを書くのは手間がかかるので、 一定のルールに沿ってライフタイムを推論しルール外のものはコンパイルエラーという仕様になっています。 ライフタイムパラメータを書ける場所は「ライフタイムポジション」と呼ばれ、次の場所で書くことができます。

    Rustのライフタイム推論入門
  • Designing error types in Rust

    Designing error types in Rust2022-11-15 ✂ 2022-11-16 Introduction Libraries vs. applications Design goals Prefer specific enums Reserve panics for bugs in your code Lift input validation Implement std::error::Error Define errors in terms of the problem, not a solution Do not wrap errors, embed them Resources IntroductionIf I had to pick my favorite Rust language feature, that would be its syste

  • Rustのto_string実装パターン

    Rustで値の文字列表現を返すにあたって、 String を直接返すのではなく Display を実装するのが一般的です。この派生パターンとして以下の4つのパターンを紹介します。 基: 文字列化を実装したいとき 文字列化をインターフェースに含めたいとき カスタム文字列化 カスタム文字列化をインターフェースに含めたいとき 基: 文字列化を実装したいとき Displayを実装すると、文字列化できるようになります。 println!, format! などのフォーマット処理から呼べるようになるほか、 .to_string() というヘルパ関数が使えるようになります。 以下はプログラミング言語処理系において、「変数」をあらわす構造体に文字列化を実装する例です。 Playground pub struct Var(String); impl std::fmt::Display for Var {

    Rustのto_string実装パターン
  • rust で udp パケット処理 - Qiita

    この記事は MIXI DEVELOPERS Advent Calendar 2022 20 日目の記事です。 前書き GoogleCloud上で、rustでQUICのリレーサーバを作成するために、UDP Packetをたくさん受けとるために、コードを書いて試してみたので、その作業ログです。 コードはここに置いておきます 環境 環境は以下。 Google Cloud Compute Engine VM インスタンス 受信サーバ c2 インスタンス 16 vCPU (not Tier_1 network) 送信サーバ 受信サーバと同一VPCの複数のインスタンスからudpを投げまくる 計測はpacket per second(pps)を基準に検討しています。実際の数値自体はcoreの世代などの要因があり、あまり意味はありません。 ログ recvfrom(revmsg) / recvmmsg まず

    rust で udp パケット処理 - Qiita