並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1131件

新着順 人気順

型の検索結果281 - 320 件 / 1131件

  • C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌

    目次 目次 「戻り値型の後置記法」って何? 何が嬉しいの? 問題点 「戻り値型の後置記法」って何? C++11から導入された言語仕様です。 タイトルの呼び方は自分が勝手に使っているだけで、英語圏だと「trailing-return-type」がよく使われるらしい。 cpprefjp.github.io この仕様を使うと例えば以下のようなコードが int Add(int a, int b) { return a + b; } このようになります。 auto Add(int a, int b) -> int { return a + b; } 何が嬉しいの? この仕様はC++のメタプログラミングで戻り値型の推論を簡単に行う目的で使用されます。 なんだ、そんなC++上級者のための機能なんて下々の人間には関係ないじゃん、とお思いかもしれませんが、この機能にはもう一つわかりやすい大きなメリットがある

      C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌
    • PHPのありそうでない便利関数コレクション ハブろぐ - havelog.ayumusato.com

      なぜか基本的な関数がスカスカしているような気のするPHP こんな関数があったらいいのに => きっとあるだろう => リファレンス漁っても無い orz ということが日常茶飯事な感じのするPHP。よその言語では、そんな事はないんでしょうか。 それでも、人口数だけは抜群なPHPだけあって、それらしいキーワードでGoogle先生に訊けば、それっぽい関数が見つかってしまうのもPHPの良いところ。(コピペコードの培養土が肥沃すぎるとも言う) 今回はそんな関数コレクションを引用・参考元と共にペタペタするメモエントリー。 大半の関数には、引用・参考元があるので、それらの関数にはURLを付記しています。 配列操作系 PHPと言えば配列。配列と言えばPHP。それは無いか。配列については、滅多に不便することはなく、最初から充実してるとは思いますけれど痒いところ用。 /** * array_clean * ht

        PHPのありそうでない便利関数コレクション ハブろぐ - havelog.ayumusato.com
      • ダックタイピングの手引き? - Rubyでの静的型付けの心理学 - 読み書きプログラミング

        「Dropboxは全部Pythonで信頼性の高いソフトウェアを作った」の中で「人生を変えた記事」として"Subject: How to duck type? - the psychology of static typing in Ruby"というメーリングリストへの投稿記事が紹介されていましたので、訳してみようかと思いました。 Tim Batesさんはエディンバラ大学の心理学の教授です。 Subject: How to duck type? - the psychology of static typing in Ruby From: Tim Bates Date: Mon, 17 May 2004 22:52:22 +0900やあ、みんな。 #ruby-langでの議論を追ってみて、ダックタイピングに到達する手引きについて提案がある。以下はこのテーマに関する私の博士論文だ。:Pみんなが

          ダックタイピングの手引き? - Rubyでの静的型付けの心理学 - 読み書きプログラミング
        • 関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう

          この記事は、関数型プログラミングはまず考え方から理解しよう の記事を純粋関数型言語Elmで書き換え、一部の文章について批判的に言及させていただいた記事になります。この記事を書こうと思ったきっかけとしては、今回参考にさせていただきた記事が過去に書かれたものにも関わらず、今に渡っても見られていそうなこと。未だにパラダイムの理解に関する誤解が多く散見されること。改めて純粋関数型言語の実用性・有用性について、見直されるべきだと思い、この記事を執筆させていただきました。 次のステップアップ記事は、[超入門] FizzBuzzで考える関数型プログラミング学習を純粋関数型言語でやる理由です。 はじめに、この記事の主張を結論としてまとめておきます。 対比すべきは、関数型プログラミングとオブジェクト指向プログラミングではなく、関数型プログラミングと手続き型プログラミングである 関数型プログラミングの考えを学

            関数型プログラミングはまずは純粋関数型言語を用いて、考え方から理解しよう
          • Elm 2日ほどやった感想 - mizchi's blog

            12月はなんとなく新しいことをやりたくなる。ということで、elm をやってみた。 大昔に触った気がするけど、文法が Haskell っぽいこと以外、何も覚えてなかった。というか当時触った signal とかがなくなってたので別物になってた。 作ったもの 勉強がてら作った、球拾いゲームみたいな何か コードはここ https://github.com/mizchi-sandbox/elm-playground elm-platform, svg の扱い, キー入力、乱数の副作用の分離などが学べた。乱数は面倒くさくなったので外部(JS)からSeed与える方式にして、気持ち純粋になった。 (自分の)環境構築 Parcel を使った brew install elm # OSに応じて mkdir elm-playground cd elm-playground yarn init -y yarn a

              Elm 2日ほどやった感想 - mizchi's blog
            • Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記

              追記:いくらなんでもあまりにも長いので、配列演算に焦点を絞ってより「Rustっぽさ」の気持ちを強調した姉妹編を書きました。手っ取り早く雰囲気を掴みたい方はこちらもどうぞ。 TL;DR GHC 9.0 から Haskell に入った線型型(Linear Types)の機能を一部割とガッツリ使ってみたので、Linear Haskell の現在の使い心地と将来の展望を報告するよ。 使おうと思えば使える段階にあるけれど、一部バグもあるし、まだ言語機能面で実装が追い付いていない部分もあって、快適に書けるようになるにはもうちょっと掛かるよ。それでも実用しようと思えばできるレベルにあるよ。 RustのようになるにはLinear Constraintsに期待。 更新履歴 2023/12/15 11:45 姉妹編へのリンク追加。 2023/10/01 12:30 線型性を納得してくれない場合の \eta-展

                Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記
              • 「型システム入門」の先へ:TypeScriptの型システムのいくつかの側面 | 雑記帳

                この記事は TypeScript Advent Calendar 2023 の8日目の記事です。言語実装勢にも役立つ内容を含んでいるかもしれないので、 言語実装 Advent Calendar 2023 にも登録しています。 TypeScriptで型システムに興味を持った人が「型システム入門」を読んだという話を時々聞きます。「型システム入門」は、Types and Programming Languages (TAPL) という本の邦訳で、型システムに興味を持った人が読むのは自然なことです。 型システム入門 プログラミング言語と型の理論 | Ohmsha 型システム入門 サポートページ ですが、この本の原著は2002年出版で、最近の話題がカバーされていなかったり、邦題に「入門」とあるように発展的な話題は扱っていなかったりします。一応続編的な感じのAdvanced Topics in Typ

                • JavaScriptにおける数値⇔文字列の型変換あれこれ - console.lealog();

                  気になったら即調べるが吉、ということで。 数値→文字列 var num = 123; // わかりやすい String(num); // "123" num.toString(10); // "123" // この用途では使ったこと無い num.toFixed() // "123" // なるほど num + ''; // "123" 文字列→数値 var str = '123'; // わかりやすい Number(str); // 123 parseInt(str, 10); // 123 parseFloat(str); // 123 // なるほど str - 0; // 123 str * 1; // 123 str / 1; // 123 // すっきりやけど知らん人は読めない +str; // 123 -(-str); // 123 ~~str; // 123 str&-1;

                    JavaScriptにおける数値⇔文字列の型変換あれこれ - console.lealog();
                  • GraphQL Code Generator で TypeScript の型を自動生成する - クックパッド開発者ブログ

                    技術部の外村(@hokaccha)です。 レシピサービスのフロントエンドを Next.js と GraphQL のシステムに置き換えている話 - クックパッド開発者ブログ という記事を書きましたが、この中で詳しく説明しなかった GraphQL のスキーマやクエリから TypeScript の型定義を自動生成する仕組みについて紹介します。 なお、今回紹介したコードは以下で試せます。 https://github.com/hokaccha/graphql-codegen-example-for-techlife GraphQL Code Generator を使った型生成 GraphQL のスキーマから TypeScript の型を生成するためのライブラリはいくつかあります。 Apollo GraphQL Code Generator などが有名どころです。今回はシンプルさや拡張性を考えて G

                      GraphQL Code Generator で TypeScript の型を自動生成する - クックパッド開発者ブログ
                    • TypeScriptとOpenAPIスキーマで型安全に READYFORが語る“スキーマファースト”で効率的な開発方法

                      「実践!フロントエンド分離戦略」はREADYFOR 株式会社主催のエンジニア向けLT勉強会です。ここで、菅原氏が「OpenAPI GeneratorとTypeScriptによる型安全なスキーマ駆動開発」のタイトルで登壇。スキーマ駆動開発とそのメリット、活用しているツールについて話します。 READYFORのフロントエンジニア 菅原弘太郎氏(以下、菅原):それでは「OpenAPI GeneratorとTypeScriptによる型安全なスキーマ駆動開発」と題して、発表します。自己紹介します。2020年11月に、フロントエンドエンジニアとしてREADYFORに入社しました。岩手県在住で、フルリモートで勤務しています。ReactとTypeScriptが好きで、React Hook Formのメンバーなので、もしフォローしてくれる方がいれば、フォローしてください。 フロントエンドとバックエンドの分離

                        TypeScriptとOpenAPIスキーマで型安全に READYFORが語る“スキーマファースト”で効率的な開発方法
                      • TypeScript で type と interface どっち使うのか問題

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

                          TypeScript で type と interface どっち使うのか問題
                        • Pythonへの型アノテーション導入を目指すGuido van Rossum氏

                          Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                            Pythonへの型アノテーション導入を目指すGuido van Rossum氏
                          • よわよわエンジニアがTAPL(型システム入門)を読んだら

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

                              よわよわエンジニアがTAPL(型システム入門)を読んだら
                            • 動的型言語は静的型言語に比べてテストが増えるのか?

                              自分も合っているかどうか分からない話で、それなりに重要だと思うので編集自由でまとめてみます。 とりあえずは、自分とmakotokuwataさんのTLをRT含めてまとめてみました。 時間順なので多少会話が前後します。 他の人の意見が聞いてみたいので、含めるべきツイートがある場合は自由に追加してください。

                                動的型言語は静的型言語に比べてテストが増えるのか?
                              • 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 の時点では同一扱いされず、共用体型の各要素がまとめられ

                                • TypeScriptでコードを書く時に意識していること

                                  なんだかんだでTypeScriptを業務でも個人開発でも使うようになって3年くらいが経過しました。 TypeScriptは便利ですよね☕️ 世の中的にも、もはやTypeScript以外でフロントエンドの開発を行うことが珍しいくらいの雰囲気になってきたのではないかという感じがします。 最近というかTypeScriptを書き始めてしばらくした今、書き始めた当初とは意識することが変わってきたように感じています。 そういうわけで、今、どんなことを意識しているのかを自分の整理をこめて記載しておこうと思います。 🔥🔥🔥 型を先に定義する ここがかなり気持ちの上で変わった部分です。 TypeScriptで型を書くということは、つまるところ自分が今から記述するコードの設計図を書くということだという意識が強くなりました。 TypeScriptの型推論は非常に強力で、自分でほとんど型を定義しなくても、多

                                    TypeScriptでコードを書く時に意識していること
                                  • 島国大和のド畜生 次世代くん:576 仕事の伝え方

                                    やって見せ、言って聞かせて、させてみて、誉めてやらねば人は動かじ。(by山本五十六) そこまでやるなら、 自分でやった方が早い ので困る。 (でも自分でやっちゃうと、いつまでも仕事は減らないワ、誰も育たないワで結果的に苦労するんだけど) web漫画投票:投票する 結局アレだ。仕事を教えるってのが先ず不遜なのかも知れぬ。 出来る奴はほって置いても出来る。 定型処理とその理由を教えれば後は自分で考えて動ける奴が強い。 思い返すに、自分程度の人間ですら、今手持ちのスキルは結局自力で得たもので、人から教わったものは無いに等しい。(立ち振る舞いは師匠筋のを見て、覚えたけど) 例えば、時間が有ったらもっとプログラムを覚えたい、絵を練習したいとか言う人いるけど、それ根本的に違うから。 本当に出来る奴は、時間が無くてもそれを趣味としてやってる。 自分はプログラムも絵も仕事に必要な基礎スキルは趣味の段階で覚

                                    • Go プログラミング言語仕様

                                      Go プログラミング言語仕様 本文書は,The Go Programming Language Specification version 2021/02/10 のなんちゃって日本語訳である. 原文ソース:https://github.com/golang/go/blob/master/doc/go_spec.html 訳文ソース:https://github.com/hiwane/gospec-ja.誤訳・誤字脱字などは issue かプルリクで https://hiwane.github.io/gospec-ja/ 訳注 valid/invalid は有効/無効, legal/illegal は正当/不当と訳す. letter と character を区別するため,letter は英字,character は文字と訳す. signed/unsigned 符号付き,符号なし sourc

                                      • TypeScript 4.8で入る型の絞り込みの改善とは

                                        皆さんこんにちは。今回はTypeScriptの更新先取りシリーズです。TypeScriptの次のバージョンでは、以下のPRの更新が入ると思われます。もちろんPRの著者はAndersさんです。このPRではTypeScriptの根幹を成す機能の一つである「型の絞り込み」が改善されます。特に、unknown型と{}型の取り扱いが修正されている点が注目に値します。 型引数に対する推論が抱えていた既存の問題 {}型は、「nullとundefined以外の任意の値」という意味を持つ型です。この型は形としては空のオブジェクト型ですが、JavaScriptではnullとundefined以外のプリミティブ(文字列や数値など)に対してもプロパティアクセスをしてもエラーにならないという仕様を考慮して、{}型には文字列や数値などのプリミティブも含まれています。 従来型引数に対する推論が抱えていた問題とは、任意の

                                          TypeScript 4.8で入る型の絞り込みの改善とは
                                        • Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog

                                          はじめに メモリアロケーションの回避 ゼロ幅の型(=ゼロサイズの型)とは アドレスの同一性に関する未定義動作 この最適化が有効な場面 1. map 2. chan 3. interface の実装 おわりに 参考文献 はじめに こんにちは。SRE の izzii です。 最近は某フィットネスゲームが習慣だったり、ボルダリングを再開したり、登山シーズンが到来したりと心身ともに調子が良いです。 さてつい先日、Go のコンパイラによる最適化について勉強したまとめを社内で共有したところ、メンバーが面白がってくれたため、細かいところを自分の手で触ってみたり、Go Forum で質問を投稿したりした上で記事にしてみました。Go コンパイラの最適化について知りたいという方だけでなく、Go に慣れた方でも意外と知らない挙動を垣間見ることのできる内容かと思います。 github.com を元にしているのです

                                            Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog
                                          • TypeScriptプロジェクトにスキーマ駆動開発を持ち込み、より型安全な世界へ - Sansan Tech Blog

                                            Bill One Entry*1グループの秋山です。 本題に入る前にお知らせです。9/12 (火) にTypeScriptを活用した型安全なチーム開発をテーマとしたイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com 1. はじめに 1-1. スキーマ駆動開発とは 1-2. Testing Trophyとの関係性 2. 構成 2-1. 最初の構成と課題 2-2. 最終的な構成 3. バックエンド 3-1. スキーマから型ファイルを作る 3-2. APIハンドラに型を与える 3-3. バリデーターを追加する 3-4. huskyでスキーマ変更を検知する 4. フロントエンド 4-1. スキーマからAPIクライアントを作る 5. パターンマッチングを持ち込む 6. まとめ 1. はじめに 1-1. スキーマ駆動開発とは 詳しい解説は他の記事に譲り、一言

                                              TypeScriptプロジェクトにスキーマ駆動開発を持ち込み、より型安全な世界へ - Sansan Tech Blog
                                            • 型とは何か

                                              型とは何か Presentation Transcript 型とは何か? CPython の実装 by @cocoatomo, written in HuiFontP ご結婚 おめでとうございます!! • 型い愛で結ばれたお二人に • CPython の型のお話をプレゼント そもそも型とは? • 例を出すと 例えば血液型 • A型 • B型 • AB型 • O型 例えば軍艦 • 金剛型 • 陽炎型 • 天城型 • 利根型 • etc… 「型とは値の集合である」 • Types and Programming Languages • ↑型についての入門書 • 「名古屋入国のためのパスポート」 • 安全性 = 推進性 + 保全性 何の役に立つの? • 推進性 ⇒ 式の評価 (=計算) が値にな るまで実行できることが分かる • 保全性 ⇒ 式の評価によって型が変わら ない • ⇒ 「ある程度」

                                                型とは何か
                                              • Scala2.10.0のDependent method typesと型クラスを組み合わせた『The Magnet Pattern』がヤバい件 - ( ꒪⌓꒪) ゆるよろ日記

                                                これが……型の力かッ……!! spray | Blog » The Magnet Patternという記事で、「The Magnet Pattern」というデザインパターンが紹介されている。 これは、メソッドオーバーロードで解決していた問題を、型クラスとDependent method typesを組み合わせて置き換えることで、オーバーロードの際の様々な制約(Type Erasureなど)を突破し、より柔軟な拡張性を得ることができるというもの。このパターンでは、引数の型に応じて異なる結果型を返すようにできる。 この記事で、今まで何のために使われるのかわからんかったDependent method typesの有効性が理解でき、あらためて型の力を思い知った。 以前に"Generalized type constraints"(Scalaで<:<とか=:=を使ったgeneraliz

                                                  Scala2.10.0のDependent method typesと型クラスを組み合わせた『The Magnet Pattern』がヤバい件 - ( ꒪⌓꒪) ゆるよろ日記
                                                • Domain Modeling Made Functional を読んだ - 詩と創作・思索のひろば

                                                  最近フロントエンドに限らず TypeScript を書くことが多くなって、これでそれなりの規模のサーバサイドアプリケーションを書くときどうなるんだろう、と気になって読んでみた。いわゆる普通のオブジェクト指向ではなく関数指向な書き方でいきたいとき、どうするのが好ましいのか、というような観点。 名前的にそのものずばり、という本があったので購入した。日本のウェブを検索してみてもいくらか言及があるので価値はありそうだという判断で、大人なので円安でも強行する。 Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# (English Edition) 作者:Wlaschin, ScottPragmatic BookshelfAmazon 自分は PDF で読みたかったので

                                                    Domain Modeling Made Functional を読んだ - 詩と創作・思索のひろば
                                                  • Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル

                                                    あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLensであり、色々な解説資料が(主にHaskell向けに)出ている。 blog.recruit.co.jp さて、これまでのOpticsを紹介する資料はSetterとGetterとしての側面に注目しがちだったので、じゃあOpticsの何が良いのか、Scalaでやる意義は何か、という側面をこの記事で紹介しようと思う。 Optics -- vs. copyメソッド地獄 Opticsは合成可能である Opticsはボトムアップのアプローチである Opticsがう

                                                      Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル
                                                    • マネジメントは経験でもセンスでもない。「型」を学んで実行するのみ。|長村禎庸@EVeM

                                                      はじめにベンチャー企業でのマネージャー歴約10年ですが、10年経ってベンチャー企業に必要なマネジメントノウハウを体系化して、その体系化したものを人に教える仕事をしてます。 体系的にマネジメントを教わることなく、何かが起こるたびに都度経験から学んだり、上司から薫陶を得たり、書籍で学んだりしながら10年掛けて学びました。そして、それら断片的な学びをつなげて体系化しました。 体系化してみたら何のことはない、これが実行できれば必ず成果は出ます。 そして、経験が浅い新米マネージャーであっても、本マニュアルを元に徹底的にトレーニングされれば実行できるようになります。 マネジメントは経験でもセンスでもなく、業務マニュアルとして「型」化し実行可能です。 (本マニュアルはベンチャーに特化しています。ベンチャーという特殊なシチュエーションにフォーカスしなければ業務マニュアルのような各論ではなく一般論に終始して

                                                        マネジメントは経験でもセンスでもない。「型」を学んで実行するのみ。|長村禎庸@EVeM
                                                      • 型推論と型検査、静的な型つけと動的な型つけ、強い型つけと弱い型つけ - sumiiのブログ

                                                        ついでに追加。 型推論:変数や式の型をプログラマが宣言しなくても、言語処理系が文脈から推論してくれる機構。MLとかHaskellとか。 型検査:変数や式の型が合っていることを言語処理系が(普通は静的に)チェックしてくれる機構。CとかJavaとか、MLやHaskellも。 静的な型つけ:プログラムの実行前に型を検査する機構。MLとかHaskellとかCとかJavaとか。 動的な型つけ:プログラムの実行中に型を検査する機構。LispとかSchemeとかPerlとか。 強い型つけ:検査を通れば、安全さ(safety)が保証される、という(普通は静的な)型つけ。MLとかHaskellとかJavaとか。Javaはバグがあったりしたので少し怪しいですが。 弱い型つけ:検査を通っても、安全さ(safety)は保証されない、という型つけ。CとかPascalとか。 安全さ(safety):プログラムが言語仕

                                                          型推論と型検査、静的な型つけと動的な型つけ、強い型つけと弱い型つけ - sumiiのブログ
                                                        • 【TypeScript】超実践的テクニック集【Reactなし】 - Qiita

                                                          はじめに この記事はニジボックスQiita記事投稿リレーの2日目の記事です🌈 TypeScript(Reactなし)のフロントエンド実務現場で1年半ほど業務してきたうえで、頻繁に使うTypeScriptのテクニック(tipsレベルですが)をまとめていきます。タイトルはちょい盛りです。 手続き型でDOMを直接ゴリゴリいじくるイベント駆動のスタイルで、いわゆるモダンフロントな現場ではないという点、あらかじめご承知おきください。 1. 自分で定義した型に型ガードする 1-1. ユーザー定義型ガードについて TypeScriptではtypeof、instanceof、inなどの演算子を用いて変数を型ガードできますが、これらの演算子では自分で定義した型へは型ガードすることができません。 type Hoge = "hoge" | "fuga"; const attr = document.query

                                                            【TypeScript】超実践的テクニック集【Reactなし】 - Qiita
                                                          • GraphQL Gatewayはフロントエンド開発を幸せにする

                                                            はじめに マイクロサービスの開発では、サービスが増え続けるバックエンドに対して、フロントエンドは接続先が増えるため、開発効率を下げてしまいます。その対策として、さまざまな設計パターンが存在します。 弊社の開発ではGraphQL Gatewayを用いていますが、そこに至るまでや周辺の技術/アーキテクチャを解説します。 マイクロサービスとフロントエンド マイクロサービスを採用する場合、フロントエンド(ウェブアプリケーション、モバイルアプリケーションなど)は複数のサービスとの連携が必要になることが多いです。各マイクロサービスは通常、API(REST、gRPCなど)を提供し、フロントエンドはこれらのAPIを通じてデータの取得や操作を行います。 API Gateway API Gatewayは、フロントエンドとマイクロサービス間の中間に位置するコンポーネントとして機能し、マイクロサービスアーキテクチ

                                                              GraphQL Gatewayはフロントエンド開発を幸せにする
                                                            • “型”を語る際の7つの重大な誤り | POSTD

                                                              私の小論 “In Search of Types” では、プログラミングで使われる“型”という言葉の概念や目的、考え方について、公平な批評を心がけました。所々で、私の真剣さを感じ取っていただけるはずです。このブログ記事では逆に、思い切って堂々と批評していきます。いくつかの意見や考え方に、私は苛立ちを隠せません。先日参加したStrange Loopでも、このような状況に陥りました(補足しますが、すばらしいコンファレンスでした)。この機会に、“型”について多くの人が(誤って)語った“重大な誤り”をリストアップしていきます。 ここで話す内容は、説得力のあるものです。私が苛立ちを覚えるのは、人々が正当かつ透明性のある議論を行っていないことに対してです。結論に誤りがあってはいけません。私は、OCamlである程度の数のプログラミングを行っており、それは型チェックから多くの価値を得ることができるシンプル

                                                                “型”を語る際の7つの重大な誤り | POSTD
                                                              • 自転車を原付バイクにするエンジン内蔵車輪 - Engadget Japanese

                                                                How to watch NASA's first Boeing Starliner crewed flight launch today (scrubbed)

                                                                • JavaScriptに「型」を ~Microsoftが新構文を提案へ/TypeScriptの知見をもとにした「コメントとしての型」

                                                                    JavaScriptに「型」を ~Microsoftが新構文を提案へ/TypeScriptの知見をもとにした「コメントとしての型」
                                                                  • 我々向けの Algebraic Effects 入門

                                                                    • Ruby に型が欲しい理由 - Qiita

                                                                      Help us understand the problem. What is going on with this article? 2018/07/05 追記 JavaScript と漸進的型付について詳しい mizchi さんが記事を書いたので、併せて読むと良さそうです。 漸進的型付け言語の時代に必要なもの 前置き RubyKaigi2018 の発表で型の導入の検討についての話がいくつかあったものの、 Matz 自身は型アノテーションに否定的であるという発言をしているとのことを受けて、自分の意見の表明として書いている。 筆者は Ruby に育てられて Ruby は好きであるが、業務経験は主に JavaScript(TypeScript) や Python(Type Hinting) が多く、漸進的型付けによるコードの健全化を経験した上で、型付きの方が好きであるという立場である。 なお

                                                                        Ruby に型が欲しい理由 - Qiita
                                                                      • GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions.

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions.
                                                                        • 型とかオブジェクトとか基本的なことを理解する - あと味

                                                                          今日は、kanazawa.js v1.2です。 もうちょっとしたらしゃべることになるんですけど、大変申し訳ないことに、下書きはなんとか出来上がりつつあるものの、文章を要約して、スライドにまとめる時間はなさそうなので、この記事をプレゼン資料にしちゃうことにします。(あと味的には、今までに書いた記事と被る箇所があります。) 自己紹介 大部分省略。 JavaScriptが好きです。 ブラウザを開きながら、Firebugでその場で弄って遊んでみたりできるし、関数がとても強力なところが好きです。堅苦しくない仕様がとても肌に合ってると思ってます。 最近は、プログラミングが好きというよりも、プログラミング言語が好きなんだと気付き始めてます。 オブジェクトという言葉の定義を確認する オブジェクト (プログラミング) - Wikipedia 関連するデータを束ね、代入、演算、手続き(関数やメソッドなど)を介

                                                                            型とかオブジェクトとか基本的なことを理解する - あと味
                                                                          • 代数的データ型と初等代数学 - ryota-ka's blog

                                                                            この記事は以下のページに移転しました. blog.ryota-ka.me 「関数プログラミングとはなんですか?」と問われたときには「デ,データファースト……(震え声)」と答えることが多いのだが,実際 Haskell や OCaml などの言語を特徴付けるものとして,代数的データ型 (Algebraic Data Type; ADT) の存在は無視できないだろう.その有用性ゆえに,近年では新たな言語の策定の際にその概念が輸出され,Rust や Swift などの言語にも採用されている. 「代数的データ型とはなんですか?」と問われたときには―問われたことがないのでわからないのだが―おもむろに ghci か utop を立ち上げて,解説を始めるのではないかと思う.ひとしきり解説をした後,「つまり直積の直和なんですよ〜🙌✨」と言って話を締めくくるだろう. int 型や float 型など,「メモ

                                                                              代数的データ型と初等代数学 - ryota-ka's blog
                                                                            • オブジェクト指向プログラミングの現在・過去・未来

                                                                              1995年まで:イノベータとアーリーアダプターの時代; 1995-2005 : オブジェクト指向ブームと混乱の始まり; 2005-2015 : さらなる混乱と収束の兆し; 2015- ; 現在の状況とこれからの20年Read less

                                                                                オブジェクト指向プログラミングの現在・過去・未来
                                                                              • viste.com

                                                                                This domain may be for sale!

                                                                                • Scalaのオブジェクトの話

                                                                                  Scalaの関数型プログラミングの中で、オブジェクトがどのような位置づけで使用されるかの説明した資料です。object, class, traitがMLのモジュールシステムとどのように対応するかを中心に解説しています。

                                                                                    Scalaのオブジェクトの話