並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 123件

新着順 人気順

typeの検索結果1 - 40 件 / 123件

typeに関するエントリは123件あります。 programmingプログラミング などが関連タグです。 人気エントリには 『【登大遊】天才エンジニアの安寧を求めない生き方「日本で“大義”を持って働く選択は有利」 - エンジニアtype | 転職type』などがあります。
  • 【登大遊】天才エンジニアの安寧を求めない生き方「日本で“大義”を持って働く選択は有利」 - エンジニアtype | 転職type

    エンジニアがいい仕事人生を歩むために、「心と体のコンディション」と「仕事のパフォーマンス」にはどんな相関関係があるのだろう? 高いパフォーマンスを発揮するエンジニアの経験談から「心・技術・体」のベストバランスを学ぶ! 2020年、NTT東日本と独立行政法人情報処理推進機構(以下、IPA)が提供した、無償かつユーザー登録不要で利用できるシンクライアント型VPN『シン・テレワークシステム』が話題を呼んだ。 このシステムをわずか2週間で完成させたことで称賛を集めたのが、自ら経営するソフトイーサの代表取締役、筑波大学産学連携准教授、IPA技術研究室長、NTT東日本特殊局員と、4足のわらじを履くプログラマー・登大遊さんだ。 優れたアウトプットを出し続ける登さんだが、「パフォーマンスと自身のコンディションは、基本的に常に一定」なのだという。登さんはなぜ、ブレずに高いパフォーマンスを出し続けることができ

      【登大遊】天才エンジニアの安寧を求めない生き方「日本で“大義”を持って働く選択は有利」 - エンジニアtype | 転職type
    • Ruby父 まつもとゆきひろ「出社させたがるのは、マネジャーの怠慢でしかない」 - エンジニアtype | 転職type

      2025.11.29 働き方 フルリモートまつもとゆきひろ 世界的なビッグテックでの出社回帰の流れを受け、日本でもLINEヤフーなど、出社頻度を増やす企業が出てきた。 「自然な会話や雑談の中から、新しいアイデアが生まれる」「顔を合わせることでチームワークが高まる」そんな言葉とともに、多くのエンジニアが再びオフィスへと呼び戻されている。 だが、この潮流を「ソフトウエア開発企業にとっては、明確な後退でしかない」と一刀両断するのが、プログラミング言語「Ruby」の生みの親・まつもとゆきひろさんだ。 なぜエンジニアにとって、オフィスは「非効率な場所」になり得るのか。まつもとさんに、話を聞いた。 Rubyアソシエーション理事長 Ruby開発者 まつもと ゆきひろさん(@yukihiro_matz) プログラミング言語Rubyの生みの親であり、一般財団法人Rubyアソシエーション理事長。株式会社ZOZ

        Ruby父 まつもとゆきひろ「出社させたがるのは、マネジャーの怠慢でしかない」 - エンジニアtype | 転職type
      • 日本のVR第一人者・GOROmanはなぜ「消滅」したのか - エンジニアtype | 転職type

        出社するフリして芝公園で寝てた ━━今日の取材テーマはお送りした通り・・・ 読んでませんけどね。読んじゃうと面白くなくなっちゃうので。「楽屋が一番面白かった」みたいになりがちじゃないですか。読んじゃうと答えを考えちゃうので、アドリブの方がいいかなと思って来ました。 null先生に読んでもらえなかった取材依頼書。読むも読まないも、確かに自由である。 ━━それで大丈夫です。お聞きしたいのは、VRに続き、今度は生成AIに全ベットされたということで・・・ これね、誤解されがちなんですけど、別に「ベット(賭け)」していたわけじゃなくて。VRには確かに賭けてたんですけど、結局は失敗してしまって。ある意味では、その失敗が会社を潰すくらいになってしまった、という感じですね。 ━━VRは儲からなかったですか。 儲からなかったっすね。2012年にまずクラウドファンディングでOculus Riftを見つけてきた

          日本のVR第一人者・GOROmanはなぜ「消滅」したのか - エンジニアtype | 転職type
        • 「社員よりAIを守る国、アメリカ」Z世代のMLエンジニアonodelaが見た“AIの国”の働き方 - エンジニアtype | 転職type

          2025.11.25 働き方 機械学習グローバル生成AIAI 「AIが仕事を奪う」と騒がれている日本。 しかしアメリカでは、その先の段階……AIが人を選別する社会がすでに始まっている。 ニューヨーク・マンハッタンでフリーのMLエンジニアとして働くonodelaさん(26歳)は、その急速な変化を肌で感じている一人だ。 増える残業。ついていけない人から切られる 「ここ1〜2年で、働き方の空気が変わった印象です。周りの会社員は朝9時に出社して、帰るのが21時くらい。若手もベテランも関係なく、毎日3〜4時間は残業するのが普通になっています」 そう語るのは、日本では『小野寺ポプコ』という名前でアイドル活動をしていたこともあるonodelaさんだ。アイドル活動に終止符を打ったあとは早稲田大学からUCバークレーへ進学。修了後は金融系企業で機械学習エンジニアとして勤務した後、フリーランスへ転身。現在もML

            「社員よりAIを守る国、アメリカ」Z世代のMLエンジニアonodelaが見た“AIの国”の働き方 - エンジニアtype | 転職type
          • あなたのPythonを100倍高速にする技術 / Codon入門

            はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記事を3行でまとめると: 高性能で簡単に扱えるPythonコンパイラ「Codon」 Pythonとの互換性がありながら、CやC++に匹敵する高速化を実現 実際にPythonコードが100倍速くなることを検証 Codonとは Codonは高性能なPythonコンパイラです。実行時のオーバーヘッドなしにPythonコードをネイティブなマシンコードにコンパイルし、シングルスレッドで10-100倍以上の高速化が実現できます。Codonの開発はGithub上で行われており、2021

              あなたのPythonを100倍高速にする技術 / Codon入門
            • 日本のエンジニアは甘すぎ? 「初学者への育成論」が米国からみると超不毛な理由 - エンジニアtype | 転職type

              2024.12.09 ITニュース 駆け出しお金マネジメント 「つよつよエンジニアは、初学者に厳しすぎ」 「いやいや、自力で調べて解決するのがエンジニアだろ」 「自分で考えろ、って効率悪くない?」 「育成スタンスが優しくないから、いつまで経ってもIT人材不足」 先日もX上で話題になった「エンジニア育成」の議論。もはや、一生議論されているテーマと言っても過言ではないが、世界トップレベルの「つよつよエンジニア」がひしめく米国からみると、この議論は一体どのように見えるのだろうか。 米国のテック業界やそこで働くエンジニア事情にも詳しいブランドンさんに聞いた。 Founder & CEO btrax Brandon K. Hillさん(@BrandonKHill) 北海道生まれの日米ハーフ。サンフランシスコと東京のデザイン会社btrax代表。サンフランシスコ州立大学デザイン科卒。 サンフラン市長アド

                日本のエンジニアは甘すぎ? 「初学者への育成論」が米国からみると超不毛な理由 - エンジニアtype | 転職type
              • ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP

                Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に…

                  ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
                • 「成果なんてすぐに見えるものじゃない」ヨドバシが圧倒的な自前主義と長期的視点に立てる理由 - エンジニアtype | 転職type

                  【PR】 2025.01.10 ITニュース 注目企業 データセンターも、クラウドも、ECサイトも……わざわざ自前で用意する必要のないこの時代に、圧倒的自前主義を貫く企業がある。国内売上2位のECサイト『ヨドバシ・ドット・コム』でもお馴染みの、ヨドバシカメラを展開するヨドバシグループだ。 膨大な時間とお金がかかる道をなぜあえて選ぶのか。その理由を、グループ全体のサービスをITで支えるヨドバシリテイルデザインの事業部長・戸田宏司さんは「目先の利益よりも10年後、20年後も愛されるサービスづくりが重要なんです」と語る。 国内家電量販店の中でも売上2位を誇る同グループだが、「10年後、20年後も愛されるサービスづくり」とは一体どういうことなのか。戸田さんに話を聞いた。 ヨドバシリテイルデザイン 事業部長 戸田宏司さん 1982年、小学生時代からプログラミングを開始。1998年、フリーランスとして

                    「成果なんてすぐに見えるものじゃない」ヨドバシが圧倒的な自前主義と長期的視点に立てる理由 - エンジニアtype | 転職type
                  • ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!

                    const colors = ["赤","青"] as const; type Colors = typeof colors[number]; //"赤" | "青" typeof colors[number]・・・ってよォ~~~~~ typeofはわかる。スゲーよくわかる TypeScritの世界では、typeofで変数から型を作れるんだよなァ だがnumberってのはどういう事だああ~~~~っ!? 配列にnumberを渡せるかっつーのよ───────ッ!! ナメやがってこの型ァ!! 超イラつくぜぇ~~~~ッ!! 解説 これはよォ 「Lookup Type」ってやつらしいぜぇ たとえばよォ 👇みたいに書くとPerson型からプロパティの型を取り出せるよなァ~?? type Person = { name: string, age: number } type name = Person

                      ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!
                    • 元Google植山 類の“実装力”の源をSakana AI・秋葉拓哉が探る「集団開発のしがらみに、個人開発で殴りこむ」 - エンジニアtype | 転職type

                      moldを作ったのは「大学院の単位を取るため」だった 秋葉:植山さんと最初に接点を持ったのは、僕がマウンテンビューのMicrosoft Researchでインターンをしていた時だったと記憶しています。エンジニアならば誰が見ても驚くような開発を成し遂げ続けているので、ぜひ詳しくお話を聞きたいと思い対談のリクエストをさせていただきました。 植山:ありがとうございます。初めてお会いした当時から、秋葉さんはプログラミングコンテストの上位ランカーで実力があって、おまけに話も上手かった。なかなか直接関わる機会はなかったけど、時流に乗ってディープラーニングに着手して活躍しているという話はよく耳にしていました。 秋葉:確かに、植山さんと知り合った頃はまだディープラーニングには手を出していなかったですね。今ではAIへと専門領域を移して久しいので、振り返ると長い時間が経ちました。 今回は、個人の力で優れたプロ

                        元Google植山 類の“実装力”の源をSakana AI・秋葉拓哉が探る「集団開発のしがらみに、個人開発で殴りこむ」 - エンジニアtype | 転職type
                      • 「AIで頭悪くなる人はもともと馬鹿」大塚あみが切り込む“AI万能感”の罠 - エンジニアtype | 転職type

                        NEW! 2025.08.27 働き方 生成AIAI 生成AIを使えば使うほど、人は考えなくなってしまうのではないかーーそんな懸念が、静かに広がっている。 2025年4月にマイクロソフトとカーネギーメロン大学が発表した調査では、生成AIを日常的に使う知的労働者の一部で批判的思考力が低下する傾向が報告された。確かに、AIに文章やコードを書かせることに慣れてしまえば、自分の頭で考える機会が減るのではないかという不安は、多くの人にとって実感を伴うものだろう。 The Impact of Generative AI on Critical Thinking: Self-Reported Reductions in Cognitive Effort and Confidence Effects From a Survey of Knowledge Workers microsoft.com この「生

                          「AIで頭悪くなる人はもともと馬鹿」大塚あみが切り込む“AI万能感”の罠 - エンジニアtype | 転職type
                        • そろそろRailsプロジェクトに型を導入したい人向けの資料

                          すべての説明はイチRubyユーザーの個人的で期間も限定的な観測範囲に基づきます。 「Rubyには型がない」 ある日、同僚とプログラミング言語に関する雑談をしていたときに言われた一言です。 私はその日までRubyの型機能は使っていませんでした。忙しい毎日を送り、キャッチアップを疎かにしていたのです。後日このことは猛烈に反省することになります。 「Rubyには……型があるッ……!」 火がついた私はパターンマッチの時と同様にRubyの型についてキャッチアップすることにしました。そして最高の体験が待っていました。 導入した後の世界 ぶっちゃけRubyの型を導入するとどうなるのでしょうか? メチャクチャ簡単に説明すると、エディタでバグがひと目で分かるようになります。 vscodeでの画面です。なにやら赤線がついています。 === bar === barの部分にカーソルを合わせてみましょう。 「Pos

                            そろそろRailsプロジェクトに型を導入したい人向けの資料
                          • typeとinterfaceって結局どう使い分ければ良いの?

                            TypeScriptではtype alias syntax(型エイリアス構文)とinterface declaration(インターフェース宣言)を使って型を定義できます。 おおよそ両者同じことができるので、どちらを使うか迷います。 両者の使い分けに関する記事は沢山あります。 これらの記事を読んで基本的にはtypeを使えば良いと思っていました。 ですが最近以下のことがあり、typeとinterfaceの使い分けがわからなくなってしまいました。 typeよりもinterfaceの方がコンパイルのパフォーマンスが良いという話を耳にした。 interfaceしか使えない特定の機能を知った。 そこでtypeとinterfaceの違いを学んで、どう使い分ければよいかを整理しました。 type, interfaceそれぞれのメリット typeのメリット interfaceで表現できないことが表現できる

                              typeとinterfaceって結局どう使い分ければ良いの?
                            • 今から始める型安全 Python / Start Python Type Hints

                              #stapy https://speakerdeck.com/yamitzky/mastering-type-safety-in-python-3-dot-9-era の内容を加筆して削ったものです

                                今から始める型安全 Python / Start Python Type Hints
                              • 【競プロ】Python使いがRustを「完全に理解する」までのTips - Qiita

                                2023年AtCoder言語アップデートにより、Rustの環境は大きく変化しました。そのため、本記事はフリーズさせ、後日、2023年版に対応した記事を新規作成したいと思います。 筆者は、競プロのアルゴはPythonを使いつつ、マラソンはRustを使っております。前者は発想を短時間にコードにすることを重視し、後者はコーディングに時間をかけてでも高速性を確保したいからです。 その際、Pythonでできたアレを、Rustでどう書くんだっけ、と悩むことが多く、悩んだ結果を自分メモを兼ねてTipsにすることにしました。競プロに出てくるパターンを多く収録していますが、競プロ目的以外でも参考になるかと思います。とりありず、ざっと記述してみましたが、そのうち増やしたり、章立てを変えたりするかも知れません。 なお、参照がーとかトレイトがーとか、Rustそのものの入門には言及していませんので、適宜、別の記事や

                                  【競プロ】Python使いがRustを「完全に理解する」までのTips - Qiita
                                • A Proposal For Type Syntax in JavaScript - TypeScript

                                  Today we’re excited to announce our support and collaboration on a new Stage 0 proposal to bring optional and erasable type syntax to JavaScript. Because this new syntax wouldn’t change how surrounding code runs, it would effectively act as comments. We think this has the potential to make TypeScript easier and faster to use for development at every scale. We’d like to talk about why we’re pursuin

                                  • TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話

                                    こんにちは。DevOps芸人と化して久しいAndyです。 2020年の秋にTypeScript 4.1へTemplate Literal Typesが導入され、そのインパクトに俄かに一部の界隈がザワついたのは記憶に新しいかと思います。 今回は型プログラミングの可能性を大いに押し広げたTemplate Literal Typesを用いてSQL文を型レベルで解析し、その実行結果を型情報として導出するためのsqlptureというライブラリを作ったので紹介します。 Embedded content: https://github.com/andoshin11/sqlpture SQLの実行/検証対象はPostgreSQL v13です。 tl;dr SQL文を型レベルで解析・評価して返り値型を取得できるmini interpreterを作ったよ 型レベルのSQL validatorも作ってるよ 実際

                                      TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話
                                    • Goにおける型によってSQLインジェクションを防ぐ方法

                                      はじめに 2022年のセキュリティ・キャンプ全国大会に講師として参加しました。その際に、Goにおける脆弱性への対策はどうなっているのか調べました。この記事では、github.com/google/go-safeweb/safesqlがどのようにSQLインジェクションを防いでるのかについて解説します。 なお、@rungさんの文書を多いに参考にしております。また、セキュリティ・キャンプで用いた資料はこちらから閲覧できます。 SQLインジェクションとは? 独立行政法人情報処理推進機構(IPA)が公開している安全なウェブサイトの作り方を見ると、SQLインジェクションは以下のように説明されています。 データベースと連携したウェブアプリケーションの多くは、利用者からの入力情報を基にSQL文(データベースへの命令文)を組み立てています。ここで、SQL文の組み立て方法に問題がある場合、攻撃によってデータベ

                                        Goにおける型によってSQLインジェクションを防ぐ方法
                                      • `*.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の型定義で麻雀の役判定をする 【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
                                          • React Hook Formを1年以上運用してきたちょっと良く使うためのTips in ログラス(と現状の課題)

                                            はじめに 早いものでこちらの記事が公開して約1年、ログラスでReactを書き始めて1年以上が経ちました。 今回はフロントエンドのアプリの中でも特段重要なフォーム、特にReact Hook Formについての解説をしていきます。 今回のTipsは公式がベストプラクティスとして発表しているものではなく、あくまで個人が1年間の経験の上で良いとしているものであしからず。 なるべく何故良いかの説明もしていきます。 目次 useFormをラップしてタイプセーフにする React Hook Formへの依存するコンポーネントを分ける yupを使って見通しの良いバリデーションを実装する 1. useFormをラップしてタイプセーフにする ログラスでは useForm をそのまま使うことはせずラップしています。理由は一部の型づけがゆるく実行時例外が起きる可能性があるためです。 問題なのは defaultVa

                                              React Hook Formを1年以上運用してきたちょっと良く使うためのTips in ログラス(と現状の課題)
                                            • 動的型付き言語は素早くプロジェクトを立ち上げるのに向いており、静的型付き言語は長期間の保守にむいているという仮説 - kmizuの日記

                                              注:誤解されないように最初にこの記事の意図を書いておくと、古典的な静的型付き言語VS.動的型付き言語の論争をするつもりはありません。これまで色々なプロジェクトを観察(風聞も含む)して来たところ、そういう傾向があるのではないかという仮説です。それと、文脈として主にWebアプリケーション開発する時のことを想定しており、それ以外のケースはいったん脇に置いています。WebアプリケーションだとPHP(動的型付き言語)の方が圧倒的に事例多いのではという感想もありそうですが、その辺りを考え出すと話がこんがらがるので、これもいったん脇においています。 たとえば、色々な事例を見聞きするに、スタートアップ企業において動的型付き言語であるRubyのWebアプリケーションフレームワークであるRuby on Rails(RoR)は好まれる傾向にあります。近年のPythonの動向はさておき、未だにRoRの求人がかなり

                                                動的型付き言語は素早くプロジェクトを立ち上げるのに向いており、静的型付き言語は長期間の保守にむいているという仮説 - kmizuの日記
                                              • TypeScript 型レベル関数型プログラミング in 2023 - Object.create(null)

                                                ちょっと前に話題になった hotscript の技法の紹介やら, ラムダ計算を TypeScript の型にコンパイルする話やらなんやら. 通常の型レベル関数 TypeScript の型エイリアスはパラメータを取れるので, これは型レベルの関数であるとみなせます. type IsNumber<X> = X extends number ? true : false; type A = IsNumber<42>; // = true 一方でこのようにして定義された関数は第一級ではない, つまり関数そのものを他の関数の引数として渡したりすることができません. type FilterUnion<F, X> = X extends unknown ? (F<X> extends true ? X : never) : never; // ~~~~ // ^ Error: Type 'F' is n

                                                  TypeScript 型レベル関数型プログラミング in 2023 - Object.create(null)
                                                • 【検証】React.FCとReact.VFCはべつに使わなくていい説

                                                  こんにちは、クレイの正岡です。 コロナ禍が始まってから小学生時代以来のゲーム生活を送っています。ゲームボーイと呼んでください。 さて、今回は React × Typescript でコードを...

                                                    【検証】React.FCとReact.VFCはべつに使わなくていい説
                                                  • なぜソフトウエア後進国の日本で、Rubyは成功したのか? 生みの親・まつもとゆきひろが語った五つのポイント - エンジニアtype | 転職type

                                                    転職・求人情報サイトのtype エンジニアtype スキル なぜソフトウエア後進国の日本で、Rubyは成功したのか? 生みの親・まつもとゆきひろが語った五つのポイント 2021.09.06 スキル Rubyまつもとゆきひろ 日本発で世界的に使われているソフトウエアは、残念ながらそう多くはない。その数少ない成功例の一つが、プログラミング言語「Ruby」だ。Rubyによって開発された有名Webサービスは、日本だけでなく世界中に数多くある。 では、なぜRubyは成功できて、他の多くの日本のソフトウエアは成功することができなかったのか。2021年9月4日に開催された「type エンジニア転職フェア ONLINE」では、Ruby開発者である、まつもとゆきひろさんに開発の背景や成功の要因を語ってもらった。 まつもとさんの経験に裏打ちされたメッセージは、新たなソフトウエアやサービスをつくろうとするエンジ

                                                      なぜソフトウエア後進国の日本で、Rubyは成功したのか? 生みの親・まつもとゆきひろが語った五つのポイント - エンジニアtype | 転職type
                                                    • 型システムを知りたい人のための型検査器作成入門

                                                      @ 関数型まつり2025(2025-06-14) https://fortee.jp/2025fp-matsuri/proposal/5699c262-e04d-4f58-a6f5-34c390f36d0d

                                                        型システムを知りたい人のための型検査器作成入門
                                                      • 型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request

                                                        TSKaigi Kansai 2024 https://kansai.tskaigi.org/talks/euxn23

                                                          型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
                                                        • 7000体のAIエージェントを投入したPKSHA代表が語るAIの進化 - エンジニアtype | 転職type

                                                          2025.04.28 ITニュース 生成AIAI AI業界の競争は激しく、昨日まで最先端だった技術が、今日には陳腐化してしまうことも珍しくない。その開発の“ど真ん中”にいるエンジニアにとって、この状況は大きなジレンマだろう――。 そんなリアルを感じさせられたのが、2025年4月21日に開かれたAIベンチャー・PKSHA Technology(以下、パークシャ)による『PKSHA AI Agents』のメディア向けローンチ発表会だ。 国内ではまだバズワード感が拭えない「AIエージェント」という言葉だが、同社はすでに7000体ものAIエージェントを社会実装済みという実績を明らかにし、会場からも驚きの声があがった。 本記事では、改めて抑えたい「AIエージェントの技術的な深掘り」をはじめ、7000体投入の裏側で見えてきたAI活用におけるリアルな課題、そして「AI社員」がもたらすであろう衝撃、さらに

                                                            7000体のAIエージェントを投入したPKSHA代表が語るAIの進化 - エンジニアtype | 転職type
                                                          • 2021年の密かなトレンド? “型安全ルーティング”の概観

                                                            2020年は、型安全ルーティングが密かに盛り上がりを見せた年でした。この記事では、TypeScript周りのエコシステムで発生した型安全ルーティングという概念とこれまでの流れを振り返ってご紹介します。 ルーティングとは この記事でいうルーティングは、URL(特に/user/uhyoといったパス部分)を見てコンテンツを出し分ける機構のことを指します。ルーティングは、主にSPA (Single Page Application) で必要となります。SPAはどのようなURLでも同じHTMLとJavaScriptが動作し、JavaScriptによってアドレスに対応したコンテンツが表示されます。まさに、ルーティングがSPAの根幹となっています。また、一般のウェブサーバーも、異なるURLに対するリクエストには異なるレスポンスを返しますから、ここでもルーティングが行われていることになります。 従来は、文

                                                              2021年の密かなトレンド? “型安全ルーティング”の概観
                                                            • TypeScript で type と interface どっち使うのか問題

                                                              はじめに あくまで一個人の意見なので絶対的な解ではないというのと、どっちをデフォルトに選んでも普通にアプリケーション開発してて困ることはほぼほぼないと思うので、そこまで気を揉むことでもない、ということだけ最初に述べておいて意見をしたためます。 TL;DR アプリケーション開発では基本的に type でおk Declaration merging したい時だけ interface ライブラリ開発のような使う側で拡張したい(Declaration merging したい)時は interface とりあえずチームでどっちをデフォルトにするかは統一しといた方が気持ちいい type と interface の違い 機能的にはそんなに大きな違いはなく、個人的に判断に関わるのは次の3つかなと思います。 interface では Declaration merging がされる。type ではされない

                                                                TypeScript で type と interface どっち使うのか問題
                                                              • よわよわエンジニアがTAPL(型システム入門)を読んだら

                                                                こんにちは,sititou70です.私は社会人2年目のよわよわWebフロントエンドエンジニアであり,「数学」とか「証明」とは無縁の人生を送っています. そんな私ですが,がんばって型システム入門(通称:TAPL)という本を読み終えました.全32章,503ページ,牛乳パック1本分の重さがあり, 自立します. 自立する本は大抵やばいです. TAPLの序文を見ると,想定読者は プログラミング言語と型理論を専門とする大学院生および研究者 プログラミング言語の鍵となる概念に触れたい,計算機科学の全分野の大学院生および習熟度の高い学部生1 となっています.本記事では 「そんな本を,学生や専門家でない人間(私)が読んだらどうなるのか」 について書きます.専門的な用語は避けますので,TAPLの雰囲気だけでも感じ取ってもらえたら嬉しいです. どうなったのか 宇宙語が読めるようになった 「型安全」を説明できるよ

                                                                  よわよわエンジニアがTAPL(型システム入門)を読んだら
                                                                • TypeScript で string 型の値に自動補完を効かせる: Days on the Moon

                                                                  結論 type X = 'foo' | 'bar' | (string & {}); のように、文字列リテラル型の共用体型に | (string & {}) を付け足した型 X を定義します。X 型は任意の文字列を受け付けますが、IDE (Visual Studio Code など) で X 型の値を入力するときには 'foo' と 'bar' が自動補完の候補として提示されます。 解説 単純に type X = 'foo' | 'bar' | string; と書いてしまうと、共用体型の各要素がまとめられて、X は単なる string 型になってしまいます。{} 型は null と undefined を除く任意の値を受け付けるので、string & {} 型は実質的に string 型と同一なのですが、TypeScript 4.4 の時点では同一扱いされず、共用体型の各要素がまとめられ

                                                                  • ユーザー定義型ガード、asで書くかanyで書くか - uhyo/blog

                                                                    TypeScriptでユーザー定義型ガードを定義する場合、引数をany型にして中を自由に書く方法と引数をunknown型にして中でasを駆使して書く方法があります。この記事では両者を比較考察します。結論としては、unknownとasを使うのが型安全性の面からおすすめです。また、うまく関数を分割することでasを消すことも可能で、これも有効です。 ユーザー定義型ガードとはTypeScriptのユーザー定義型ガードとは、型の絞り込み (type narrowing) に使うことができる関数です。ユーザー定義型ガードは返り値が引数名 is 型のような形の型述語 (type predicate) になっています1。このような関数は真偽値を返り値として返し、trueを返すならば引数名が型であることを表します。 例えば、与えられた値がstring | number型かどうか調べるユーザー定義型ガードは次

                                                                      ユーザー定義型ガード、asで書くかanyで書くか - uhyo/blog
                                                                    • マネージャーはどう育てればいいのか?~マネージャー補完計画|ベイジの図書館

                                                                      マネージャーの育成について、頭を抱えることはありませんか? 私自身は、在籍していた会社でマネージャーに昇格したことも、転職でマネージャーとして採用されることも、どちらも経験しています。 マネージャーに昇格した時は、増大する責任と長時間の拘束に、正直なところ戸惑いを隠せませんでした。 朝の通勤中には、「今日は何も起こらないでほしい」と心で祈っていました。そんな中でメンバーから「退職を考えている」との相談があり、改めて自分のマネジメントに疑問を感じました。 マネージャーとして転職したときは、自ら応募したために抵抗感自体は少なかったです。しかし、新しい会社の組織文化に馴染むのには時間がかかりました。私がどれほど組織にフィットできるか不安という声も、後から聞きました。 私自身が苦労してきたからこそ、マネージャー育成の難しさは肌感覚で強く実感しています。 私が今在籍しているベイジは50人を超え始め、

                                                                        マネージャーはどう育てればいいのか?~マネージャー補完計画|ベイジの図書館
                                                                      • TypeScript 4.5でますます便利に! better-typescript-lib v2

                                                                        今日リリースされた TypeScript 4.5 Beta の新機能として、標準ライブラリの差し替えが従来よりも簡単になるというものがあります。 筆者は TypeScript の標準ライブラリからanyを排除してより安全にしたbetter-typescript-libを開発していましたが、このたび TypeScript 4.5 に対応した v2.0.0 のベータ版を用意しました(2.0.0-beta)。 この記事では better-typescript-lib の簡単な紹介に加えて、TypeScript 4.5 の機能の解説やそれによって better-typescript-lib に起こった変化を紹介します。 better-typescript-lib について better-typescript-lib は、TypeScript の標準ライブラリをより型安全にしたものです。better

                                                                          TypeScript 4.5でますます便利に! better-typescript-lib v2
                                                                        • 外からやってくる値から TypeScript の型を守るライブラリ・ツールまとめ - Mobile Factory Tech Blog

                                                                          こんにちは、新卒エンジニアの id:d-kimuson です 先日 type-predicates-generator という型定義からユーザー定義型ガード・アサーション関数を自動生成するツールをリリースして紹介記事を書いたのですが、感想とかを眺めていたら同じく外部から来た値に安全な型付けをするためのライブラリやツールの情報をいくつも観測しました この辺りのランタイムチェックライブラリの情報ってあまりまとまっていない印象で自分が知らないものもいくつかあったので、調べつつ簡単にまとめられたらなと思ってこのエントリを書きました 外部からやってきた値を型安全にするにはざっくりと 型生成によるアプローチ ランタイムチェック用の独自型を書かせるアプローチ 型情報からランタイムチェック関数を自動生成するアプローチ の 3 つのアプローチがあると思うので、それぞれのアプローチごとに紹介します ① 型定義

                                                                            外からやってくる値から TypeScript の型を守るライブラリ・ツールまとめ - Mobile Factory Tech Blog
                                                                          • 新しくプログラミング言語を作る際に数値型をどうするべきか

                                                                            この記事は、新しくプログラミング言語を設計する際に数値型をどうするべきかについて、私の持論をまとめたものです。 数の体系 JavaScript(BigInt以前)やLua(〜5.2)などは唯一の数値型が浮動小数点数型で、整数も実数も同じ「number」型で表現します。ミニマルな言語を作るのならそういう設計もアリかもしれませんが、ネイティブコンパイルも視野に入る実用的な言語を作るなら整数と実数を一緒くたにする設計はやめた方が良いと思います。 特に、JavaScriptにコンパイルする言語を作るからと言って、数値型の設計まで真似る必要はありません。 整数を浮動小数点数で表現すると、思わぬ性能低下の要因になったりします。最近(2023年2月)、次のツイートが話題になりました: これは正のゼロと負のゼロが値として区別され、正のゼロは内部的に整数扱いされるのに対し負のゼロはそうではないことによるもの

                                                                              新しくプログラミング言語を作る際に数値型をどうするべきか
                                                                            • Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか

                                                                              Rustのトレイト(以降Rustトレイトとつなげて呼ぶことにする)は一体何なのか、様々な他言語の概念を通して調べていたが、やっと(「やはり」でもあるのだが)結論が出たので書いていこうと思う。 また、Rustトレイトはインターフェースなのか、MixInなのか、はたまたトレイトなのかということについて書き直したかったのでそれもついでに書く。 Rustのトレイトにおける否定 前置き Rustのトレイトはインターフェースではない RustのトレイトはJavaのインターフェースではない RustのトレイトはC#のインターフェースではない RustのトレイトはMixInではない Rustのトレイトはトレイトではない Rustのトレイトは「高カインド多相のない型クラス」だった 根拠1: 型クラスと用法が同じである 根拠2: 重複する関数があった際の挙動も同じ Rustのトレイトでは高カインド多相ができな

                                                                                Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか
                                                                              • TypeScriptのexhaustiveness checkをスマートに書く

                                                                                TypeScriptではデザインパターンとしてtagged unionによる直和がよく使われます。このときパターンマッチに相当する処理はswitchで行われますが、そこで直和に対する分岐が網羅的であることの保証を実行時と型検査時の両方で賢く行う方法がこれまでも模索されてきました。 今回、ヘルパー関数を導入せずにいくつかの問題を同時に解決する賢い方法を思い付いたので共有します。 コード これだけです。 // switch (action.type) { ... default: throw new Error(`Unknown type: ${(action as { type: "__invalid__" }).type}`); // .. } 以下、より詳しく説明します。 問題 TypeScriptではオブジェクトに type プロパティーを用意し、決まった文字列を入れることで直和を実現

                                                                                  TypeScriptのexhaustiveness checkをスマートに書く
                                                                                • Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ

                                                                                  こんにちは、バックエンドエンジニアの日下です。 CSV から JSON へ変換するスクリプトを、TypeScript で実装する機会がありました。 今回は、CSV のデータのバリデーションに Zod を使った話をします。 スクリプトの目的 システム間のデータ連携が目的です。 連携元のシステムから CSV 出力されたデータを、連携先のシステムで利用する JSON へ変換します。 また、JSON への変換以外にも以下の要件があります。 CSV のデータをバリデーションする 連携先のシステムで利用できるデータであることを保証するために、バリデーションを実行します。 バリデーション失敗時に、日本語のエラーメッセージを表示する スクリプトの実行は業務担当のエンドユーザーが行うため、日本語のエラーメッセージを表示します。 CSV の読み込み 元データとなる CSV の読み込みは、csv-parse を

                                                                                    Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ

                                                                                  新着記事