並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 681件

新着順 人気順

型の検索結果41 - 80 件 / 681件

  • 久々にテレビを観ると歌もニュースもすべてが型と見栄切りで、しかもそこに感情を込める『歌舞伎の世界』になっていて驚いてしまう

    下西 風澄 @kazeto 5億年ぶりにテレビを観るとやはり驚く。すべてが歌舞伎の世界だ。歌もニュースも、すべてが型と見栄切りで、しかもそこに感情を込める。これがジャパンなんだなとしみじみ。内面や思想は封印されたまま、形式を通じたコミュニケーションしか成立しない。 2022-12-30 18:58:31 下西 風澄 @kazeto 哲学を中心とした執筆。 「色彩のゲーテ」(『ちくま』)、「文学のなかの生命」(ミシマ社)、 「ねむの木の祈り」(『ユリイカ』)、他。不定期メルマガ&動画はじめました。bit.ly/2VeP3i4 kazeto.jp

      久々にテレビを観ると歌もニュースもすべてが型と見栄切りで、しかもそこに感情を込める『歌舞伎の世界』になっていて驚いてしまう
    • 「出世払い型奨学金」本格的返済始まる年収 “目安は300万円” | NHK

      卒業後の所得に応じて支払う「出世払い型奨学金」をめぐり、文部科学省の検討会議は、本格的な返済が始まる年収の目安を300万円とする考えで一致しました。国は、財源なども踏まえて詳細な制度について検討する方針です。 「出世払い型奨学金」は在学中の授業料を国が立て替え、学生は卒業後の所得に応じて支払う新たな制度で、政府は再来年度から、まずは大学院での導入を目指しています。 その方向性を議論する検討会議が11日に開かれ、本格的な返済が始まる年収について、出席した委員らは300万円を目安とする考えで一致しました。 一方、この年収に達するまでは毎月2000円を納付するのが適当だという意見が多数を占めました。 また、対象の学生については、子どもがいる場合などを除き、仕送りなどを含めた本人の年収が299万円以下とすることについても一致しました。 検討会議は、来月15日の次回に提言を取りまとめる方針で、文部科

        「出世払い型奨学金」本格的返済始まる年収 “目安は300万円” | NHK
      • 貸与奨学金 返済に苦しむ社会人 「無理ゲー」「生きるのがしんどい」…「取り立てが怖い」との声も:東京新聞 TOKYO Web

        POSSEのメンバーに届いた返還期限猶予期間終了の通知。「返還が約束通り実行されないと新しい奨学生の採用に影響する」との記載がある 今、大学生の半数近くが利用する奨学金。多くは返済が必要な貸与型だが、経済の低迷で収入が不安定化し、日本学生支援機構(JASSO)の取り立てに苦しむ社会人も少なくない。岸田文雄首相は「出世払い型」の検討を指示したが、中身はこれから。専門家からは「返済し続けるのが前提の構造が問題」との声も上がる。少子化対策の面からも、給付型の拡大を含め、早急な見直しが必要なのでは。(特別報道部・大杉はるか)

          貸与奨学金 返済に苦しむ社会人 「無理ゲー」「生きるのがしんどい」…「取り立てが怖い」との声も:東京新聞 TOKYO Web
        • ヘッダー(グローバルナビゲーション)のデザイン事例100選|akane

          こんにちは!株式会社Rabeeのデザイナーのakaneです🐏 今回は、ヘッダー(グローバルナビゲーション)のデザイン事例を調べてみました!パターンごとに分類しながら紹介していくので、どうぞ最後までお楽しみください✍ はじめに:グローバルナビゲーションとは?グローバルナビゲーションとは、Webサイトの全ページに共通して表示される「主要なコンテンツへの案内リンク」です。 一般的には画面上部のヘッダーに設置されることが多く、ユーザーが「今、どこにいるのか?」「目的のページはどこか?」と迷わないように誘導する大切な役割があります。 どんなサイトを作るときもほとんど必須のパーツですが、わたしは気付けばいつも似たようなレイアウトを使いがち…。そこで今回は、グローバルナビゲーションのデザインを100事例見比べて分類してみます🔍 ・ ・ ・ 1. スタンダード型まずは、一般的に「ヘッダー」の言葉で想像

            ヘッダー(グローバルナビゲーション)のデザイン事例100選|akane
          • TypeScriptを雰囲気で使っていたので勉強し直したら知らなかったこと

            は同義である。JSでいうところのobjectを定義すると{ name: string }という型が暗黙的に定義されたことになる。 リテラル型 値を指定する型のこと。決まった値しか使わせたくない場合に使用する。

              TypeScriptを雰囲気で使っていたので勉強し直したら知らなかったこと
            • Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era

              PyCon JP 2020 の「Python 3.9 時代の型安全な Python の極め方」の発表資料です

                Python 3.9 時代の型安全な Pythonの極め方 / Mastering Type Safety in Python 3.9 Era
              • プログラミング学習の挫折を防ぐには?

                May 9, 2022 プログラミングの学習は時間と労力のかかる学習で、途中で学習を挫折してしまう事も珍しくありません。学習が思ったように進まないと、自分はプログラミングに向いていないのではといった迷いが出ることも少なくないでしょう。 このような問題についての研究は長年続けられており、2015年にラトビア大学のJuris Borzovs氏、Lalia Niedrite氏、Darja Solodovnikova氏らが「コンピュータプログラミング適性検査による中退学生の削減」という論文を発表しました。この論文では心理テスト、高校数学の補修講座、出願前のプログラミング体験、メンタープログラムなどによるドロップアウト削減施策が講じられました。 今回はこの論文の中から特に目に付いた点を紹介します。 半数近くの学生がコンピュータサイエンスを初年度に中退 MBTI診断テストとプログラミング学習の関連 E

                  プログラミング学習の挫折を防ぐには?
                • 関数型プログラミングと型システムのメンタルモデル

                  Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 実際のプロダクト開発ではどうすればいいのか? というケースは以下のスライドを参照してください。 (本スライドは、こちらのプロダクト開発の経験をベースに基礎を再整理したものになります) https://speakerdeck.com/naoya/typescript-niyoru-graphql-batukuendokai-fa-75b3dab7-90a8-4169-a4dc-d1e7410b9dbd

                    関数型プログラミングと型システムのメンタルモデル
                  • プロを目指す人のためのTypeScript 本の感想 #ブルーベリー本

                    自分も教える事が多いので、読み手にどういう風に学んでほしいか、自分がどういう風に伝えるべきか、という視点で読んだ。 1章・イントロダクション そもそもTypeScript とはなにかみたいな話。 コンパイルエラーが出ている状態ではプログラムが完成したとは言えません。 力強い コンパイルエラーをただ避けるのではなく、利用する気持ち で TypeScript プログラミングに臨みましょう。 初心者に型違反の向き合い方を諭す話。IDEの補助になるとか。 TS年表で取り上げてるのが特徴的。exactOptionalProperty を取り上げてたり。 TSの型はランタイムに影響しない、という話を何度も解説している。これは初心者の誤解がとても多いので、必要だと思う。何度いっても、伝わって欲しい人に伝わらないのだが… enum や namespace については意図的に解説しない。過去のTS独自路線だ

                      プロを目指す人のためのTypeScript 本の感想 #ブルーベリー本
                    • 6歳娘「パパ、型による条件分岐はできないの?」 - Qiita

                      とある休日 娘「ねぇ、パパ!」 娘「switchやろ〜!」 ワイ「おお、ええで!娘ちゃん!」 ワイ「Switchやろう!」 ワイ「ほな、テレビをつけて・・・」 娘「テレビ?」 娘「何を言っているの、パパ?」 娘「TypeScriptのswitch文のことだよ?」 ワイ「ファッ!?」 switch文で何をしたいのか 娘「今ね、ショッピングサイトを構築してるところなの」 ワイ「ほうほう」 娘「それでね、手広く儲けようと思って」 ワイ「おお、ええやんか」 娘「個人ユーザーだけじゃなく、法人ユーザーも登録できるようにしようと思うの」 ワイ「なるほどな」 娘「言語はTypeScriptを使っているんだけど」 娘「ちょっと聞きたいことがあるの」 ワイ「おう、なんでも聞いてや」 あいさつ関数を作っている 娘「ショッピングサイトにログインしたときに・・・」 個人の場合 → 「無職 やめ太郎さん、こんにちは

                        6歳娘「パパ、型による条件分岐はできないの?」 - Qiita
                      • TypeScriptでReactをやるときは、小さいアプリでもReduxを最初から使ってもいいかもねというお話 | フューチャー技術ブログ

                        TypeScriptでReactをやるときは、小さいアプリでもReduxを最初から使ってもいいかもねというお話 前日の丸野さんがReduxを分かりやすく解説してみたというReduxの基本的な紹介を行いました。Reduxはコンパクトなライブラリながらよく考えられた仕組みです。Jetpack ComposeやらFlutterやら、ReactインスパイアなGUIフレームワークも増えているので、JavaScript(TypeScriptではなく) + Reduxをやってみるのは、ウェブに限らず、今後のユーザーインタフェース関連のコードを触るための理解力向上には良いと思います。 本エントリーは、プロダクションコードでたくさんRedux周りにもreducerなどを実装しなくてはいけなくなったときの次のステップとして、Redux Toolkitの紹介をします。 たいてい、Reduxは導入コストが大きく、

                          TypeScriptでReactをやるときは、小さいアプリでもReduxを最初から使ってもいいかもねというお話 | フューチャー技術ブログ
                        • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

                          SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

                            型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
                          • シェルター型支援は構造的欠陥を抱えており、既に対策も見つかっている

                            colaboの話で連日ここも盛り上がっているが、ぶっちゃけ大半はどっちもしょーもないが若年女性が救われなくなるのは困るなぁぐらいの感覚だろう。 DV被害者女性などが駆け込む場所としてシェルターと称するアパートが事業として回されており、生活保護で支払える家賃で住めて画期的と言っているがこのやり方は人権先進国ではとうに通り過ぎて問題点すら明らかにされている。 それは保護される側とする側の間にどうしようもなく権利勾配が発生してしまうので、生殺与奪の権利を奪われた入居者が "自らの意志で" 辺野古基地建設反対デモに参加させられてしまったり、怪しい宗教に入信したり様々である。 日本でも古くから縁切り寺とかあったし、欧米でも教会などの宗教施設がシェルターの役割を果たしてきたのだが、宗教関係者も権力勾配で力を持ってしまうと無意識に良からぬ事をやってしまうのは想像に難くなく、牧師が未成年を…という例は珍し

                              シェルター型支援は構造的欠陥を抱えており、既に対策も見つかっている
                            • JavaScriptをもうちょっと理解する54のトピック - Qiita

                              この記事について JavaScriptはお好きですか? Reactなどフロンドエンドを中心に人気の言語なので、触ってる人はたくさんいると思います。 奥深くて自分も好きな言語ですが、結構なんとなくで触っていたりしませんか? 今回は自分が後輩によく聞かれた事や、自分が引っかかった事をたくさん書いていきます。 つまり基本的には初心者向け、よくても中級者向けです。 何か一個でも知らない事があれば御の字のつもりで書いたので、ぜひ気軽に読んでください! JavaScript編 略称はJS、Javaダメぜったい いなさそうなのに稀にいるという・・ Web開発から入ってプログラムを広く知らない場合に発生しやすい? Javaは全く別に王者がいるので、万が一使っていたららやめましょう。 略称は JS(じぇーえす) でお願いします。 データ型、Object Objectはキーと値をいくつも持てるJSのデータ型で

                                JavaScriptをもうちょっと理解する54のトピック - Qiita
                              • 9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ

                                私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

                                  9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ
                                • AI 時代のコードの書き方, あるいは Copilot に優しくするプロンプターになる方法

                                  Copilot をオープンベータ直後から長く使っていて、また補助的に ChatGPT も使いながらコードを書いていて、なんとなくコツがわかるようになってきた。 自分は生成モデルのことは表面的な理解しかしてない。雑にバックプロパゲーションの実装の写経したり、Transformer の解説とかは読んだが、にわかの域を出ていない。 あくまで利用者として生成モデルから吸い出したプラクティスになる。 基本的に TypeScript と Rust での経験が元になっているが、他の言語にも適用できる話ではあると思う。自分は TypeScript はかなり得意だが、 Rust はあんまり書けるわけではなく、Rust の学習で ChatGPT を頼ろうとして失敗しているというステージ。 Copilot / ChatGPT とどう付き合うか まず、前提として ChatGPT も Copilot も、コード生成

                                    AI 時代のコードの書き方, あるいは Copilot に優しくするプロンプターになる方法
                                  • プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで

                                    2022年4月22日紙版発売 2022年4月19日電子版発売 鈴木僚太 著 B5変形判/424ページ 定価3,278円(本体2,980円+税10%) ISBN 978-4-297-12747-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 TypeScriptは,JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では,根幹となるJavaScriptの仕様・機能とともに,TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。 静的型付き言語は世にいくつもありますが,Type

                                      プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
                                    • 書評『TypeScriptとReact/Next.jsでつくる 実践Webアプリケーション開発』 - uhyo/blog

                                      皆さんこんにちは。今回は、2022年7月25発売の『TypeScriptとReact/Next.jsでつくる 実践Webアプリケーション開発』を読み終わったので、書評という形で感想と紹介を述べたいと思います。筆者はもともと技術書を読まず「ネットでいいやん」派だったのですが、このたびTypeScript入門書を出版したこともあり、それを過去の話として葬り去るべく技術書を読んでいくことにしました。せっかくなので、読んだ技術書の感想等を紹介します。 おことわり: この記事では、「筆者」とはこの書評を書いた人を指し、『TypeScriptとReact/Next.jsでつくる 実践Webアプリケーション開発』を書いた人たちのことは「著者ら」と呼びます。また、この記事の内容はすべて筆者の個人的な見解であり、本の内容や本を読んで得られる知識について何らかの保証をするものではありません。 筆者について筆者

                                        書評『TypeScriptとReact/Next.jsでつくる 実践Webアプリケーション開発』 - uhyo/blog
                                      • CSSは確実に進化している! 変数、条件分岐、ループ、論理演算など、ロジックに記述するCSSの実装テクニック

                                        一昔前のCSSと比較すると、ここ数年でCSSはかなり進化しました。calc()で数式が扱えるようになり、変数、条件分岐、ループ、論理演算なども使用できます。CSSでロジックをどう記述するのか、ブログラミング言語的な実装を紹介します。 Writing Logic in CSS by Daniel Schulz TwitterでCSSがプログラミング言語なのかと話題になっていました。その前から本記事の翻訳に取り組んでいたのですが、非常に興味深い記事でした。CSSは宣言型プログラミング言語ですが、JavaScriptのような命令型の要素も増えてきて、一昔前からかなり進化しています。 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに CSSの制御構造 CSSの実装テクニック 終わりに はじめに CSSは、スタイルのシステムに特化

                                          CSSは確実に進化している! 変数、条件分岐、ループ、論理演算など、ロジックに記述するCSSの実装テクニック
                                        • 大学入試、偏差値時代終幕の足音 推薦・総合型が過半に 教育岩盤・第3部 漂流する入試(1) - 日本経済新聞

                                          新年を待たずに合格を決める「年内入試」が主流になり、受験生の3分の2が第1志望の大学に進む――。受験地獄といわれた入試環境が18歳人口の減少で激変し、偏差値で大学が序列化される時代が終わろうとしている。人材育成の新たな道筋が見えぬまま漂流する入試と変化を阻む岩盤の実態を追う。明治大は2026年、42年ぶりに系列校を設ける。中高一貫校の「日本学園」(東京・世田谷)だ。吉田茂元首相が出た伝統校だが

                                            大学入試、偏差値時代終幕の足音 推薦・総合型が過半に 教育岩盤・第3部 漂流する入試(1) - 日本経済新聞
                                          • 大学でRustを教えた話 - 未完成な論を綴るブログ

                                            このブログ記事は、Advent Calender 2020, Rust 3、23日目の記事となります。自分は現在大学で教員をしていまして、セキュリティ系の研究室に所属しています。現在はセキュリティの講義を担当しており、そこでRust言語を教えているため、その内容を紹介しようと思います。 はじめに 皆さんご存知のようにソフトウェアの脆弱性は今でも大きな問題となっていますが、それを完全ではないにしろ根本から解決するための技術的手法として型システムが注目されています。型システムの考え自体は古くからありますが、最近ではRust言語が登場し、OSなどいわゆる低レイヤーなソフトウェアも型システムの恩恵を預かることができるようになってきました。SMTソルバや定理証明などと言った難しい(かつ面白い)手法でC言語やC++言語で書かれたソフトウェアを解析する方法もありますが、セキュアソフトウェアを語る上では、

                                              大学でRustを教えた話 - 未完成な論を綴るブログ
                                            • こわくない関数型プログラミング

                                              関数型プログラミングは全部理解しようとすると難しいですが、簡単な部分の中にも有用な知見がたくさんあります。 関数型プログラミングにまだ親しんでいない人向けに、明日からのプログラミングにすぐ役に立つ考え方をできるだけわかりやすく伝えます。

                                                こわくない関数型プログラミング
                                              • Pythonの罠10選 - Qiita

                                                皆さんはプログラムを組んでいて、あれ?思った通りの出力結果にならないという経験はありますでしょうか。単純なエラーであればいいですが、文法の理解が食い違っている場合、中々ミスに気づかない場合もあります。 今回はそんな知らないと沼にハマるかもしれないPythonの文法を10個ご紹介します。 1つでも新しい知見があると幸いです。 それではいってみましょう! YouTube Pythonチュートリアル(公式ドキュメント)を使って基礎文法を解説しています。 チャンネル登録いただけると励みになります。 罠1:アイテム1のタプルもカンマが必要 タプルはカンマで区切られた値からなるので、アイテムが1つでもカンマが必要です。 忘れるとstr型だったり、int型になり、意外と気づかないです。。。

                                                  Pythonの罠10選 - Qiita
                                                • TypeScriptで知ってコードの安全性が上がったtips集

                                                  TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 本記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、この記事では主にTypeScriptの型システムに焦点を当てています。 tips集 配列周りのtips まずは配列を扱う際に役立つ、tipsを紹介します。 配列からUnion型を作成する ↓のように(typeof array)[number]で配列の全要素を持つUnion型を作成できます。 const fruits = ["apple", "banana", "lemon"] as const; type Fruit = (typeof fruits)[number]; //

                                                    TypeScriptで知ってコードの安全性が上がったtips集
                                                  • MySQLからPostgreSQLに移行する際のTips - そーだいなるらくがき帳

                                                    このエントリーは Classi developers Advent Calendar 2022の18日目。 ネタはなんでもいいよ!とのことなので、Claasiに全く関係なく、MysqlからPostgreSQLに移行する際の注意点を書く。 なお、まだRDSにPostgreSQLがなかった頃のような昔の記事だがこちらに無いことを書いていく。 soudai1025.blogspot.com soudai1025.blogspot.com MySQL から PostgreSQLにデータ移行する際の注意点 MySQLとPostgreSQLは互換性がもちろんありませんので、細かいところで違いが発生します。 よく踏むデータ移行の注意点は以下の通り。 timestampやdatetimeを移行する先はtimestamp型になるが、timestamp型はタイムゾーン付きと無しがある timestamp wi

                                                      MySQLからPostgreSQLに移行する際のTips - そーだいなるらくがき帳
                                                    • 無料の分散型フォルダー同期ツール「Syncthing」v1.15.0が公開/不正なリレープロトコルメッセージを送るとクラッシュする脆弱性を修正

                                                        無料の分散型フォルダー同期ツール「Syncthing」v1.15.0が公開/不正なリレープロトコルメッセージを送るとクラッシュする脆弱性を修正
                                                      • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                                        お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                                          浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                                        • 関数名、メソッド名、変数名でよく使う英単語のまとめ - LOCAL-C BLOG

                                                          • ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP

                                                            Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフな関数型DDDを紹介します。 本セッションではドメインモデリングによって発見したモデルやビジネスロジックをソフトウェアに反映する際により型を重視した設計を加えます。 型で表現する範囲が広がることでビジネスロジックをより明確にコードで表現できるようになります。 さらには型で表現されているためコンパイルフェーズで気付けるミスが増え、ソフトウェアの品質向上にもつながります。 関数型の考えをいれるといってもただ単にHaskellなどに代表される関

                                                              ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
                                                            • プログラミング言語論入門 - riswu’s blog

                                                              第0章. なぜ Scala を使うのか? はじめに 本稿は、John C. Mitchell 氏らによる Concepts in Programming Languages を基に自身の見解を交え、私がなぜ Scala を好んで使うのかを論じた記事になります。 プログラミング言語の歴史 本題に入る前に、プログラミング言語の歴史について紹介します。 年代 言語・イノベーション 1950 Fortran and Cobol 1960 Lisp and Algol 1970 Abstract data types (Simula, C, SQL) 1980 Objects (Smalltalk, C++) 1990 Java, JavaScript, Python, Ruby これは、年代ごとに開発された言語およびイノベーションを表にまとめたものになります。ただし、この表には欠けている事柄があり

                                                                プログラミング言語論入門 - riswu’s blog
                                                              • 20年でソフトウェア開発の景色はどのぐらい変わったのか? - Qiita

                                                                PySpa統合思念体です。 某チャットで、「今時のOSSのプロジェクト管理とかのベストプラクティスが書いてある本ないかな、陳腐化早そうだしないか」みたいな話題が投入されました。その中で、エキスパートPythonプログラミングとか、Pythonプロフェッショナルプログラミングとかは思い出して紹介したけど、他の人からはShip It、Manage It、Release It三部作とか、達人プログラマーとかも出てきました。 このあたりの源流を辿ると、そういえば今流行ってる開発の源流としてはエクストリームプログラミングの開発系のプラクティスの遺伝子を受け継いでいるのが多いよな、そういえば当時から見て今ってどう変わっているのかな、という話題に。せっかくなので20年前を思い出しつつ、当時と今でどういう風に変わってきたのか適当にまとめてみます。 20年前の状況 XP白本こと、eXtreme Progra

                                                                  20年でソフトウェア開発の景色はどのぐらい変わったのか? - Qiita
                                                                • Python互換の静的型付け言語「Erg」

                                                                  承前 Ergは私が数年前から開発を始め、つい一昨日公開したばかりのプログラミング言語です。 のはずですが、 早速、qnighyさんに捕捉していただきました。ありがとうございます。 この記事ではそのErgがどのような言語なのかざっくりと解説していきたいと思います。なお、紹介した機能の一部は未実装です。実装途中の機能を含むコードには*を、完全に未実装の機能を含むコードには**をつけておきます。 はじめに Pythonは概ね素晴らしい言語です。 オフサイドルールを世に知らしめた(?)、その可読性の高い文法。Numpy, SciPyを始めとする機械学習、科学技術計算用の膨大なライブラリ。 しかしPythonにもいくつかの弱点が存在します。 まず、動的型付け であること。それ自体は弱点というより良し悪しなのですが、明らかに動的型付けでは手に余るPythonプロジェクトが世に溢れています。 次に、一貫

                                                                    Python互換の静的型付け言語「Erg」
                                                                  • どのようにTypeScriptを使うのか - uhyo/blog

                                                                    現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ

                                                                      どのようにTypeScriptを使うのか - uhyo/blog
                                                                    • TypeScript 本体のコードを読んでみよう

                                                                      みんなお世話になっている TypeScript のコードを読みたいと思ったことはないだろうか。読んだ。 一週間ぐらいかかった。完全に読み切ったとは言えないが、概要は掴んだ。 なかなかに複雑でドメイン知識を得るのが難しかったので、これから読む人向けに、登場人物や概念を整理して紹介したい。 読んだのは 2023/6/8 時点で git clone したコード。 最初に: 自分のゴール設定 複数ファイルにまたがった参照を、 TypeScript の Language Service が提供する findReferences() や findRenameLocations(), goToDefinitions() を使って、インクリメンタルに書き換えたかった。 Terser を使うと、今触ってるオブジェクトが何で、何のメンバを書き換えたかの情報が残らない。これを TypeScript のレイヤーで

                                                                        TypeScript 本体のコードを読んでみよう
                                                                      • ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!

                                                                        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

                                                                          ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!
                                                                        • TypeScriptの"型"を学びたいあなたへ。type-challengesのすゝめ - Qiita

                                                                          先日以下ツイートをしたら思いの外良い反応もらえたので、より詳細な紹介記事を書いてみました。 これは必見だわ!! TypeScriptの型についての問題集 想定に従って独自のユーティリティ型を作っていく感じの問題がレベル別に提供されてる Playgroundのリンクから手を動かしながらチャレンジできるので凄くやりやすい (自分はeasyの問題でも分からんのあった。頑張ろ😅)https://t.co/tkEFe7VrBQ — Kawamata Ryo (@KawamataRyo) September 3, 2020 type-challengesとは type-challenges/type-challenges: Collection of TypeScript type challenges with online judge VueUseやVueDemiの開発者である @antfu7さ

                                                                            TypeScriptの"型"を学びたいあなたへ。type-challengesのすゝめ - Qiita
                                                                          • Ruby 3.0.0 リリース

                                                                            Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

                                                                            • フロントエンド界隈で新しく提唱されているT3 Stackについて調べてみた

                                                                              T3 Stackとは 昨今のWeb開発ではTypescriptによる型安全なWebアプリケーションの開発を求められている。またバックエンドとフロントエンド、さらにBFFによる構成においていかに型安全で効率よく開発するかはWebアプリ開発において非常に重要な課題となっている。 そこでTheo氏によって「T3 Stack」という技術スタックが提唱された。 これは最近注目のWeb開発の技術スタックとなっている T3 Stackにおいては以下3つの思想に焦点が当てられている。 simplicity(簡潔さ) modularity(モジュール性) full-stack typesafety(フルスタックの型安全) そしてこれらの思想を実現するためにT3 Stackでは以下6つの技術を採用する Next.js tRPC Tailwind CSS Typescript Prisma NextAuth.j

                                                                                フロントエンド界隈で新しく提唱されているT3 Stackについて調べてみた
                                                                              • かつて人類は1と0を打ち込んでプログラムを書いていたらしい

                                                                                それじゃあまりにも天才しかできないだろうということでニーモニックというのを持ったアセンブリ言語ができた 多分当時の人の中にあった議論は、こんなの1と0の羅列に名前つけただけだろ、なんかいいことあんの?という人たちと、まさにブレークスルーだ世界が変わるとエキサイトした人たちだろう。 色々あったが、人にも読めるソースをアセンブリ言語に変換してくれるCが出来た。 多分このときも単なるアセンブリのスーパーセットだろ?なんか意味あんのか?っていう人たちと、やばいレベルでプログラミング書きやすくなったとエキサイトする人たちに分かれたことだろう。 その後Javaが登場してオブジェクト指向が花開いた。 このときも、構造化プログラミングに毛が生えた程度のもんだろ?何が嬉しいんだ?という人と、オブジェクト指向なら何でもできる!とエキサイトした人たちで溢れかえったことだろう。 Java以降のIT界隈ではもはやオ

                                                                                  かつて人類は1と0を打ち込んでプログラムを書いていたらしい
                                                                                • こわくないTypeScript〜Mapped TypeもConditional Typeも使いこなせ〜 - uhyo/blog

                                                                                  TypeScriptの型システムは、ユニオン型を始めとする様々な機能を持っているのが特徴的です。 その中でも、mapped typesとconditional typesは高度な機能として知られています。 ところが、その機能の膨大さゆえ、全てを使いこなす必要はない、TypeScriptの複雑な機能を無闇に使うべきではないという言説はたびたび現れます。 そのときに槍玉に上がりやすいのがmapped typesとconditional typesなのです。 筆者は、これらの機能は使えるだけ使い倒すべきであるという考えを持っています。 主張の根幹には、高度な型を使えばより正確にインターフェースを記述することができること、そして正確なインターフェースは使いやすさや正確な型推論結果に貢献することがあります。 正確なインターフェースや型推論結果は、コードの理解速度や開発効率を促進します。 これらは型シ

                                                                                    こわくないTypeScript〜Mapped TypeもConditional Typeも使いこなせ〜 - uhyo/blog