並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 501件

新着順 人気順

interfaceの検索結果321 - 360 件 / 501件

  • PythonでDDDやってみた💪 - techtekt

    はじめに 実行環境 ディレクトリ構造 app migrations/model pyproject.toml ソースコードと簡単な解説 app/core app/core/abstract app/core/decorator app/core/exception app/core/interface app/core/middleware app/core/mixin app/ddd app/ddd/application app/ddd/application/schema app/ddd/application/schema/studnet app/ddd/application/usecase app/ddd/application/usecase/student app/ddd/domain app/ddd/domain/student app/ddd/infra app/ddd

      PythonでDDDやってみた💪 - techtekt
    • Time on Unix

      Sections What is time Representing time Where do we usually find time on Unix System time, hardware time, internal timers Syncing time with external sources What depends on time Human perception of time What is time Time is relative Measuring time and standards Coordinating time Time zones DST Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keep

        Time on Unix
      • ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita

        この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ

          ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita
        • Go言語の不満 - まめめも

          ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/TS、Rustあたりです。 よかったところ ひとことで言えば「便利になったC言語」という感じでした。結構低レベルなAPIも揃っていてよかった(デーモン化が素直にできなかったこと以外)。 Rustと比べたらストレスフリーです。思った通りに書くだけでとりあえず動いてくれる。すばらしい。 見た目はあきらかに長くてダサいですが、こだわりを捨てて割り切って書けると言えなくもない。 配布しやすいシングルバイナリが作れるのはやはりよい。今回Goを選んだ理由がこれ。 細かいカプセル化がむず

            Go言語の不満 - まめめも
          • Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話

            この記事について Zenn では長らく通信処理に Axios を使っていました。 しかし、Fetch API が多くのモダンブラウザなどで普通に使えるようになった今、使う必要性があまり無くなったため、Axios を使っている処理を全て Fetch API に置き換えることになりました。 この記事では、その置き換え作業をどう進めていったのか、その結果どう良くなったのかを解説していこうと思います 🗽 解説より置き換えた結果を知りたいのよ私は!!! って方が居るかと思いますので、最初に置き換えたことで良くなった部分を紹介しようと思います。 まず一番良くなったところといえば、ずばりサイト全体のビルドサイズが 10 KB も減りました。( ちなみに、10 KB は圧縮時のサイズで、圧縮しない場合 100 KB になります 😇 ワーオ ) グローバルのビルドサイズが 103.35KB gzip 時

              Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話
            • 難解なソフトウェアをデザインする人にこそお勧めしたいOOUI(オブジェクト指向UI)

              ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog みなさまこんにちは。ヤフーでデータソリューション事業のUI/UXデザインを担当している、横内です。 2022年11月に弊社が運用するデータ可視化ソフトウェアのDS.INSIGHTで人流データを分析できるPlace機能を大幅アップデートしました。その際使用したOOUIという設計手法から得られた学びをプロジェクトの実例を交えながらご紹介します。 OOUIとは そもそもOOUIとは何者でしょうか。OOUIとは、Object Oriented User Interfaceの略語で、通称オブジェクト指向UIと呼ばれています。 オブジェクトとはその名の通り「役割を持ったモノ」を指す言葉です。例えばお店で買うクロワッサンや、ECサイトでカゴに入

                難解なソフトウェアをデザインする人にこそお勧めしたいOOUI(オブジェクト指向UI)
              • シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表

                JavaScriptランタイムのBunは、新機能としてシェルスクリプトをJavaScriptもしくはTypeScriptで記述し、特定のOSに依存せずに実行できる「Bun Shell」を発表しました。 シェルスクリプトは特定のシェルに依存するもの LinuxやmacOS、WindowsなどのOSは一般に、「シェル」(Shell)と呼ばれる機能を備えています。 シェルはコマンドラインインターフェイスなどのユーザーとの対話機能を備えており、例えばLinuxのコマンドラインで「ls」コマンドを打ち込むとファイルの一覧が返ってくるという動作はシェルが提供しています。 そしてシェルでは一般に、こうしたコマンドを複数つなげた一連の動作をスクリプトとして定義し実行できる「シェルスクリプト」が利用可能です。例えば、次のシェルスクリプトは、「ls」コマンドによるファイルの一覧をファイル「list.txt」に

                  シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表
                • 一番文句言われなさそうな React コンポーネントの書き方

                  最近 React コード生成機を作っていて「一番文句言われなさそうな React コンポーネントの書き方ってなんだ…?」と改めて疑問に思ったので考えてみました。 結論から言うと以下の形をデフォルトにするのが良さそうかなと思いました。 function vs. アロー関数 -> アロー関数 型は基本的に VFC でつけて、 children が欲しい場合は明示的に props に追加する return を省略可能な時省略するか -> しない props を destructure するか -> しない派だったけどした方がいい気がしてきた const Hoge: React.VFC<Props> = ({ title }) => { return ( <Fuga title={title} /> ) } ちなみにですが、大事な前提として TypeScript を使うことを前提としています。(型

                    一番文句言われなさそうな React コンポーネントの書き方
                  • RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように

                    RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように Ruby言語のリファレンス実装、すなわち事実上の標準となっているRubyインタプリタはC言語で実装されています。そのため、このRubyインタプリタもしくはそのソースコードは一般に「CRuby」(もしくは、まつもとゆきひろ氏による実装という意味でMRI:Matz' Ruby Implementation)と呼ばれています。 CRubyのソースコードをコンパイルすることで、Windows対応Rubyインタプリタのバイナリ形式やLinux対応Rubyインタプリタのバイナリ形式などが生成されるわけです。 今年、2022年1月7日、このCRubyのソースコードに対する要望チケット「Proposal to merge WASI based WebAssembly

                      RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように
                    • Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)

                      Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について ナイル株式会社メディアテクノロジー事業本部の工藤さんにMVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について解説いただきました。 こんにちは、ナイル株式会社メディアテクノロジー事業本部で開発マネージャをしています工藤@ta99toです。 今回は大規模で複雑度の高い開発をMVCフレームワークベースで構築する際に僕が課題と捉えているポイントやその具体的な解決手法について解説させていただきたいと思います。 「MVC以上の責任分離イメージがつかないよ!」 「DDDとかクリーンとかオニオンとかあのへんの設計パターンの導入モチベーションが不明」 「どうやっても最終的には複雑になって追加開発や修正開発が怖い状態になっちゃう」 ↑このような悩みを持った方に対して

                        Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)
                      • In 2024, please switch to Firefox

                        This December, if there’s one tech New Year’s resolution I’d encourage you to have, it’s switching to the only remaining ethical web browser, Firefox. According to recent posts on social media, Firefox’s market share is slipping. We should not let that happen. There are two main reasons why switching is important. “Red Panda” by Mathias Appel is marked with CC0 1.0. 1. Privacy Firefox is the only

                          In 2024, please switch to Firefox
                        • Design Skill Map - メルカリUXデザインチームの専門スキル|Mercari Design Blog

                          UX Designチームのasakomです。今回はデザイナーの役割定義の活動の一つとして作成した、”Design Skill Map”についてお話しします。 このSkill Mapは、メルカリUX Designチームで求めるデザイナーの専門スキルを整理したものです。以前紹介したDesign Ladderは、メルカリの行動指針に基づいて作成した、デザイナーに求める態度やマインドセット。今回は専門職としてのデザイナーに必要な技術や知識をSkill Mapとしてまとめました。 UXデザイナーの役割定義や、個人の目標設定、採用の基準作りなど、チームの運用に関わる人や、メルカリのUXデザインチームが求める人材に興味のある方に、ぜひ読んでいただきたいです なぜSkill Mapを作ったかUXデザインチームの役割定義は、チームのミッション達成のために存在します。私たちのチームのミッションは、”メルカリの

                            Design Skill Map - メルカリUXデザインチームの専門スキル|Mercari Design Blog
                          • スタメンの技術的負債解消戦略 - stmn tech blog

                            1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。本来プロダクトチームはユーザーにとっての本質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が

                              スタメンの技術的負債解消戦略 - stmn tech blog
                            • frourioを使って1ヶ月で管理画面をリリースした話 - Leverages Tech Blog

                              はじめに こんにちは、レバテック開発部の河村です。 私はレバテック各種メディアのリプレイスを担当しており、バックエンドを中心にフルスタック開発を行っています。 今回は管理画面のリリースで採用した、フルスタックフレームワークであるfrourioについて、frourioを採用した理由や使ってみて良かったこと、困ったことを紹介します。 この記事を通して、frourioのメリット、デメリットだけでなく、レバテック開発部ではどのような背景のもと、技術・アーキテクチャの選定を行っているのか、どれくらいのスピード感で開発を行っているのかをお伝えできればと思います。 なお、この記事ではfrourioにおける環境構築や使い方等の説明は割愛させていただきます。 開発背景・経緯 今回、開発する対象となった管理画面は、レバテックの各メディアで運用する記事やセミナー情報、エントリー情報を管理するものになります。 す

                                frourioを使って1ヶ月で管理画面をリリースした話 - Leverages Tech Blog
                              • Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO

                                Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 はじめに Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 今回はできるだけ外部ライブラリやフレームワークを使わずにGo言語の標準機能のみで開発しました。 これからバックエンドにGo言語を使用することを検討されている方の参考になれば幸いです。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学

                                  Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO
                                • 【第2回】TypeScriptもウェブも仕様や原理から楽しむ | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                  2022年4月に著書『プロを目指す人のためのTypeScript入門』が発売された鈴木僚太さん(https://twitter.com/uhyo_)。QiitaやTwitterでは「うひょ(uhyo)」さんとして、TypeScriptやフロントエンドの話題を中心にウェブ技術に対する踏み込んだ解説でも知られています。 著書ではあえて触れられなかったという「TypeScriptでウェブアプリケーションをどう書くか」という観点へのヒント、なぜそれを書かなかったのか、そして仕様や原理に立ち返って自ら考えることの楽しさについて、株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてな

                                  • 自作して学ぶKubernetes Scheduler | メルカリエンジニアリング

                                    Mercari advent calender の21日目を担当します@sanposhihoです。現在大学の学部4回生で、メルカリでは内定者インターンとして、メルカリのホーム画面などのバックエンドを担当するチームに所属しています。 また、最近は個人的にKubernetesやその周辺のOSSにコントリビュートをしていて、特にKubernetesのコントロールプレーンのコンポーネントのうちの一つであるkube-scheduler周りを触ってることが多いです。 後で詳しく説明しますが、kube-schedulerはPodをどのNodeで実行するかを決定しているコンポーネントです。NodeAffinityや比較的新しいものだとPod Topology Spread Constraintsなど、Podのスケジュールの制約を指定できる機能も基本的にこのkube-schedulerに実装されています。

                                      自作して学ぶKubernetes Scheduler | メルカリエンジニアリング
                                    • 踏み台の管理コストを削減!ECS ExecとTerraformでつくる本番オペレーション環境 - LIVESENSE ENGINEER BLOG

                                      こんにちは。マッハバイトを運営するアルバイト事業部エンジニアの mnmandahalf です。 みなさんは本番DBへのSQLの手動実行等の作業をどんな環境で行なっていますか? 通常はDBにアクセスする用の踏み台サーバにSSHログインして作業を行うケースが多いと思います。 マッハバイトでも最近まで(現在もDBによっては)踏み台を使用していたのですが、最近新・本番作業環境を導入したのでその背景とつまづきポイント等についてご紹介します。 これまでのマッハバイトにおける本番作業 これからのマッハバイトにおける本番作業 TerraformでのECS Execの設定方法 ECSタスクロールにアタッチするポリシードキュメント ECS Execを実行するのに必要なIAMにアタッチするポリシードキュメント ECSクラスタでexecute-commandの監査ログをCloudWatchに流し、ログをKMSキー

                                        踏み台の管理コストを削減!ECS ExecとTerraformでつくる本番オペレーション環境 - LIVESENSE ENGINEER BLOG
                                      • A Modern C Development Environment

                                        Webinar: How New IoT Security Regulations Will Shape the Industry’s Future - Tuesday, Sept. 17th @ 9AM PT | 12PM ET | 6PM CET | RSVP Now Sometimes, C/C++ projects have a long development cycle. When working on such a project, it can be easy to take our development environment for granted, and forget about the effort invested in its bring-up. The build environment works like magic, the test framewo

                                          A Modern C Development Environment
                                        • TabFS

                                          Going through the files inside a tab's folder. For example, the url.txt, text.txt, and title.txt files tell me those live properties of this tab (Read more up-to-date documentation for all of TabFS's files here.) This gives you a ton of power, because now you can apply all the existing tools on your computer that already know how to deal with files -- terminal commands, scripting languages, point-

                                            TabFS
                                          • 無料お絵描きアプリ「Krita」に画像生成AIを組み込んで落書きから美麗イラストを作成する方法まとめ、Stable DiffusionとControlNetをコマンドなしでサクッと導入可能

                                            無料かつ高機能なペイントアプリ「Krita」に画像生成AI「Stable Diffusion」を組み込むプラグインが「krita-ai-diffusion(AI Image Diffusion)」です。Generative AI for Kritaを使えば落書きのような下描き画像から美麗イラストを生成できるとのことなので、インストール手順や使い方をまとめてみました。 GitHub - Acly/krita-ai-diffusion: Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. https://github.com/Acly/krita-ai-diffusion ・目次 ◆1

                                              無料お絵描きアプリ「Krita」に画像生成AIを組み込んで落書きから美麗イラストを作成する方法まとめ、Stable DiffusionとControlNetをコマンドなしでサクッと導入可能
                                            • BIOS、更新してますか?

                                              BIOS、更新してますか?2020.07.03 22:0070,742 David Nield - Gizmodo US [原文] ( 松浦悦子/Word Connection JAPAN ) えっ、「ばいおす」ってなんですか? そう思う人もいるかもしれませんが、ざっくり言うとPC(Windows機)の基本中の基本となるソフトウェアのことです。米GizmodoのDavid Nieldが基本的なところから解説してくれています。その性質上、実際に試される際は自己責任でお願いいたします。 BIOSとはBIOS(Basic Input/Output System)はコンピューターに搭載されている最も基本的なソフトウェア。コンピューターの電源を入れると最初に起動し、システムの構成要素(コンポーネント)がすべて動作しているか、正しい場所にあるかをチェックし、メインのOSをロードします。PCのスムーズな

                                                BIOS、更新してますか?
                                              • WebAssemblyとRustが作るサーバーレスの未来

                                                注目を集めるWebAssemblyとRustそしてサーバーレスに結びつく未来を、Cloudflareのエンジニアが解説する。 JavaScriptの登場によって、Webブラウザーはスタティック(静的)なWebページを表示するだけの存在から、より動的なアプリケーションを実行するプラットフォームに進化した。そしてそれをさらに進化させるために登場したのがWebAssemblyだ。WebAssemblyは2015年にMozilla Foundationによって発表され、その後2019年12月にW3Cのレコメンデーションとして採択されたブラウザーで実行されるコードのバイナリーフォーマットの標準だ。 HTML、CSS、そしてJavaScriptに続く進化のための要素の一つとして紹介されるWebAssemblyは、動的型付けのインタープリター言語であるJavaScriptと比較してコードのサイズが小さく

                                                  WebAssemblyとRustが作るサーバーレスの未来
                                                • Logging Best Practices: The 13 You Should Know

                                                  Log Analytics Logging Best Practices: The 13 You Should Know When you search for things on the internet, sometimes you find treasures like this post on logging, e.g. creating meaningful logs. This post is authored by Brice Figureau (found on Twitter as @_masterzen_). His blog clearly shows he understands the multiple aspects of DevOps and is worth a visit. Our thanks to Brice for letting us adapt

                                                    Logging Best Practices: The 13 You Should Know
                                                  • Diver-X、世界初!寝ながらの使用に最適化したVRデバイス「HalfDive」を発表 -ゲーム及び寝ながらの作業用途でコンシューマー展開を目指す-

                                                    Diver-X、世界初!寝ながらの使用に最適化したVRデバイス「HalfDive」を発表 -ゲーム及び寝ながらの作業用途でコンシューマー展開を目指す--シードラウンドでDEEPCOREから3,000万円の資金調達- Diver-X株式会社(本社:東京都中央区、代表取締役:迫田大翔、以下「Diver-X」)は、世界初*となる、寝ながらの使用に最適化したVRデバイス「HalfDive(ハーフダイブ)」を発表します。2021年11月6日からのクラウドファンディングサイトKickstarterを通じた支援者募集に向けた準備を進めております。*自社調べ 【HalfDiveの特長】 一般的なVRヘッドマウントディスプレイ(以下、VR HMD)とは異なり、最初から寝ながら使用することを前提に開発しています。現行のVR HMDの殆どは動き回りながら使用することが想定されており、それ故に小型かつ軽量であるこ

                                                      Diver-X、世界初!寝ながらの使用に最適化したVRデバイス「HalfDive」を発表 -ゲーム及び寝ながらの作業用途でコンシューマー展開を目指す-
                                                    • チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog

                                                      Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。Notion や Figma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を提供し、それらは JavaScript の Map や Array のように利用できます。さらにそのデータに対する変更は他のクライアントに自動的に配布・同期されます。 Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。 クイックスタート Y.Map がクライアント間で自動的に同期されるコード例を見てみましょ

                                                        チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog
                                                      • チームで1年間コードレビューを最優先に実施したら開発生産性に良い影響を与えてくれたかも

                                                        \スニダンを開発しているSODA inc.の Advent Calendar 10日目の記事です!!!/ こんにちは!!!!SODA開発部の矢野です!!! はじめに 私のチームでは一年前からコードレビューを最優先に実施するという取り組みをしています。この取り組みを継続した結果開発生産性にも良い影響を与えてくれたかもしれないので記事にしようと思います! ちょうどこの記事を作成しているときにX(旧Twitter)で「PRのレビューを最優先にしたらチームの生産性が上がった」の投稿にたくさんのいいねがついていたので、コードレビューを最優先に取り組んで効果を実感している組織やチームが多いのかもしれないですね。 レビューを最優先にした結果 結果から書くと、 「コードレビューを最優先にする」取り組み前後の「レビューからアプルーブまでの平均時間」を比較すると6.5時間から2.5時間に縮まりました(本当かな

                                                          チームで1年間コードレビューを最優先に実施したら開発生産性に良い影響を与えてくれたかも
                                                        • Kubernetes: kube-scheduler をソースコードレベルで理解する - チェシャ猫の消滅定理

                                                          はじめに Kubernetes において、Pod を配置するための Node を決定する手続きをスケジューリングと呼び、デフォルトのクラスタでは kube-scheduler がその責務を担っています。本記事ではこの kube-scheduler のソースコードを時系列に沿って追いつつ、どのようなロジックで Pod を配置する Node が決定されるのかを解説します。 なお、本記事は Kubernetes の内部実装について学ぶ勉強会 Kubernetes Internal #3 の補足資料を意図して執筆されました。本文中で参照しているソースコードのバージョンは v1.19.4 です。 Kubernetes Internal #3 録画 スケジューラの概要 ソースコードを読むに先立つ予備知識として、スケジューリングの大まかな流れと Scheduling Framework の概要に触れてお

                                                            Kubernetes: kube-scheduler をソースコードレベルで理解する - チェシャ猫の消滅定理
                                                          • 至高のGoプラグイン用ツールを作った - knqyf263's blog

                                                            最近YouTuberのリュウジの料理を毎日作っているので至高とか無限とか言いがちですが個人の感想です。万人にとって美味しい料理はないように、万人にとって至高のツールは存在しません(何の話?)。ちなみに公開してすぐバグを見つけてしまったので全然至高じゃありませんでした。 要約 概要 特徴 使い方 流れ 事前準備 インタフェースの定義 SDKの生成 プラグインの実装 ホストの実装 実行 発展 Host Functions ファイルアクセス その他 苦労した点 まとめ 要約 Goでプラグイン機構を実現するためのツールを作りました。Protocol Buffersのスキーマからコードを自動生成するので簡単にプラグイン機構を実現可能です。内部的にはWebAssembly(Wasm)を使っています。最近はWasmはブラウザ外での利活用が進んでおり、今回のツールもブラウザは一切関係ないです。Wasmはサ

                                                              至高のGoプラグイン用ツールを作った - knqyf263's blog
                                                            • TypeScriptの型定義で麻雀の役判定をする 【dwango Advent Calendar 2日目】 - MANA-DOT

                                                              このエントリは ドワンゴ Advent Calendar 2021 2日目の記事です(夜が明けるまでは2日目!)。 はじめに TypeScriptには Conditional Types や Template Literal Types といったクッソ強力な型機能があります。 これらを用いて、今回は 2p3p4p2m3m4m2s3s4s4s5s6s8s8s のような天鳳牌譜形式の文字列を型引数に渡すと、麻雀の役判定をする型(あくまで型です、関数ではありません)を作ってみようとおもいます。 (ただし時間がなかったため断么九と平和のみです)。 Conditional Types, Template Literal Types って何? それぞれ具体的にどんなものか、マニュアルの例を用いて示すと、以下のような感じです。 // Conditional Types の例 interface Anim

                                                                TypeScriptの型定義で麻雀の役判定をする 【dwango Advent Calendar 2日目】 - MANA-DOT
                                                              • ゴキブリが絵を描き、モノを運ぶ 群れを遠隔操作する技術「Calmbots」 筑波大学が開発

                                                                制御するのはマダガスカルゴキブリという種。身体能力が高く、通常のロボットでは得られない、壁やカーペットなどを移動する能力を備えている。 動作をコントロールするため、本体の前方左右にある「触角」2本、尻尾のように後方左右にある突起「尾角」2本に電極を挿入し、この4カ所に電気刺激を与える。「両尾角で前進」「両触覚で停止」「右触角で左回転」「左触角で右回転」という電気刺激を与えて制御する。 ゴキブリには手術で電極を埋め込む。手術中動かないよう、氷上に30分置くことで麻酔をかけ、両触角と両尾角の先端を切り落とす。切り落とした両触覚と両尾角、そして胸部の計5カ所に電極を挿入する。ソケットも背中に装着し、ARマーカー、バッテリー、通信モジュールを載せる。また頭部には、物体運搬用、描画用などのアタッチメントパーツを取り付ける。

                                                                  ゴキブリが絵を描き、モノを運ぶ 群れを遠隔操作する技術「Calmbots」 筑波大学が開発
                                                                • AmazonのAPI設計方針 (The Bezos Mandate) - Qiita

                                                                  はじめに The Bezos Mandateという文書があります。日本語に訳すと「ベゾスのお達し」とか「ベゾスの勅令」でしょうか。 言わずと知れたAmazon.comのCEO、ジェフ・ベゾスが開発チームに通達した内容です。 これが(元Amazon.com従業員によって)公開されたのは2011年ですが、ベゾスがこのお達しを出したのは2002年前後です。17年経過した現在でも真理をついているどころかようやく時代がベゾスに追いついたかという感想です。 この記事ではThe Bezos Mandateの紹介と、僭越ながら補足説明も行います。 お達しの内容 原文は元Amazon.com従業員のGoogleエンジニア(公開当時)、Steve Yeggeによって公開されました。 Google+にStevey's Google Platforms Rantというタイトルで、Amazon.comと比べたGoo

                                                                    AmazonのAPI設計方針 (The Bezos Mandate) - Qiita
                                                                  • 「崖から落ちたけど、壁にナイフを刺して何とか助かったぜ…」を体験できるVR、東京電機大が開発

                                                                    Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 東京電機大学松浦研究室の研究チームが開発した「滑落中の崖面にナイフを刺して停止するマンガ物理学的MRシステム」は、人が崖から滑落する際に、助かろうとナイフを斜面に突き立てて停止する動作を再現したVR触覚システムだ。落下から崖をナイフで刺し、しばらく引きずられて停止するまでの疑似体験を提供する。

                                                                      「崖から落ちたけど、壁にナイフを刺して何とか助かったぜ…」を体験できるVR、東京電機大が開発
                                                                    • `*.d.ts` ファイルをコミットする前に知ってほしい4つのこと

                                                                      export type Bookmark = { id: number; url: string; comment: string; }; このファイルには型しか書いてありませんね。ということは、「型定義ファイル」として bookmark.d.ts という名前にするべきでしょうか。実はそうではなく、この場合は bookmark.ts とするべきです。 「型定義ファイル」とは、「どこか別の場所にある実装に型をつけるためのファイル」です。たとえば、以下のファイルは「どこか別の場所にある実装」に型をつけているから、 *.d.ts にするのは自然です。 いっぽう、 type Bookmark は別のどこかにある *.js の型を与えているわけではないので、 *.ts でよいです。 このように本来 *.ts であるべきものを *.d.ts にしてしまうことには問題があります。代表的な問題として型エラ

                                                                        `*.d.ts` ファイルをコミットする前に知ってほしい4つのこと
                                                                      • TypeScript の型定義に凝りすぎじゃね? - Neo's World

                                                                        TypeScript の型定義に凝りすぎじゃね? ここ数年で、Qiita や Zenn で TypeScript の話を見かける機会が多くなった。JavaScript には Java のような型定義がなく、初心者の混乱の元・ひいては障害の元になりうるのはよく分かる。 しかし、最近どうにもこうにも、TypeScript でむりくり型定義するような Tips を多く見かけて、疑問に思っている。たかが TypeScript に頑張り過ぎじゃね? と。 【TS】TypeScript 4.0 の新機能 - Qiita こういう新機能とか、追加されるのはいいんだけど、本当に便利なんか?と思ってしまう まず、TypeScript による型定義は単なる Linter でしかない。コードが実行される時は基本的に JavaScript に変換され、TypeScript の構文で記した型定義は消失する。コーディ

                                                                        • 磁石で顎をロック、NZ大学が減量器具開発 「中世の拷問」と批判も

                                                                          新開発された減量器具「デンタルスリム・ダイエット・コントロール」。ニュージーランドのオタゴ大学提供(撮影日不明、2021年6月29日入手)。(c)AFP PHOTO / UNIVERSITY OF OTAGO 【6月29日 AFP】磁石で患者の顎を固定する減量器具が、ニュージーランドで開発された。研究班は肥満解消の新ツールとうたう一方、中世の拷問器具のようだとの批判も出ている。 「デンタルスリム・ダイエット・コントロール(DentalSlim Diet Control)」は、上下の臼歯に取り付ける磁石と締め付けボルトから成り、装着すると顎が2ミリしか開かなくなる。 研究を率いる、オタゴ大学(University of Otago)のポール・ブラントン(Paul Brunton)氏は、この器具により呼吸や会話を阻害することなく食事を流動食のみに制限でき、「悪影響が一切ない」と語った。 研究班

                                                                            磁石で顎をロック、NZ大学が減量器具開発 「中世の拷問」と批判も
                                                                          • Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ

                                                                            こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 これまでは、中村の記事で宣言した 「医師版Stack Overflow」(12/16に正式名称Docpediaとしてリリースされました) の技術的チャレンジの 記事を続けて書いていたのですが、今回はここで宣言しなかったClean Architectureについて書きます。 浪江駅(なみええき)は、福島県双葉郡浪江町にある、東日本旅客鉄道(JR東日本)常磐線の駅。本文には特に関係ありません。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) 作者:Robert C.Martin,角 征典,高木 正弘出版社/メーカー: ドワンゴ発売日: 2018/08/01メディア: Kindle版 なぜ書くのか 参考にできる実例を増やしたい Tech Blogはそのままドキュメ

                                                                              Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ
                                                                            • 色紙や下敷きも売れる「フラットガシャポン」、バンダイが展開

                                                                              バンダイは2月1日、カプセル自販機「ガシャポン」として初めて平面の商材に対応する「フラットガシャポン」を発表した。A4サイズまでの色紙や下敷きなどを販売できる。 バンダイのカプセル自販機「ガシャポンステーション」の上部にある「商品補填カートリッジ」(ケース)と交換し、厚さ1cmまでの平面商材を販売できるようにするオプションケース。本体を交換する必要はない環境配慮型の商材としている。 2月第3週から全国1500店舗に展開。「鬼滅の刃 匠ウインドウコレクションボード」(1回500円)、「ポケットモンスター 下敷き」(1回300円)、「東京リベンジャーズ ビッグサイズ色紙コレクション」(1回500円)を販売する。 バンダイは「何が出てくるか分からないワクワク感はそのままにバリエーション豊かな商材を販売できる」としている。

                                                                                色紙や下敷きも売れる「フラットガシャポン」、バンダイが展開
                                                                              • NEC’s Tetris Processor

                                                                                Tetris is a classic time-waster, both in and outside of the office. What good is any computing device if it can’t play this game? Tokyo System House certainly thought so, and ported it to the NEC mini5 line of CP/M-based word processors. Let’s preserve it for future generations and then see what it’s like! I’ve been trying to get this game for a bit. First, I had been looking at the online old-gam

                                                                                  NEC’s Tetris Processor
                                                                                • スケルトンスマホ「Phone (1) 」説明会で知ったNothingの高すぎる透明性

                                                                                  スケルトンスマホ「Phone (1) 」説明会で知ったNothingの高すぎる透明性2022.08.10 14:0016,498 武者良太 透明性というか、ぶっちゃけ具合というか。 スケルトンなハウジングを用いて、ハードウェアの中身をかっこよく見せることを大事にしているNothing(ナッシング)。彼らの最新作であるスマートフォン「Phone (1) 」がついに発表されました。発売は8月19日、予約受付は8月10日から。まずいちばん気になるお値段からお伝えしましょう。 税込み6万9800円です。RAM8GB、ストレージ256GB。SoCはSnapdragon 778G Plusで、Theミドルレンジですが、思っていたより安い! バッテリーは4500mAh、6.55インチOLEDディスプレイには指紋認証センサーが埋め込まれており、カメラは広角が1/1.56インチ・5000万画素のソニーIMX

                                                                                    スケルトンスマホ「Phone (1) 」説明会で知ったNothingの高すぎる透明性