codehexのブックマーク (641)

  • DeNA ネットワーク運用監視ツールの紹介 [DeNA インフラ SRE] | BLOG - DeNA Engineering

    はじめに こんにちは。IT基盤ネットワークグループの守屋と申します。 主に社内のネットワーク、CDN (Content Delivery Network)関連の業務を担当しています。 今までのブログではネットワークグループで採用しているサービスや、ネットワーク移行についてご紹介してきましたが、 今回は DeNA のネットワーク運用監視で使用してるツールをご紹介いたします。 AWS BYOIP を使った自社 IPv4 運用手法 DeNA での GCP ネットワーク運用 DeNA 社移転でネットワーク構築・移行作業を実施しました DeNA のネットワークについて ネットワークは障害や品質が悪いと複数のサービスやユーザに影響を与えます。 そのため、24/365体制で、業務を円滑に進められるようなネットワークを運用監視することがネットワークグループの基方針となります。 ただし、リソースは有限な

    DeNA ネットワーク運用監視ツールの紹介 [DeNA インフラ SRE] | BLOG - DeNA Engineering
    codehex
    codehex 2024/11/03
  • わずか40秒の運動で身体に起こる劇的変化 – 早稲田大学 研究活動

    ― 強度の工夫で短時間でも大きな運動効果 ― 発表のポイント わずか40秒の高強度間欠的運動で、全身および筋肉の酸素消費量ならびに大腿部(太もも)の主要な筋肉の活動が大きく増加することを発見した。 高強度運動の反復回数と、酸素消費量の増加は必ずしも比例しないことが判明した。 研究をきっかけに、トレーニング効果をもたらす『最少量』の解明が進み、日のみならず、世界の運動実施率の向上に繋がることが期待される。 概要 早稲田大学スポーツ科学学術院の川上 泰雄(かわかみ やすお)教授、国立スポーツ科学センターの山岸 卓樹(やまぎし たかき)研究員らの研究グループは、トレーニング効果を生み出す『最少量』のメカニズムについて、強度の工夫によって、短時間であっても大きな運動効果をもたらし得ることを発見しました。健康増進や疾病予防のための運動の重要性は、これまでもメディアなどでたびたび取り上げられていま

    わずか40秒の運動で身体に起こる劇的変化 – 早稲田大学 研究活動
    codehex
    codehex 2024/05/26
  • Time-based CSS Animations

    In my earlier post Time Uniform For CSS Animation, I took a note about a way to do CSS animations with time ticks instead of keyframes. It was limited applicable because CSS lacked the ability of doing complex Math calculations. After years of wait, CSS now has enough Math functions supported, particularly mod(), round(), and trigonometric functions. It's time to revisit the time-based way of anim

    codehex
    codehex 2024/05/06
  • ひとり社長の経理の基本|Tetsuya Morimoto

    2019年12月に自分の会社を設立した。 なんの考えもなく意味なく3月決算にしてしまい、4ヶ月弱で決算を迎え、2ヶ月以内に法人税を納める必要があるので5月に入ってから法人決算を行った。そのときに役立ったの紹介と実際に法人決算をやってみた経験談 (失敗談) を書いておく。 (2024-05-05 追記) 稿の続編として時間が経ってからわかったことなどをまとめました。 法人設立のきっかけ仕事を辞めようと思ったとき、次にやりたいことはとくになかったし、40歳を超えて年齢的にも雇ってくれる会社をみつけるのは難しいだろうということは容易に予測できた。少し転職活動をしてみたものの、自分自身にやりたいことがないのもあり、あまり手応えを感じなかったので消去法のような流れで起業することにした。 私の場合、会社設立 freee を使って法人設立のための手続きをした。必要な手続きや書類作成など、法人登記まで

    ひとり社長の経理の基本|Tetsuya Morimoto
    codehex
    codehex 2024/05/05
  • Goで現在時間を1リクエストごとに統一する

    以前、Qiita の方で Go でアプリケーションとクライアントのミドルウェアを作成する方法知ってますか?という記事の中で net/http を使ったアプリケーションハンドラのミドルウェアを作成する方法を紹介しました。 今回はミドルウェアを使って 1 リクエストで扱う時間を統一する方法を紹介します。とても簡単です。リクエスト単位で時間を取得できると例えば、何かしらのデータを複数のレコードを更新する際に updated_at なるカラムへ保存する時刻を揃えることが可能になります。 方法 方法はとてもシンプルで context.Context を使います。 ミドルウェア内で http.Request が持つ context.Context に time.Now() を渡す。 アプリケーションロジックで現在時刻を扱う時に http.Request の context.Context から保持して

    Goで現在時間を1リクエストごとに統一する
    codehex
    codehex 2023/12/16
  • Cloudflare Workers で Dependency Injection

    NOT A HOTEL ではガッツリ Cloudflare Workers の上でアプリケーションを動かしています。 格的にアプリケーションを開発しようとすると、ある機能 A を作成するために、それに依存する機能 B、機能 C を事前にセットアップしなければいけません。これらをスッキリさせる手法として Dependency Injection(以下 DI)があります。 環境変数もセットアップに必要な機能です。うちではどのように DI を行なっているか、一つの事例として紹介します。言語は TypeScript です。 ディレクトリ構成 di.ts を worker.ts と同じ階層に作成しています。 di.ts の中身 以下のようなコードを書いています。 使う時は new DIContainer(env, req) もしくは new DIContainer(env) と記述して利用できます

    Cloudflare Workers で Dependency Injection
    codehex
    codehex 2023/10/24
    Cloudflare Workers での DI について書きました!
  • htmx is not a typo

    https://hackers-champloo.org/2023/program.html のLT、「htmx is not a typo」のスライドです。 スライド内で紹介した情報やリンクは以下のとおりです。 https://htmx.org https://www.thoughtworks.com/radar/languages-and-frameworks/htmx https://github.com/kimihito/hcmpl23-htmx-demo https://hypermedia.systems/book/contents/ https://htmx.org/essays/#memes https://alpinejs.dev/

    htmx is not a typo
  • Synchro - タイムゾーン型安全な Go ライブラリを開発している

    synchro と呼ばれる Go でもタイムゾーンを含めて型比較できるようになるライブラリを開発し始めました。スターください。 こんな感じで使えます。 package main import ( "fmt" "time" "github.com/Code-Hex/synchro" "github.com/Code-Hex/synchro/tz" ) func main() { utcNow := synchro.Now[tz.UTC]() jstNow := synchro.Now[tz.AsiaTokyo]() fmt.Println(utcNow) fmt.Println(jstNow) // Output: // 2023-09-02 14:00:00 +0000 UTC // 2023-09-02 23:00:00 +0900 JST fmt.Println("------") d

    Synchro - タイムゾーン型安全な Go ライブラリを開発している
  • Redirecting

    codehex
    codehex 2023/08/22
  • はじめに - Writing an OS in 1,000 Lines

    書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

    はじめに - Writing an OS in 1,000 Lines
    codehex
    codehex 2023/08/05
  • ChatGPT - LLMシステム開発大全

    私の今まで経験してきた全てのLLMノウハウを詰め込んだ、LLMシステムの開発ガイドです。 初めてLLMシステムを開発したいと思った時でも、精度改善や運用に行き詰った時でも、何かしら役に立つと思います。 現在200ページ超。 今後も随時更新していきます。 2023/7/28 体裁修正、余計…

    ChatGPT - LLMシステム開発大全
    codehex
    codehex 2023/07/22
  • GraphQL Server on Edge

    Workers Teck Tolks #1

    GraphQL Server on Edge
    codehex
    codehex 2023/07/20
  • このブログがFediverseに対応しました

    Twitter が日々壊れゆくなか、周りの人が MisskeyMastodon や Threads に住居を移すようになりました。 私も移住先を検討してみたものの、移住先のプラットフォームだっていつまで持つか分からないし、複数のプラットフォームにアウトプットを分散させるのも良くないなぁと思い、 最終的にマイクロブログがだめならブログでいいじゃんと自分を納得させるに至りました。 せっかくなら ActivityPub に対応して、Fediverse の人からリモートフォローできるようにして、反応が見れたら嬉しいよねということで色々と調べて対応させることができました。 ブログは「@blog.tyage.net@blog.tyage.net」でリモートフォローすることが可能です。 このブログは hugo で生成しており、静的ファイルのみ配信しています。 それは変えたくなかったため、Acti

    このブログがFediverseに対応しました
    codehex
    codehex 2023/07/18
    これは真似したい
  • Linux Storage Stack Diagram - Thomas-Krenn-Wiki-en

    The Linux Storage Stack Diagram shows the layout of the the Linux storage stack. Downloads Diagram for Linux Kernel 6.11 Currently in development, here is the list of upcoming changes: null_blk: remove the bio based I/O path (Kernel 6.9) Diagram for Linux Kernel 6.9 Linux Storage Stack Diagram v6.9): Linux I/O Stack Diagram v6.2 (20230309): ZIP (includes .drawio and .svg) PDF PNG Changelog: dm-vdo

    codehex
    codehex 2023/06/26
  • ただ個人開発してもどうせ誰にも使われないので集客から始めてみた

    自分の作ったサービスでっていく。 僕みたいに、大した技術力もなければフォロワーも少ないような個人開発者が自分のサービスを広めるために、集客に気で取り組んでいる過程をまとめていく。 まだっていくには程遠いが、想定に近い動きをできているため、ここで思考を整理しつつアプローチをシェアする。 僕が運営しているサービス いま僕が運営している『はいしんツールキット』はライブ配信者(ゲーム実況・VTuber etc.)向けのツール集だ。 YouTubeなどでライブ配信を見る習慣がある方には馴染み深いであろう、配信画面に視聴者のコメントを表示していたり、DiscordのアイコンがPOPに表示されていたり、ライブ配信活動に便利なツールを使えるのが主な機能となる。 Zennのユーザには縁遠いサービスなのは残念だが、いつどの時間でもYouTubeやTwitchを開けば、うちのサービスを使った配信者さんを簡

    ただ個人開発してもどうせ誰にも使われないので集客から始めてみた
    codehex
    codehex 2023/06/26
  • 畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル

    こういうツイートが話題になっていた。 「配列のすべての要素が条件を満たすならtrueを返す」関数を定義するとき、空の配列を渡したらfalseを返すかtrueを返すかが、良いプログラマかどうかの一つの境目だ— ふみ (DJ Monad) (@fumieval) 2023年5月29日 つまりScalaで言うと次のようなコードが何になるか、というものである。 val xs = Seq.empty[Int] xs.forall(_ == 42) 結論から言うと、このような関数は常にtrueを返す。 なぜだろう?その理由をこれから説明する。 ちなみに他に以下のような意見があった: 仕様による 例外を投げるべき いずれもまぁありえなくはないが、やめておいたほうが良いと思う。もし仮にfalseを返すような仕様があった場合、それは数学から乖離しているのでいずれ仕様内部で矛盾する可能性が高いし*1、最終的に

    畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル
    codehex
    codehex 2023/05/31
    面白い!名前は知らなかったけど all 系はループ中に異常が見つかれば false を返して、ループが終われば true が返るから空配列だと必ず true の認識だった
  • Python 初心者が始める AI 時代の Docker を使ったアプリ開発

    最近の AI 技術の進歩は目覚ましく、OpenAI による ChatGPT などの API の提供は沢山のアプリケーション開発者にとって Python を使った開発を始めるきっかけになったのではないでしょうか。筆者もそのうちの 1 人です。 効率的かつ再現性の高い開発環境は必要不可欠であり、それを実現するためのツールの一つが Docker です。Docker はアプリケーションを容易に再現可能なコンテナ内で動作させることができ、開発から番環境まで一貫した環境を提供します。これで「僕の環境では動いているんですけどねぇ...」といった問題[1]を避けることができます。 記事では、AI 時代に立ち向かうべく筆者が Python 初心者なりに取り組んだアプリケーション開発の方法の一つを解説します。 ディレクトリ構成 このような形を目指していきました。 . ├── .devcontainer │

    Python 初心者が始める AI 時代の Docker を使ったアプリ開発
    codehex
    codehex 2023/05/31
    Python 初心者ですが頑張って環境構築についてまとめました!
  • jq が jqlang organization に移譲されました - プログラムモグモグ

    JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦

    jq が jqlang organization に移譲されました - プログラムモグモグ
    codehex
    codehex 2023/05/30
    素晴らしい!原作者降臨の下りで安心した
  • LLM(GPT, PaLM等) with MLOps LT大会!!!に参加してきた - 天の月

    mlops.connpass.com こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。(後続に予定があった関係で懇親会は非参加でした) 会の概要 会の様子 GPT、Langchain、Faiss、FastAPI等を組み合わせた検索システム開発 by澁井さん LLMを活用した推薦システムの改善: 課題と初期導入のアプローチ by樋口 心さん LangChain Toolsの運用と改善 by藤さん LLMのオープンソース化とDatabricks by阿部さん NOT A HOTEL AIコンシェルジュ「Kevin」とキャッシュ by codehexさん LayerX Biz Boost〜Whisper+GPTによる音声文字起こし要約の取り組み〜 by白井さん 会全体を通した感想 会の概要 以下、イベントページから引用です。 今注目が集まっているLLM(GPT, P

    LLM(GPT, PaLM等) with MLOps LT大会!!!に参加してきた - 天の月
    codehex
    codehex 2023/04/25
    まとまってる。ありがたやー
  • https://note.com/wakinchan/n/n3af6dc2088f2

    こんにちは。NOT A HOTEL でソフトウェアエンジニアをしているきんちゃん。(@wa_kinchan) です。 今回、この note では、2021年頭から徐々に設計・開発、2022年10月に初めてリリースをした、NOT A HOTEL のスマートホームの過程と開発における裏側のについて、より深く掘り下げ、エンジニア目線での立ち上げ話から、設計と運用で出てきた様々の課題、システム設計のやや技術的な話も含め、ありのままのお話したいと思います。エンジニアのみならず、NOT A HOTELのスマートホームについて理解ができるかと思います。 また、スマートホームを一緒につくってくれる仲間を募集しており、この記事を通して、ワクワクが届けば嬉しいです。 スマートホームのより踏み込んだシステム開発の話(バックエンド・インフラの設計寄り)は、次の note に投稿予定です。エンジニアの方は、事前にこ

    https://note.com/wakinchan/n/n3af6dc2088f2
    codehex
    codehex 2023/04/19
    凄い DX だ...!! "お風呂が実装完了しお湯はりが出来たときには、足湯をして、元気を取り戻しました。"