codehexのブックマーク (639)

  • 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 ライブラリを開発している
  • コーヒー2杯と水で9500円、観光客相手のぼったくり横行 イタリア

    イタリアのメディアが、観光地の飲店などでの便乗値上げやぼったくりを報じている/Stefano Montesi/Corbis/Getty Images ローマ(CNN) 2023年夏のイタリア旅行は史上最も高くつくかもしれない。観光地の飲店などで便乗値上げやぼったくりが相次ぎ、外国人観光客にも国内からの観光客にも影響が出ている。 例えばコモ湖を訪れたカップルは、サンドイッチを半分にカットする代金として2ユーロ(約300円)を請求された。ローマの海沿いの街オスティアでは、若い母親が子どもの哺乳瓶を電子レンジで温めてもらうために2ユーロを支払った。 サルディニアのホテルでコーヒー2杯と飲料水の小さなボトル2に60ユーロ(約9500円)を支払ったという観光客もいる。ただ、経営者はCNNの取材に対し、料金は明記してあり、主に港を見晴らす眺めの良さの対価だと説明している。 北部ポルトフィーノ近郊

    コーヒー2杯と水で9500円、観光客相手のぼったくり横行 イタリア
    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システム開発大全

    ChatGPTとLLMシステム開発について纏めた187ページ資料です。 2024/04 名称を改め資料を大幅にアップデートしました! 今後も随時更新していきます。 データサイエンティスト協会での発表動画はこちら。 https://youtu.be/l9fpxtz22JU Build Japanでの発表はこちら。 https://youtu.be/UEZzx6a005g?si=Ot8EO2bv8yhQQEcy 2023/7/28 体裁修正、余計なページを削除 2023/12/12 RAG、API仕様、モデルのページを追加。また情報を最新化。 2024/04 名称を改め資料を大幅にアップデートしました! 1. LLM - GPTの全体像 LLM - GPT とは何なのか ~チャットAIを例にした動作イメージ~ 大規模言語モデル(LLM)が持つ基礎能力 デジタルツールとLLMの連携 GPTに関す

    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.2 Linux Storage Stack Diagram v6.2 (for Linux Kernel 6.2 and 6.1): Linux I/O Stack Diagram v6.2 (20230309): ZIP (includes .drawio and .svg) PDF PNG Diagram for Linux Kernel 4.10 Linux Storage Stack Diagram v4.10 (for Linux Kernel 4.10): Linux I/O Stack Diagram v4.10 (20170310): SVG

    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 だ...!! "お風呂が実装完了しお湯はりが出来たときには、足湯をして、元気を取り戻しました。"
  • dbdev | The Database Package Manager

    basejump A collection of functions designed to make testing Supabase projects easier

    dbdev | The Database Package Manager
    codehex
    codehex 2023/04/15
    Supabase が運営する PostgreSQL 向けの npm だったり cpan みたいなパッケージマネージャー テーブル作成とかのクエリがパッケージとして配布されるっぽい!
  • ChatGPT を Slack で動かすのが楽しい

    僕は NOT A HOTEL という会社で働いている。 先日社内イベントとしてアイディアソンを行った。ここで僕と CTO の @okbtks と@mamiracle__ は運営をやっていて、その片手間で @okbtks と一緒にハッカソンをしていた。 そこで作ったのがこの「kevin」ボット。 まず 2 人ハッカソンのテーマとして Slack に GPT-4 の AI アシスタントを導入できるように作ってみようなった。会社には既に ChatGPT Playground も存在していたが Slack へ導入した理由はいくつかある。 ChatGPT を使うためのハードルを下げたい ShareGPT のように ChatGPT でどうやりとりしているのかを共有したい 個人情報保護の観点で内製の ChatGPT を使ってもらいインシデントを防ぐ[1] スレッドの今北産業(要約機能)が熱望されていた

    ChatGPT を Slack で動かすのが楽しい
    codehex
    codehex 2023/04/14
    書きました