nainaistarのブックマーク (57)

  • Googleが開発したPythonのUIフレームワーク「Mesop」の特徴を開発チームが解説

    Googleのチームが開発したPython用のUIフレームワーク「Mesop」の特徴や使い方について、開発チームがブログに投稿しています。 Why Mesop? - Mesop https://google.github.io/mesop/blog/2024/05/13/why-mesop/ 多くのPythonUIフレームワークは簡単に使い始められるものの、標準的な使用方法を超えてカスタマイズを行おうとするとJavaScriptCSSHTMLの詳しい知識が必要です。MesopはPython内で動作を完結させることでよりPython開発者にとって扱いやすいUIフレームワークになっています。 MesopはコンポーネントベースのUIフレームワークで、UI全体がコンポーネントと呼ばれるブロックを積み重ねて作成されています。Pythonの関数を呼び出すのと同じ要領でMesopのコンポーネントを

    Googleが開発したPythonのUIフレームワーク「Mesop」の特徴を開発チームが解説
  • VimのLeaderキーの設定|かつお

    環境:thinkpad x40, lubuntu18.04LTS Vimを使っていきたくて、いろいろ設定をググっていたところ、Leaderキーという意味不明な名前を発見。 そこで、調べてみました。 Leaderキーとは、あるキーを押したら○○するみたいな、機能の割当てのキーと解釈しました。→キーバインドといいます。 通常、Vimにはすでにいろんな割当てがいっぱいされてあって、自分独自のキーを設定すると、すでにあるキーとかぶってしまう恐れがある。 そんなこともあって、Leaderキーという、ユーザーが設定できるキーがVimによって準備されている。 デフォルトでは、Leaderキーは、「 \ 」となっているそう。 Leaderキーの使い方 デフォルトでは \ を押すと、○○する。という状態。 ○○する。の部分は、自分で自由に設定できる。 \ キーと他の任意のキーを同時押ししたら、○○する。とい

    VimのLeaderキーの設定|かつお
    nainaistar
    nainaistar 2024/06/04
    知らなかったので跡見る
  • 日本人プログラマー向けコーディングフォント「Bizin Gothic」が無償公開/「Ricty」でもお馴染みの「Inconsolata」と読みやすい「BIZ UDゴシック」をかけ合わせ

    日本人プログラマー向けコーディングフォント「Bizin Gothic」が無償公開/「Ricty」でもお馴染みの「Inconsolata」と読みやすい「BIZ UDゴシック」をかけ合わせ
  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

    Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

    この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • 私が 1on1 でしていること - Mobile Factory Tech Blog

    言葉の定義 モバファクの 1on1 の目的 1on1 で自分が大事にしていること 1on1 はメンティーの時間である 1on1 はメンターの時間でもある 1on1 初回 今使っている 1on1 のフォーマット 体調 半期目標の進捗振り返り ネクストアクションの振り返り うまくいかなかったこと・もっとよくなりそうなところ・うまくいったこと・その他に話したいこと ネクストアクション 1on1 の中でのやりとり お休みの取り方がわからない 最近見積もりの精度が高くなっている 朝会の議事録をとるようにしたい 最近チームの動きがぎこちないと感じている 1on1 定期的な振り返り まとめ こんにちは。駅メモエンジニアの id:dorapon2000 です。 今回は自分自身がメンター側として実施している 1on1 について、どのように実施しているのかご紹介しようと思います。 1on1 のやり方はメンター

    私が 1on1 でしていること - Mobile Factory Tech Blog
  • activerecord-originator をリリースしました - pockestrap

    こんにちは。 id:Pocke です。 今日は activerecord-originator という gem を作ったので紹介します。 github.com なにこれ Active Record が発行するSQLの各部分に、それがどこで作られたものかをコメントとして入れ込む gem です。 理解するには実例を見るのが早いでしょう。次のログはArticlesController#indexで実行されるクエリの例です。 Article Load (0.1ms) SELECT "articles".* FROM "articles" WHERE "articles"."status" = ? /* app/models/article.rb:3:in `published' */ AND "articles"."category_id" = ? /* app/controllers/artic

    activerecord-originator をリリースしました - pockestrap
    nainaistar
    nainaistar 2024/03/14
    これはRailsにいれたい
  • Idempotency Keys: How PayPal and Stripe Prevent Duplicate Payment

    Have you ever tried to make a failed payment again and suspected that you payed twice? Payment Service providers such as PayPal or Stripe use a method to handle multiple requests for same payment: Idempotency Keys. Let’s increase our domain knowledge by examining this method together! The Essence of Idempotency in Payment SystemsIdempotency is a crucial safeguard in digital payment systems, ensuri

    Idempotency Keys: How PayPal and Stripe Prevent Duplicate Payment
    nainaistar
    nainaistar 2024/02/29
    stripeなどが重複処理を防ぐ仕組み
  • リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々

    常々GitHubにtag requestが欲しいと言ってきましたが、それを実現するツールを作りました。OSSなど、バージョニングとリリースが伴うソフトウェア開発のリリースエンジニアリングをとにかく楽にしたいという動機です。既に自分が管理している幾つかのOSSでは導入して便利に利用しています。 https://github.com/Songmu/tagpr アイデア 基の発想は以下のようにシンプルです。 リリース用のpull requestがGitHub Actionsで自動で作られる バージョン番号が書かれたファイルやCHANGELOG.mdを自動更新 そのpull requestをマージするとマージコミットに自動でバージョンtagが打たれる semver前提 リリース用のpull requestを自動で作りマージボタンを以てリリースと為す、というのは、みんな(僕が)大好き git-pr

    リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々
    nainaistar
    nainaistar 2023/12/28
    使うかも
  • Duolingo CEOが東大生に語った「人事で100回失敗」した数学オタクの反省と「起業家が心理学を学ぶべき理由」

    世界最大級の語学学習アプリ「Duolingo」の創業CEOであるルイス・フォン・アーン氏が来日し、東京大学で講演した。 アーン氏はシリアルアントレプレナーで、カーネギーメロン大学在籍中に博士課程の研究課題をもとに起業した“学究肌”だ。 講演は事前に学生らが寄せた問いに答える形式で行われ、聞き手は東京大学の産学協創推進部スタートアップ推進部長、長谷川克也・東京大学特任教授がつとめた。 AI時代に必要なスキルから、博士進学と起業どちらを優先すべきか、大学時代の後悔、マネタイズ手法、世界で戦えるスタートアップをつくるには……など、起業を志す東大生たちにアーン氏が語った内容を、講演、フロアからの質問への回答、その後のメディア取材を元に、一問一答形式で伝える。 ルイス・フォン・アーン:「Duolingo」の創業者兼CEOで、元カーネギーメロン大学准教授。コンピューターと人間を識別するセキュリティ

    Duolingo CEOが東大生に語った「人事で100回失敗」した数学オタクの反省と「起業家が心理学を学ぶべき理由」
  • Spring Boot + Flyway で複数の DB に接続したい!!! - エムスリーテックブログ

    【Unit4 ブログリレー5日目】 こんにちは。Unit4 Eng の西川です。JavaScript が好きですが、今回は JavaScript ではなく、最近やった Spring Boot + Flyway を利用しているシステムから別の DB への接続を増やした時の話をしたいと思います。 非常に可愛いうちのです 動作環境 背景 Spring Boot で複数の DB に接続する 概要 application.yaml の記載 Configuration ファイルの作成 Flyway を複数の DB に適用する baselineOnMigrate を適用する Configuration ファイルの作成 テスト用の Configuration ファイルを作成 終わりに We're hiring! 動作環境 今回のプロダクトで利用している Spring Boot と Flyway のバージ

    Spring Boot + Flyway で複数の DB に接続したい!!! - エムスリーテックブログ
    nainaistar
    nainaistar 2023/08/29
    多いケースではないけど、複数DBに接続する方法はたまに求められるから残す
  • SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々

    SpringFramework 6.0.11 SpringBoot 3.1.2 @Async と @EnableAsync の使い方 SpringFrameworkで @Async を使うとかんたんにメソッドを非同期で実行できます。 @Component class AsyncComponent { @Async void method() { // 時間のかかる処理 } } 使う側は単にメソッドを呼び出すだけです。戻り値を処理したいなら Future で受ければいいけど、投げっばでいいなら void で良い。投げっばでいい場合の方が多いはず。 @Async を使うためにはアノテーションを処理する何かしらが必要で、この一式を用意するように指示するのが @EnableAsync です。 以下のようなクラスをSpringがわかるところに置いてあげます。 @EnableAsync @Config

    SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々
    nainaistar
    nainaistar 2023/08/26
    非同期処理をするときに確認
  • 意思決定できる人の手順の型 - Konifar's ZATSU

    意思決定できる人は進める手順の型みたいなものを持っているように見える。逆に意思決定が遅かったりできなかったりする人は、進めるときに型のうちの何かが欠けているのかもしれない。 体系化された話は書籍で語られつくされているとは思うが、思考整理のために雑にまとめてみる。 最後は決めるだけだという考えを持つ 目的や満たしたいことを明確にする 最終的な決め方や期日を明確にする 選択肢を広げて考える 今は意思決定しない、という意思決定も選択肢に入れる 意思決定の軸を明確にする 軸をもとに定量/定性データを集める 軸をもとに選択肢を評価する 自分はこうしたいという"推し"を決めてたたき台にする ここまでの話をドキュメントにしている ここまでのプロセスに時間をかけない 意見を聞く人を見定めてフィードバックをもらう 最初に明確にした決め方で意思決定する 意思決定できない場合は決め方と期日と意思決定軸を再定義す

    意思決定できる人の手順の型 - Konifar's ZATSU
    nainaistar
    nainaistar 2023/07/14
    参考にする
  • メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2023 の7日目の記事です。 はじめに こんにちは。メルコイン Payment Platform チームの @sapuri です。 メルコインではマイクロサービスアーキテクチャを採用しており、お客さまによりアプリの操作が行われると、それぞれのマイクロサービスを横断してリクエストが処理されます。 メルコインの Payment Platform は、お客さまの残高の管理や各種帳簿の作成などの決済事業のための基盤となる仕組みを提供しています。 そのなかで、Payment Service は決済トランザクションを管理するサービスとして、下位層のサービスが提供する各種決済手段を利用して、上位層のサービスが共通して利用できる決済 API を提供しています。 この記事ではマイクロサービスアーキテクチャにおける分散トランザクション管理の課

    メルコイン決済基盤における分散トランザクション管理 | メルカリエンジニアリング
  • 「バグ」と呼ぶのをやめて、名前をつけてあげよう - blog.takuyasuemura.dev

    ある日の午後、オフィスでサポートエンジニアとQAが会話していた。 サポートエンジニアは言った。「すべてのバグを直すことなんて不可能だ」。 QAはこう返した。「そんなことはない。バグとはただの考慮漏れだ。バグが市場に出るということは、テストするときになにかのパターンを考慮していなかった。ただそれだけだ。」 「その考えは素朴すぎる。例えば我々のSDKがユーザーの使っている別のサードパーティーのライブラリと相性が悪いことだってあるだろう。こういう組み合わせは無限にある。すべてを考慮することは出来ない。」 QAは更にこう返した。「それは 互換性 という別の問題だ。おれが言っているのは 機能性 に関するものだ。」 サポートエンジニアは尚も言う。「それにしたって、すべてのパターンをテストすることは出来ない。お前はテスターのくせに 全数テストは不可能 だという事実すら知らないのか?」 「わかった。同値分

    「バグ」と呼ぶのをやめて、名前をつけてあげよう - blog.takuyasuemura.dev
    nainaistar
    nainaistar 2023/05/01
    #分析
  • Project Valhalla 2023 - プログラマーの脳みそ

    2023/03/30 にやったJava仕様勉強会の動画が公開されました。当日はJavaのマスコットDuke風の服で臨みました(どうでもいい裏情報) www.youtube.com セッション資料もアップロードしたので参考にしてください。 Project Valhalla 2023 中間報告 いずれも 2023年3月時点での情報です。JEPもドラフト版だったりするので、将来的に変更が入る可能性が高いことをお断りしておきます。稿では勉強会のセッション内容に加えて、セッション時点で追従できていなかった変更点や、勉強会での指摘を踏まえてフォローアップした内容を含みます。 もしもValhalla世界でJava入門したら ここでは、Valhalla導入後のJava世界だと入門者視点でどのように変わるのかというアプローチをしています。まず、Javaのデータ型は大きくふたつに分類できて、Identity

    Project Valhalla 2023 - プログラマーの脳みそ
    nainaistar
    nainaistar 2023/04/17
    分からないけど覚えておいたほうが良さそう
  • 「センターサーバ方式Suica」に関する疑問をJR東日本に聞いた【鈴木淳也のPay Attention】

    「センターサーバ方式Suica」に関する疑問をJR東日本に聞いた【鈴木淳也のPay Attention】
  • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

    JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげたについてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基から簡単なDB操作、Spring Bootまで

    プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
  • データベースと向き合う決意 | フューチャー技術ブログ

    秋のブログ週間の9目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJavaPythonRubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ

    データベースと向き合う決意 | フューチャー技術ブログ
    nainaistar
    nainaistar 2022/11/13
    冒頭の「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」が良かった。自分だけが無闇に中間層増やして、自分だけが満足しているのか悩んでいたから。
  • Database Riderを試してみる - CLOVER🍀

    これは、なにをしたくて書いたもの? 以前、DbUnitを使ってエントリーを書いてみました。 DbUnitを試してみる - CLOVER🍀 この時にも少し触れていたのですが、今回はDatabase Riderというものを試してみたいと思います。 Database Rider Database Riderは、DbUnitとJUnitを統合してデータベースのテストをしやすくするものです。 Database Rider integrates DBUnit and JUnit in order to make database testing a breeze! Database Rider 機能としては、以下のようですね。 アノテーションを使ってJUnit Ruleと統合 インターセプターによるCDI統合 JSON、YAML、XML、XLS、CSVデータフォーマットをサポート アノテーションまた

    Database Riderを試してみる - CLOVER🍀
    nainaistar
    nainaistar 2022/11/07
    DatabaseRider面白そうなのでメモ