htilcs1115のブックマーク (324)

  • 個人的におすすめしたいFeature-Sliced Designというフロントエンドアーキテクチャ設計方法論

    Feature-Sliced Designというフロントエンドアーキテクチャ設計方法論をプロジェクトに導入してみたところ、 個人的には良いと感じているので、どのような設計方法論なのか、具体的にどのような部分が良いと感じたかを紹介していきたいと思います。 Feature-Sliced Designとは? Feature-Sliced Designは、フロントエンドアプリケーションを対象としたアーキテクチャ設計方法論です。公式サイトでは、「コードを整理するためのルールと規約の集大成」と記載されています。 Feature-Sliced Designの設計方法論 Feature-Sliced Designでは、プロジェクトはLayerで構成され、各LayerはSliceで構成され、各SliceはSegmentで構成されます。 Layer Feature-Sliced Designの第一階層をLay

    個人的におすすめしたいFeature-Sliced Designというフロントエンドアーキテクチャ設計方法論
  • 新しいRubyパーサーPrism利用時の開発体験の変化

    この記事で扱っていること 記事ではRuby 3.3で導入されたPrismという新しいパーサーについて扱っています Prismが持つ「パース時に問題が発生した場合でも可能な限り意味のある結果を返却する」という機能に着目して下記について話します Rubyを記述する際の開発者体験がどれくらい向上しているのか? 「可能な限り意味のある結果」をどうやって組み立てているのか? 最後に主テーマから外れますが、Prismの動かし方についても話しています はじめに こんにちはウォンテッドリーで推薦基盤の改善をやっているnasaです 去年の12/25にもRubyの最新バージョンがサンタさんから届きました。https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/ 最新バージョンのRuby 3.3.0ではPrismという新しいパーサーが導

    新しいRubyパーサーPrism利用時の開発体験の変化
    htilcs1115
    htilcs1115 2024/01/26
    書いた
  • 1人1人が小さなアーキテクトになる組織を目指す | Wantedly Engineer Blog

    こんにちは!ウォンテッドリーでバックエンド領域のエンジニアリングマネージャーをしている鴛海です。 この記事ではウォンテッドリーのバックエンド組織がどのような課題を解決してきて、現在どのような課題が存在しているのか、どのようなバックエンド組織を目指しているのかを紹介します。 ウォンテッドリーはプロダクトを大きく変化させる時期に入っています。チームとしても個人としても大きな挑戦ができる環境にあるので興味を持ってもらえると幸いです! 前提: ウォンテッドリーのプロダクトこれまでの取り組みと現在の課題を紹介する前に前提となるプロダクトについてご紹介します。 ウォンテッドリーでは「究極の適材適所により、シゴトでココロオドルひとをふやす」をミッションとして仕事に関するサービスを展開しています。ココロオドルシゴトを見つけてその環境で活躍するまでを “Recruitment Marketing”、 “Re

    1人1人が小さなアーキテクトになる組織を目指す | Wantedly Engineer Blog
  • 和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog

    こんにちは、ウォンテッドリーDev Branch VPoE 室長の髙橋です。 ウォンテッドリーの開発組織であるDev Branchでは、外部から有識者を招いて勉強会を開催したり、技術顧問として知見を取り入れるなど、プロダクト開発により強い組織となるためにさまざまな施策を行っています。 今回、「テスト書いてないとかお前それ @t_wada の前でも同じ事言えんの」 でおなじみのt_wadaさん(和田 卓人さん、以下和田さん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」をウォンテッドリー向けにカスタマイズして講演いただきました。 このストーリーでは、今回の講演の経緯から社内の反応・Q&Aまで、講演に関する詳細をご紹介いたします。 社内講演のきっかけ事の発端は、弊社のVPoEである要(X : @nory_kaname)より、外部エンジニアを招いて勉強会を開催する旨の問いかけ

    和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog
  • 2023年のDenoの変更点やできごとのまとめ

    Denoアドベントカレンダー 24日目の記事です🎅 この記事では、2023年にDenoに関して起きた出来事や大きな変更点などをまとめます。 Denoのアップデート Node.js互換性の改善 Node.js互換性の向上のために、様々な改善や機能追加などが行われています。特に、既存のNode.jsプロジェクトDenoで動かせるようにするための機能がいくつか導入されています。 大きな点としては、Astroが動作するようになりました。 今年、Node.js互換性に関連して実装されたもののうち、主要なものをいくつか紹介いたします。 node:URLのサポート node:形式のURLを記述することで、Node.jsの組み込みパッケージをDenoから読み込めるようになりました。 import { EventEmitter } from "node:events"; const emitter =

    2023年のDenoの変更点やできごとのまとめ
    htilcs1115
    htilcs1115 2023/12/25
    Deno活発だ。アップデートがまとまっててすごくありがたい記事
  • RustでOS開発はじめの一歩

    https://uniquevision.connpass.com/event/303687/

    RustでOS開発はじめの一歩
    htilcs1115
    htilcs1115 2023/12/21
    書いた
  • Rustを使ったOS開発 - 普段のRustと同じ様にOSを実装したい

    まえがき こんにちは、@nasaです。 この記事は、Wantedly Advent Calendar 202310日目の記事です。 前回の記事は、「Wantedly での SLO 運用の現状とこれから」でした! 最近、趣味Rustを用いてOSを開発しています。通常のRustでCLIツールを開発する際とは異なり、OSを書く際には多くの異なる考慮事項があります。 ここでは、ベアメタル環境(OSが存在しない環境)で動作するプログラムをRustで実装する方法を紹介します。 ゴールは普段のRustと同じ様にOSを実装できる状態にすることです。 普段のRustとは タイトルで普段のRustと書きましたが、普段のRustとはどのようなものでしょうか? 記事では下記の条件を満たす環境で実装できる状態を普段のRustと呼んでいます。 main関数が動作する 関数呼び出しができる 動的メモリ確保ができる

    Rustを使ったOS開発 - 普段のRustと同じ様にOSを実装したい
    htilcs1115
    htilcs1115 2023/12/11
    書いた
  • サッカーは帰納法

    東京大学運動会ア式蹴球部の部員ブログ。サッカーを誰よりも楽しみ、そして日一価値のあるクラブとなるため邁進中。部員たちの feelings ぜひお楽しみください!(左上の3線のマークを押していただくと簡単に投稿者の検索ができます。)

    htilcs1115
    htilcs1115 2023/06/21
    学習プロセスが言語化されててすごい。いい話
  • 最近プログラミングが楽しい - Blog::kobaken

    6/16(金) は、久々のオフライン開催の吉祥寺.pm #33でした。懇親会含め楽しませてもらいました!主催のid:magnoliak ありがとうございました! ここでは、話したことを書いてみたいと思います。 まず最初に、久々のオフライン開催おめでとうございます!いや〜〜〜、主催のmagnoliaさんよかったですね!おめでとうございます! 改めて、こんにちは。こばけんと言います。 エンジニア組織開発責任者をしたり、開発生産性の可視化サービスを作っていました。 今は、はてなさんやDiverseさんで業務委託をしながら、起業の準備をしています。 技術コミュニティでは、Japan Perl Associationの理事として、YAPCという技術カンファレンスの運営やPerlのドキュメントを整備するワーキング・グループを運営しています。 2019年にYAPC::Tokyoのリーダーをしていたのです

    最近プログラミングが楽しい - Blog::kobaken
    htilcs1115
    htilcs1115 2023/06/20
    いい話〜
  • OAuth 2.0 認可コードグラントフローについて理解したことをまとめます - Money Forward Developers Blog

    はじめに こんにちは、マネーフォワード ID 開発チームのMapduと申します。 この記事はMoney Forward Engineering 2 Advent Calendar 2022 の1日目の投稿になります。 マネーフォワード IDはマネーフォワード社、およびグループ会社の各サービスのID基盤、認証基盤となるWebアプリケーションです。 今日は、サードパーティーアプリケーションによるHTTPサービスへの限定的なアクセスを可能にする認可フレームワークである OAuth 2.0 について紹介します。 ※ この記事では、経験に基づいて要約しています。詳しくはこちら「RFC 6749」をご覧ください。 ※ The OAuth 2.0 Authorization Framework (English / Japanese) 記事の構成 OAuth 2.0 Roles Protocol Flo

    OAuth 2.0 認可コードグラントフローについて理解したことをまとめます - Money Forward Developers Blog
    htilcs1115
    htilcs1115 2023/04/10
    参考になった
  • オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に

    オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyPythonWASMランタイムに対応し、Ruby/Pythonでの記述が可能に VMware Wasm Labsは、Node.jsやDenoのようにWebAssemblyJavaScriptで記述したWorkerをサーバサイドでイベントドリブンに実行できる「Wasm Workers Server」のバージョン1.0をリリースしました。 Wasm Workers Server v1.0.0 is out. We are happy to announce the support for Python, Ruby and more languages in the future! From now on, you can create worker-based se

    オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に
    htilcs1115
    htilcs1115 2023/03/09
    気になる
  • Linuxにおけるデバイスファイルの仕組み

    Linuxにおけるデバイスファイルはデバイスをファイルという概念を通して扱えるようにしたものです。デバイスファイルは通常のファイルと同様に読み書きを行うことができます。しかし実際には、その読み書きはデバイスドライバを通じてデバイスの制御に変換されます。 この記事では、デバイスファイルへの読み書きがどのようにデバイスの制御に変換されるのかを説明します。デバイスファイルはデバイスドライバとファイルの2つのコンポーネントに依存したものであるので、最初にデバイスドライバ、次にファイルについて説明し、最後にデバイスファイルがどのようにデバイスドライバと結び付けられるかを解説します。 この記事の内容は主に詳解 Linuxカーネル 第3版及びhttps://github.com/torvalds/linux/tree/v6.1によります。 目次 デバイスドライバ デバイスドライバの実例 read_wri

    Linuxにおけるデバイスファイルの仕組み
  • GitHub Actions Workflow 作成 Tips - NTT Communications Engineers' Blog

    はじめに こんにちは、クラウド&ネットワークサービス部で SDPF のベアメタルサーバー・ハイパーバイザーの開発をしている山中です。 先日 GitHub Actions self-hosted runners のオートスケーリング構成の紹介(クラウドサービス開発を支える CI の裏側) の記事で、自作の runner controller と Docker を用いた、オンプレミスでの CI 環境構成についてご紹介しました。 今回の記事では、構築した CI 環境上で動かしている workflow の紹介をしながら、workflow 作成についての Tips をいくつかご紹介したいと思います。 engineers.ntt.com 記事を書いたモチベーション 実際の業務で GitHub Actions を使用するにあたって、ありがちな悩みを解決するための workflow の作成事例や工夫などの

    GitHub Actions Workflow 作成 Tips - NTT Communications Engineers' Blog
    htilcs1115
    htilcs1115 2023/02/28
    先月困ったことがほとんど解決されててすごいなと思った.
  • Deno 1.31: package.json support

    # MacOS and Linux curl -fsSL https://deno.land/x/install/install.sh | sh # Windows iwr https://deno.land/x/install/install.ps1 -useb | iex Click here for more installation options. package.json supportThis release brings an exciting new feature - package.json support. Deno is now even more accessible, enabling developers to transition from existing Node projects with ease. Deno will now automatica

    Deno 1.31: package.json support
  • Goアセンブリの書き方 - Plan 9とGo言語のブログ

    Goアセンブリの書き方からビルド方法までを一通り調べました。Goアセンブリを書いたことのない人がコードを書いてリンクできるところまでは一通り書いているつもりですが、Goアセンブリの言語仕様を網羅してはいないので、興味があれば最後に書いた参考情報も読んでみてください。 この記事ではGo 1.16.xでAMD64命令セットを扱いますが、具体的な命令や値のサイズ以外は、他のアーキテクチャを使う場合でもだいたい同じだと思います。 アセンブリコードの書き方 GoのアセンブリはPlan 9アセンブリを概ね踏襲していて、AT&T記法です。整数を受け取って、それに2を加算した値を返す関数func add2(i int32) int32を書いてみましょう。アセンブリのコードは.sファイルに書きます。また、アセンブリはアーキテクチャに強く依存するので、Goの習慣にしたがってファイル名にはアーキテクチャ名も入れ

    Goアセンブリの書き方 - Plan 9とGo言語のブログ
  • データサイエンティスト向け性能問題対応の基礎

    データサイエンティストの皆さん、次のような性能問題にであったことないでしょうか。「データの加工処理が遅いからインスタンスタイプを上げたが速くならなかった」「機械学習の学習が遅いから、GPUを増やしたが、速くならなかった」こういったときにどうすればよいか説明します。

    データサイエンティスト向け性能問題対応の基礎
  • WasmでJavaScriptを動かす意義 - id:anatooのブログ

    ある時Twitterのタイムラインを見ていたら、「JavaScriptWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するので、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。 JavaScriptWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJava

    WasmでJavaScriptを動かす意義 - id:anatooのブログ
  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

    ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
  • WasmerはどのようにWasmからネイティブバイナリを作っているのか?

    WasmerはどのようにWasmからネイティブバイナリを作っているのか? 最近Wasmランタイムの1つであるWasmerのバージョン3.0.0がリリースされ、色々と機能が追加された。 その中でも個人的に特に気になったのが、Support for creating native executables for any platformという記載。(ニュースでも取り上げられていた) どうやら、WasmバイナリからOSのネイティブバイナリを生成できるようになったらしい。 そもそもどうやって生成してる?とか、CやRustのコンパイラから直接生成したときと比べてパフォーマンスはどうなる?バイナリサイズは?などなど、色々と気になった。 これは調べるしかないということで、今回は**WasmerはどのようにWasmからネイティブバイナリを作っているのか?**を深堀りしていこうと思う。 とりあえず作ってみる

    WasmerはどのようにWasmからネイティブバイナリを作っているのか?
  • ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか

    新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特徴があります。 ptrace より 100 倍以上高速 LD_PRELOAD や既存のバイナリ書き換えツールより確実 カーネルへの変更なし、かつカーネルモジュールを使わない プログラムのソースコード、プログラムの再コンパイル不要 eBPF でトレーシングをしているけれど、できれば制約が少ないユーザー空間でトレーシングツールを作りたい。もしくは、gVisor のようなサンドボックスを作りたいけれど、ptrace による性能劣化が大きいので、他の高速なシステムコールフックの仕組みが使いたい、というよう

    ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか
    htilcs1115
    htilcs1115 2022/10/27
    すごい