Elixir 製 SPA 開発フレームワーク Phoenix LiveView の入門書です。 これを利用すると、ほぼ JavaScript のコードを書かずにシングルページアプリケーション(SPA)を構築できます。 本書が対象とするソフトウェアのバージョンは、Elixir 1.17, Phoenix 1.7, LiveView 1.0.0-rc.6 です。 執筆途中です。随時、更新していきます。 表紙・イラスト: Kenko (Xアカウント: @kenko97540086)
![Phoenix LiveView 入門①: はじめの一歩](https://cdn-ak-scissors.b.st-hatena.com/image/square/91b091a33605b654c6ced77eab118c4ff4e62b3e/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--F_ZVSEb2--%2Fg_center%252Ch_280%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYm9va19jb3Zlci8wZDhiYTFkNWUzLnBuZw%3D%3D%252Cw_200%2Fv1627283836%2Fdefault%2Fog-base-book_yz4z02.jpg)
Elixir 製 SPA 開発フレームワーク Phoenix LiveView の入門書です。 これを利用すると、ほぼ JavaScript のコードを書かずにシングルページアプリケーション(SPA)を構築できます。 本書が対象とするソフトウェアのバージョンは、Elixir 1.17, Phoenix 1.7, LiveView 1.0.0-rc.6 です。 執筆途中です。随時、更新していきます。 表紙・イラスト: Kenko (Xアカウント: @kenko97540086)
MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル MySQL InnoDB および AWS Aurora や PingCAP TiDB におけるロックの仕組みやトランザクションの動作を全11回のシリーズで解説します! 最初はベースとして重要な MySQL 8.0 InnoDB 前提でユーザー視点でのロックの仕組みを学び、後半第10回以降では MySQL 互換 DB として人気の高い AWS Aurora や PingCAP TiDB と MySQL InnoDB との違いについて学びます。 1回目の今回はロック機構と切っても切り離せないトランザクションとその分離レベルについて、実際に挙動を確かめながら解説します。ライブ感のある説明も理解に役立ちますので、解説動画も付けてみました。合わせてご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロ
The following content is rendered from my #til github.Linux Network PerformanceSource: https://github.com/leandromoreira/linux-network-performance-parameters/https://access.redhat.com/sites/default/files/attachments/20150325_network_performance_tuning.pdfhttps://www.coverfire.com/articles/queueing-in-the-linux-network-stack/https://blog.cloudflare.com/how-to-achieve-low-latency/https://blog.cloudf
「NoLang」は「○○の解説動画を作って」と入力するだけで解説動画を作成できるウェブアプリです。新たに、画面端にキャラクターを2体配置して対話形式で物事を解説する「ゆっくり解説」形式の動画が作成可能になったので、実際に試してみました。 【🔥重大発表】🐬NoLang 2.0をリリースしました!! ついに、「ゆっくり解説」形式の動画生成や縦型ショート動画の作成が可能に! 他にも動画の長さ指定、プロンプトによるスタイル制御、画像生成AIなど新機能が目白押し。 圧倒的進化を遂げたNoLangを是非お試しください!https://t.co/WcRBvKLhP1 pic.twitter.com/JOFN8t45KK— マーベリック|生成AI@NoLang (@sayhi2ai_jp) July 7, 2024 ・目次 ◆1:NoLangのアカウント登録 ◆2:「ゆっくり解説」形式の動画を作る設定
アマゾン ウェブ サービス ジャパンは、2024年6月20日と21日、国内最大の年次イベントである「AWS Summit Japan」をハイブリッドで開催。150を超えるセッションが展開された。 本記事では、ニンテンドーシステムズによるセッション「Nintendo Switch向けプッシュ通知システムのリプレイス事例」をレポートする。登壇したのは、同社 システム開発部の林愛美氏と坂東聖博氏だ。 2017年のNintendo Switchの発売とあわせてリリースされた「プッシュ通知システム」。同社は、長期運用を見据えて、よりクラウドネイティブなシステムへのリプレイスを決定するが、大量のTCP接続を維持するための様々な課題が立ちふさがった。 本セッションでは、AWS FargateやNetwork Load Balancer(NLB)といったAWSのマネージドサービスを用いた、“最大1億台”級
はじめに Privateメソッドのテスト要否に対する部分は一旦置いとく。 テストしたいぜー、でも、同じファイルに書くのは、テストコードが多くなりすぎて見通し悪くなるから避けたいぜー みたいな感じで色々試行錯誤してたどり着いた(と言ってもモジュールの可視性とかの話を調べれば一発だったっぽい) ので備忘録的にメモしているやつでござーます。 とりあえず動かしてみたいという方へ シンプルにテストを書いてみよう 適当なプロジェクトを作ります。
今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと思う。 今回はJava8のHotSpotVMの話。Java8ではJEP122が取り込まれ、VMのメモリモデルが変更された。JEP122のタイトル「Remove the Permanent Generation」から想像できるとおり、Java8のHotSpotVMからは従来のPermanent領域が無くなった。 なぜ、こういった変更が行われたのだろうか?また、元々Permanent領域に格納されていた情報は何処にいってしまったのか?JVM付属のツールにどういった影響があるのか? 今回の記事ではこの点をまとめていこうと思う。 なお、HotSpotVMのメモリモデルについて詳しくない方は、先にこちらの項番(「補足 – HotSpotVMのメモリ構造概説)を読んでいただくとスムーズに読み進められるだ
こんにちは。 PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事の概要 APIの負荷テストツールにGrafana Labs社が開発している「k6」というツールがあります。 k6はオープンソースのCLIツールですが、 「Grafana Cloud k6」というクラウドベースSaaSツールも提供されている便利なツールです。 ローカルのk6は、負荷テストの時に使ったことはあったのですが、真面目に負荷テストの設計をするにあたり、ちゃんと理解したかったため、改めて基本から調べてみました。k6の入門記事としてお役に立てれば嬉しいです。 インストール Macでは、k6を「Homebrew」でインストールすることができます。
はじめに Rustを使っているとすべてをRustで書きたい欲に駆られることがあります。 たとえば負荷試験ツールもRustで書きたい、みたいなことがあったりします。 ありがたいことにRustではGooseという負荷テストフレームワークがあり、これを使えば負荷テストをRustで実装できます。 ちなみに、GooseはRust Foundationのメンバーであるtag1が開発しているので安心感があります。[1] 本記事はGooseについて基本的・応用的な使い方などについて紹介していきます。 Gooseとは GooseはPython製の負荷テストツールであるLocustにインスパイアされたRust製の負荷テストフレームワークです。 Locustと比べて、約11倍ほどのトラフィックを生成でき、CPUコアを可能な限り使用してくれます。[2] またLocustと違い、フレームワークなのでビルドしたバイナ
Charmingとは Charmingは、Rustの強力なチャートレンダリングライブラリです.美しく高品質なデータ可視化します.GitHub上で以下のようなグラフが紹介されています. 後述しますが,このCrateは適切にStructが分割されているので,可読性の高い可視化用のコードを作ることができます. 簡単に散布図を作成する Datasaurusのデータを使います.ここでは,csvファイルをダウンロードして使っています. もちろん表示するのはdinoです. この記事では,cargo new project_nameした後に,data dirとoutput dirを作っていることを想定します.
Entries2023 🦀 RFC8628 OAuth 2.0 Device Authorization GrantでCLIからGithubのaccess tokenを取得する 11/18 📙 The Purely Functional Software Deployment Modelを読んだ感想 11/06 📗 Terraform: Up and Running, 3rd Editionを読んだ感想 10/25 ❄️ NixOSとRaspberry Piで自宅server | Part 5 CPUの温度をmetricsとして取得 10/22 🔭 OpenTelemetry Meetup 2023-10にいってきました 10/19 📗 Linux Service Management Made Easy with systemdを読んだ感想 10/15 ❄️ NixOSとRas
docker/build-push-actionのv3.3.0 で、 provenance というオプションが入り、デフォルトで有効化された。このオプションについては、 This may introduce issues with registry and runtime support (e.g. GCR and Lambda). という注意書きがされており、一部環境で問題が起きる可能性がある。GitHub Actionsでバージョンをマイナー、パッチバージョンまで指定せずに使っていた場合、自動的にこのバージョンが適用されるため、実際に問題になったという声もTwitterで散見され、自分も一部で引っかかった。 @GitHub Actions runner bumped @Docker buildx today, which has default provenance on. It's
Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during compilation process.
GitHub Actions に関して、どこに env が書けるんですか?とか、if ってどうやって使うんですか?とか色々と質問を受けることがあります。 そういった、if と env に関してフォーカスして、こちらの記事で紹介させていただきます。 env まず、env に関してです。 env が使える場所 env の対象範囲は、step 単位です。 env が指定されていると、環境変数として、step 毎に展開されます。 steps: - name: "Say Hello, world!" run: echo "$HELLO, world!" env: HELLO: Hello echo_job: runs-on: ubuntu-latest env: HELLO: Hello steps: - name: "Say Hello, world!" run: echo "$HELLO, wo
本文の内容は、2022年10月5日にJavier Martínezが投稿したブログ(https://sysdig.com/blog/kubernetes-errimagepull-imagepullbackoff/)を元に日本語に翻訳・再構成した内容となっております。 コンテナを使用している時、ImagePullBackOffやErrImagePullなどのPodステータスが一般的に発生します。 ErrImagePullは、コンテナに指定されたイメージを取得またはプルできないときに発生するエラーです。 ImagePullBackOffは、イメージのプルが修正されるまでの待機猶予期間です。 今回は、その様子をご紹介します。 コンテナイメージ イメージのプル イメージのプルポリシー ErrImagePull ErrImagePullのデバッグ イメージプルエラーの監視 その他のイメージエラー
生成AI (Cohere)+LangChain+Vector Database (PostgreSQL)でRAGを試してみたPostgreSQLlangchainLLMVectorStorepgvector 生成AIを企業が使う場合、社内データを使った回答を得るにはファインチューニング、もしくは Retrieval-Augmented Generation (RAG、検索拡張生成) を行う必要があります。 企業では毎日データが更新される中で、ファインチューニングを頻繁に行うのはコスト高で現実的ではありません。 そこでRAGを使った方法が注目されています。 ということで、今回は以下の組み合わせでRAGを試してみました。 生成AI: Cohere Command Vector Database: PostgreSQL (pgvector) 生成AIとVector Databaseの連携: La
つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用 この本では、LangChain と Streamlit を用いて、ChatGPT APIを活用するAIアプリを開発していきます。つくりながら学ぶことを重視し、簡単なチャットアプリ開発から始めて、Embeddingを活用するアプリ開発まで、ステップバイステップで学べます。 AIアプリをローカル環境で開発した後は、WEB上にデプロイする方法も学びます。クラウドの知識もほぼ必要なく、ランニングコストも掛からない方法で行うため、ぜひ作ったアプリを公開することにチャレンジしてみましょう。 500円と設定していますが投げ銭用です。本文は全て無料で読めます。
今回はRustを使って、簡単なHTTPサーバを実装してみましょう。HTTPは単純ですが生活インフラとしても必須となっているWebの根幹となる技術です。Rustに対する理解を深めると同時にWebの根幹となるHTTPについても学びましょう。 RustでHTTPを実装してみよう HTTPプロトコルとは? 「HTTP(Hypertext Transfer Protocol)」とは、WebサーバーとWebブラウザの間でデータをやりとりするための通信規則(プロトコル)です。 1990年末にイギリスの物理学者ティム・バーナーズ=リー氏と、ロバート・カイリュー氏によって設計されました。 HTTPプロトコルは、RFCとして公に発表されています。RFCとは、IETFが発行しているインターネットに関連する技術仕様などを共有するために公開される文書であり誰でも読むことができます。1996年にHTTP/1.0に関す
はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く