Git Product home page Git Product logo

soranin's Introduction

My ReadMe Profile and If you like it 🌟💕

Hi there (こんにちわ)from Japan 🗾

Moz://a supporter

special ✨ repository because its README.md (this file) appears on your GitHub profile.


My link

Trading Profile

Web3 My Profile


A little more about me...

-

We can hide anything, even code!

    #!/usr/bin/env amm
    import scala.io.Source

    trait Programmer{def programinng()}
    trait Engineer{def writting()}
    trait Manager{def communication()}
    trait FullstackEnginner { this: Programmer with Engineer with Manager =>
        def superman()
    }
    class AboutMe(name: String, weightScale: Range, likeLocations: List[String], likeLanguages: List[String])
    object AboutMe {
      def printAbout() {
        println("MyName is ${name}")
      }
      def apply(weightScale: Range, likeLocations: List[String], likeLanguages: List[String]): AboutMe =
        AboutMe(weightScale, likeLocations, likeLanguage)
    }

    type ProgramData = (Int, String, String)
    def loadProgramData(): List[ProgramData] = {
      Source.fromFile("program.csv").getLines.drop(1).map(s => {val split = s.split(',');(split(0).toInt, split(1), split(2))}).toList
    }

    @main
    def printMe() {
      val programData = loadProgramData
      val likeLogic = (like: String) => like match {
        case "hybrid" | "oop" | "functional" | "el" => true
        case _ => false
      }
      val likeLocations = List("Kyoto, Japan", "Shimane, 出雲大社", "Etc.")
      val langs = for (programs <- programData.filter(p => likeLogic(p._3)) yield programs._2
      AboutMe.apply(55 to 79, likeLocations, langs).name = "T Kumagai" printAbout
    }

Usefull Link


Status

stats graph languages graph streak graph

Waka Readme

From: 25 December 2023 - To: 01 January 2024

Other      24 mins         █████████████▒░░░░░░░░░░░   53.90 %
Markdown   21 mins         ███████████▓░░░░░░░░░░░░░   46.10 %

Skills

friendbear/

dev to profile instagram profile Pay pal me profile personal website linked in profile twitter profile bearsworld community atlassian

Twitter: ThraiiBraga Twitter: ThraiiBraga

daily.dev devcard

T Kumagai's Dev Card

daily.dev Bookmarks

Recent GitHub Activity

[11/14 05:56] ⭐ Starred mdn/project-template
[11/12 17:38] 📝 Made 4 commits in cruise-group/.github
[11/11 04:48] 📂 Created branch main in friendbear/mdn-generated-project-template
[11/11 04:48] ➕ Created repository friendbear/mdn-generated-project-template
[11/11 04:42] ⭐ Starred mdn/workflows
[11/11 04:41] ⭐ Starred mdn/ai-feedback
[11/11 02:51] ❗️ Opened issue #1 in fieldville/dotfiles2
[11/10 23:00] ⭐ Starred friendbear/perfect-rust
[11/10 22:52] ✅ Opened PR #89 in friendbear/perfect-rust
[11/10 22:46] 🔍 Reviewed #85 in friendbear/perfect-rust

Show More

[11/10 22:45] ❌ Deleted dependabot/cargo/futures-util-0.3.29 from friendbear/perfect-rust
[11/10 22:45] 📝 Made 2 commits in friendbear/perfect-rust
[11/10 22:45] 🎉 Merged PR #86 in friendbear/perfect-rust
[11/10 22:45] 🔍 Reviewed #86 in friendbear/perfect-rust
[11/10 22:44] ❌ Deleted dependabot/cargo/serde-1.0.192 from friendbear/perfect-rust
[11/10 22:44] 📝 Made 2 commits in friendbear/perfect-rust
[11/10 22:44] 🎉 Merged PR #88 in friendbear/perfect-rust
[11/10 22:44] 🔍 Reviewed #88 in friendbear/perfect-rust
[11/10 22:43] 🔍 Reviewed #88 in friendbear/perfect-rust
[11/10 22:41] 📝 Made 2 commits in friendbear/perfect-rust
[11/10 16:57] ❗️ Opened issue #288 in 🔒friendbear/pocket
[11/10 15:59] ⭐ Starred dougkalash/lanyard-profile-readme
[11/10 13:21] 📝 Made 1 commit in friendbear/friendbear
[11/10 13:17] 🍴 Forked abhisheknaiidu/awesome-github-profile-readme to friendbear/awesome-github-profile-readme
[11/09 23:10] ⭐ Starred githubnext/monaspace
[11/06 14:15] ❌ Deleted dependabot/cargo/proc-macro2-1.0.69 from friendbear/perfect-rust
[11/06 14:15] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:15] 🎉 Merged PR #78 in friendbear/perfect-rust
[11/06 14:14] ❌ Deleted dependabot/cargo/rustix-0.37.25 from friendbear/perfect-rust
[11/06 14:14] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:14] 🎉 Merged PR #81 in friendbear/perfect-rust
[11/06 14:12] ❌ Deleted dependabot/cargo/reqwest-0.11.22 from friendbear/perfect-rust
[11/06 14:12] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:12] 🎉 Merged PR #80 in friendbear/perfect-rust
[11/06 14:11] ❌ Deleted dependabot/cargo/num-traits-0.2.17 from friendbear/perfect-rust
[11/06 14:10] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:10] 🎉 Merged PR #79 in friendbear/perfect-rust
[11/06 14:08] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:08] 🎉 Merged PR #76 in friendbear/perfect-rust
[11/06 14:07] ❌ Deleted dependabot/cargo/thiserror-1.0.50 from friendbear/perfect-rust
[11/06 14:07] 📝 Made 2 commits in friendbear/perfect-rust
[11/06 14:07] 🎉 Merged PR #82 in friendbear/perfect-rust
[11/06 14:05] 🗣 Commented on #76 in friendbear/perfect-rust
[11/06 14:05] 🗣 Commented on #81 in friendbear/perfect-rust
[11/06 14:03] 🗣 Commented on #76 in friendbear/perfect-rust
[11/02 10:47] 📝 Made 2 commits in friendbear/perfect-rust
[11/01 03:28] 📂 Created branch features-sentry in friendbear/perfect-rust
[10/26 09:04] ⭐ Starred KOBA789/relly
[10/26 09:03] ⭐ Starred KOBA789/gh-sql
[10/25 15:29] ⭐ Starred ratatui-org/rust-tui-template
[10/25 13:12] ⭐ Starred dagster-io/fake-star-detector
[10/24 12:45] ⭐ Starred AleoHQ/snarkOS
[10/22 15:57] ⭐ Starred fathyb/carbonyl
[10/22 11:02] ⭐ Starred mozilla/hubs-cloud
[10/20 15:52] 📝 Made 1 commit in friendbear/perfect-rust
[10/17 17:25] ⭐ Starred analysis-tools-dev/static-analysis
[10/11 11:42] ⭐ Starred rapiz1/rathole
[10/10 13:13] ⭐ Starred juhaku/utoipa
[10/10 13:00] ⭐ Starred sqlparser/sqlflow_public
[10/10 11:47] ⭐ Starred Mazars-Tech/AD_Miner
[10/07 14:27] ❌ Deleted dependabot/cargo/sea-orm-0.12.3 from friendbear/perfect-rust
[10/07 14:27] 📝 Made 2 commits in friendbear/perfect-rust
[10/07 14:27] 🎉 Merged PR #72 in friendbear/perfect-rust
[10/07 14:26] ❌ Deleted dependabot/cargo/chrono-0.4.31 from friendbear/perfect-rust
[10/07 14:26] 📝 Made 2 commits in friendbear/perfect-rust
[10/07 14:26] 🎉 Merged PR #71 in friendbear/perfect-rust
[10/07 14:26] 📝 Made 2 commits in friendbear/perfect-rust
[10/07 14:26] 🎉 Merged PR #70 in friendbear/perfect-rust
[10/07 14:24] 📝 Made 2 commits in friendbear/perfect-rust
[10/07 14:24] 🎉 Merged PR #73 in friendbear/perfect-rust
[10/07 12:53] ⭐ Starred testcontainers/testcontainers-rs
[10/04 22:34] ✅ Opened PR #9 in friendbear/kafka-beginners-course
[10/04 22:34] 📝 Made 1 commit in friendbear/kafka-beginners-course
[10/04 22:34] 📂 Created branch snyk-fix-ce6dc68716fc68c690e9ae29b20d34bc in friendbear/kafka-beginners-course
[10/04 15:11] 📝 Made 1 commit in friendbear/kafka-beginners
[10/04 15:11] 📂 Created branch snyk-fix-ad4161c1a06d3b60b3df040f03c9f18a in friendbear/kafka-beginners
[10/04 15:11] ✅ Opened PR #24 in friendbear/kafka-beginners
[10/04 13:27] ⭐ Starred TheLastBen/fast-stable-diffusion
[10/04 08:34] ✅ Opened PR #23 in friendbear/kafka-beginners
[10/04 08:34] 📝 Made 1 commit in friendbear/kafka-beginners
[10/04 08:34] 📂 Created branch snyk-fix-c018d7960516ae49fe07db109a0b6b67 in friendbear/kafka-beginners
[10/01 15:34] ⭐ Starred getcursor/cursor
[09/29 04:32] ⭐ Starred rust-embedded/rust-raspberrypi-OS-tutorials
[09/26 10:01] ⭐ Starred twigly/rust-http-cli
[09/26 09:35] ❌ Deleted dependabot/cargo/bumpalo-3.12.0 from friendbear/rust-mongodb
[09/26 09:35] 📝 Made 2 commits in friendbear/rust-mongodb
[09/26 09:35] 🎉 Merged PR #3 in friendbear/rust-mongodb
[09/26 09:35] ❌ Deleted dependabot/cargo/mongodb-2.0.0 from friendbear/rust-mongodb
[09/26 09:35] 📝 Made 2 commits in friendbear/rust-mongodb
[09/26 09:35] 🎉 Merged PR #4 in friendbear/rust-mongodb
[09/24 10:50] ⭐ Starred kdash-rs/kdash
[09/23 12:45] 📝 Made 1 commit in friendbear/perfect-rust
[09/21 09:55] ⭐ Starred FiloSottile/mkcert
[09/20 14:28] 📝 Made 1 commit in friendbear/perfect-rust
[09/20 11:19] ⭐ Starred knaufk/flink-faker
[09/19 12:50] 📝 Made 5 commits in friendbear/learn-building-flink-applications-in-java-exercises
[09/16 01:47] ⭐ Starred confluentinc/kafka-rest
[09/15 13:15] 📝 Made 2 commits in friendbear/learn-building-flink-applications-in-java-exercises
[09/13 14:36] ⭐ Starred apache/flink-playgrounds
[09/12 10:58] 🍴 Forked confluentinc/learn-building-flink-applications-in-java-exercises to friendbear/learn-building-flink-applications-in-java-exercises
[09/11 12:36] ❗️ Opened issue #67 in friendbear/perfect-rust
[09/11 04:03] 📝 Made 10 commits in friendbear/perfect-rust
[09/11 04:03] 🎉 Merged PR #66 in friendbear/perfect-rust
[09/11 03:57] 📝 Made 8 commits in friendbear/perfect-rust
[09/09 13:29] ✅ Opened PR #66 in friendbear/perfect-rust
[09/09 13:28] ❌ Deleted dependabot/cargo/chrono-0.4.30 from friendbear/perfect-rust
[09/09 13:28] 📝 Made 2 commits in friendbear/perfect-rust
[09/09 13:28] 🎉 Merged PR #65 in friendbear/perfect-rust
[09/09 13:25] 📝 Made 2 commits in friendbear/perfect-rust
[09/09 07:44] 📝 Made 1 commit in friendbear/friendbear
[09/09 04:23] 📝 Made 2 commits in friendbear/perfect-rust
[09/08 09:53] ⭐ Starred cloudcommunity/Free-Certifications
[09/08 06:27] 📝 Made 1 commit in friendbear/perfect-rust
[09/07 13:54] ❗️ Opened issue #64 in friendbear/perfect-rust
[09/07 11:12] 📝 Made 4 commits in friendbear/perfect-rust
[09/07 11:12] 🎉 Merged PR #63 in friendbear/perfect-rust
[09/07 11:06] ✅ Opened PR #63 in friendbear/perfect-rust
[09/07 10:56] 📝 Made 9 commits in friendbear/perfect-rust
[09/06 07:02] 🎉 Merged PR #62 in friendbear/perfect-rust
[09/06 06:31] 📝 Made 23 commits in friendbear/perfect-rust
[09/06 06:30] ✅ Opened PR #62 in friendbear/perfect-rust
[09/06 06:21] 📝 Made 2 commits in friendbear/perfect-rust
[09/06 05:58] ❗️ Opened issue #61 in friendbear/perfect-rust
[09/06 05:57] ❌ Deleted dependabot/cargo/chrono-0.4.29 from friendbear/perfect-rust
[09/06 05:57] 🎉 Merged PR #60 in friendbear/perfect-rust
[09/06 05:57] 📝 Made 2 commits in friendbear/perfect-rust
[09/06 05:57] ❌ Deleted dependabot/cargo/thiserror-1.0.48 from friendbear/perfect-rust
[09/06 05:57] 📝 Made 2 commits in friendbear/perfect-rust
[09/06 05:57] 🎉 Merged PR #59 in friendbear/perfect-rust
[09/06 02:11] ⭐ Starred awslabs/aws-sdk-rust
[09/04 11:01] 📝 Made 2 commits in friendbear/perfect-rust
[09/04 06:26] ❗️ Opened issue #58 in friendbear/perfect-rust
[09/03 10:27] 📝 Made 4 commits in friendbear/perfect-rust
[09/03 10:27] 🎉 Merged PR #57 in friendbear/perfect-rust
[09/03 10:14] ✅ Opened PR #57 in friendbear/perfect-rust
[09/03 10:12] ❌ Deleted dependabot/cargo/chrono-0.4.28 from friendbear/perfect-rust
[09/03 10:12] 📝 Made 2 commits in friendbear/perfect-rust
[09/03 10:12] 🎉 Merged PR #55 in friendbear/perfect-rust
[09/03 10:11] 📝 Made 3 commits in friendbear/perfect-rust
[09/01 08:23] 🎉 Merged PR #56 in friendbear/perfect-rust
[09/01 08:23] 📝 Made 7 commits in friendbear/perfect-rust
[09/01 08:23] 🔍 Reviewed #56 in friendbear/perfect-rust
[09/01 08:23] 🔍 Reviewed #56 in friendbear/perfect-rust
[09/01 08:18] 📝 Made 1 commit in friendbear/perfect-rust
[09/01 08:14] ✅ Opened PR #56 in friendbear/perfect-rust
[09/01 08:07] 📝 Made 2 commits in friendbear/perfect-rust
[09/01 06:05] 📝 Made 1 commit in friendbear/python3-scripts
[08/31 22:28] 📝 Made 8 commits in friendbear/perfect-rust
[08/31 07:56] 🎉 Merged PR #54 in friendbear/perfect-rust
[08/31 07:35] 📝 Made 1 commit in friendbear/perfect-rust
[08/31 07:27] ✅ Opened PR #54 in friendbear/perfect-rust
[08/31 07:16] 📝 Made 2 commits in friendbear/perfect-rust
[08/30 11:58] 📝 Made 2 commits in friendbear/kafka-beginners
[08/30 11:55] ❌ Deleted snyk-fix-f1b1e438aa926142e6973a193851dd82 from friendbear/kafka-beginners
[08/30 11:55] 📝 Made 2 commits in friendbear/kafka-beginners
[08/30 11:55] 🎉 Merged PR #19 in friendbear/kafka-beginners
[08/30 11:55] ❌ Deleted dependabot/maven/kafka-producer-twitter/org.yaml-snakeyaml-2.0 from friendbear/kafka-beginners
[08/30 11:55] 📝 Made 2 commits in friendbear/kafka-beginners
[08/30 11:55] 🎉 Merged PR #22 in friendbear/kafka-beginners
[08/30 11:54] ❌ Deleted dependabot/maven/kafka-basics/org.yaml-snakeyaml-2.0 from friendbear/kafka-beginners
[08/30 11:54] 📝 Made 2 commits in friendbear/kafka-beginners
[08/30 11:54] 🎉 Merged PR #21 in friendbear/kafka-beginners
[08/30 11:53] 📝 Made 5 commits in friendbear/kafka-beginners
[08/30 10:55] ❗️ Opened issue #53 in friendbear/perfect-rust
[08/30 08:27] ⭐ Starred rust-lang/rust-clippy
[08/30 08:14] 📝 Made 1 commit in friendbear/perfect-rust
[08/30 07:24] 🎉 Merged PR #52 in friendbear/perfect-rust
[08/30 07:24] 📝 Made 10 commits in friendbear/perfect-rust
[08/30 07:05] ✅ Opened PR #52 in friendbear/perfect-rust
[08/30 07:04] 📝 Made 3 commits in friendbear/perfect-rust
[08/30 07:03] 🎉 Merged PR #51 in friendbear/perfect-rust
[08/30 05:03] ⭐ Starred aws-samples/retail-large-data-ml-e2e
[08/30 02:16] 📝 Made 8 commits in friendbear/perfect-rust
[08/29 21:02] 🎉 Merged PR #49 in friendbear/perfect-rust
[08/29 20:57] 📝 Made 1 commit in friendbear/perfect-rust
[08/28 12:32] ❗️ Opened issue #50 in friendbear/perfect-rust
[08/28 03:40] 📝 Made 3 commits in friendbear/perfect-rust
[08/27 21:51] ✅ Opened PR #49 in friendbear/perfect-rust
[08/27 21:38] 📝 Made 1 commit in friendbear/perfect-rust
[08/27 20:12] 🎉 Merged PR #48 in friendbear/perfect-rust
[08/27 20:12] 📝 Made 4 commits in friendbear/perfect-rust
[08/27 20:09] ✅ Opened PR #48 in friendbear/perfect-rust
[08/27 20:08] 🎉 Merged PR #44 in friendbear/perfect-rust
[08/27 20:08] 📝 Made 5 commits in friendbear/perfect-rust
[08/26 14:16] ⭐ Starred astral-sh/ruff
[08/26 13:40] 📝 Made 1 commit in friendbear/friendbear
[08/26 09:04] 📝 Made 11 commits in friendbear/perfect-rust
[08/26 09:04] 🎉 Merged PR #45 in friendbear/perfect-rust
[08/26 09:04] 🗣 Commented on #45 in friendbear/perfect-rust
[08/26 09:02] 📝 Made 4 commits in friendbear/perfect-rust
[08/26 04:30] ⭐ Starred TDS4874/sd-webui-controlnet
[08/25 09:13] 📝 Made 3 commits in friendbear/perfect-rust
[08/25 06:26] ❗️ Opened issue #46 in friendbear/perfect-rust
[08/25 05:39] ✅ Opened PR #45 in friendbear/perfect-rust
[08/25 05:36] 📝 Made 3 commits in friendbear/perfect-rust
[08/25 03:14] ⭐ Starred cloudflare/quiche
[08/24 07:23] ❗️ Opened issue #42 in friendbear/perfect-rust
[08/24 06:28] ⭐ Starred ricklamers/shell-ai
[08/24 02:57] 📝 Made 5 commits in friendbear/perfect-rust
[08/24 02:57] 🎉 Merged PR #41 in friendbear/perfect-rust
[08/24 02:52] 📝 Made 3 commits in friendbear/perfect-rust
[08/23 11:38] ✅ Opened PR #41 in friendbear/perfect-rust
[08/23 11:36] 📝 Made 5 commits in friendbear/perfect-rust
[08/23 10:13] 🎉 Merged PR #40 in friendbear/perfect-rust
[08/23 09:59] ✅ Opened PR #40 in friendbear/perfect-rust
[08/23 09:50] 📝 Made 3 commits in friendbear/perfect-rust
[08/23 08:36] ⭐ Starred mozilla/sccache
[08/23 08:10] ❗️ Opened issue #39 in friendbear/perfect-rust
[08/23 07:29] ❗️ Closed issue #32 in friendbear/perfect-rust
[08/23 07:29] 🎉 Merged PR #38 in friendbear/perfect-rust
[08/23 07:29] 📝 Made 4 commits in friendbear/perfect-rust
[08/23 07:07] ✅ Opened PR #38 in friendbear/perfect-rust
[08/23 07:05] 📝 Made 3 commits in friendbear/perfect-rust
[08/23 02:02] ⭐ Starred koukikitamura/scalable-twitter
[08/22 14:35] ❌ Deleted snyk-fix-e7a6fafb44629f8621a7479b938a47c3 from friendbear/kafka-beginners

-->

Update gist with latest YouTube videos

wakatime

😙I love Asuna from SAO. asna

soranin's People

Contributors

friendbear avatar

Watchers

 avatar  avatar

soranin's Issues

リストの実装 cop22

概要

ListクラスはおそらくScalaで最もよく使われている構造化データ型だろう。16ではリストの使い方を示したが、ここでは「ボンネットを開けて」Scalaのリストがどのように実装されているかを説明する。
Listクラスの内部作用の知識は、様々な理由で役に立つ。まず、リスト捜査の対象的な効率がどのようなものかがより明確にわかるので、高速でコンパクトなリストコードを書くために役立つ。
また、自分自身のライブラリーを設計するときに応用できる様々なテクニックを得られる。
そしてListクラスはScalaの型システム全般、特にジェネリックの概念を高度に応用した結晶のようなそんざいなので、Listクラスを学べば、これらの分野の知識が深まっていく。

処理概要

for式の再説 cop23

概要

16章では、map、flatMap、filterなどの高階関数がリストを操作するための強力な構文要素だということを示した。しかし、それらの関数で必要とされる抽象レベルはかなり高いので、プログラムが少しわかりにくくなってしまう。そこで、まずは例を使って考えてみよう
ここで考える例では、それぞれPersonクラスのインスタンスとして表される個人情報のリストがあったとする。Personクラスは、人の名前、男性か否か、子供は誰かを示すフィールドを持っている。
Personクラスは、次のように定義されている。

case class Person(name: String, isMale: Boolean, children: Person*)

サンプルリストは次のとおりである

val lara = Person("Lara", false)
val bob = Person("Bob" true)
val bob = Person("Julie" false, lara, bob)
val persons = List(lara, bob, juie)

さて、リストから母と子のすべてのペアを拾い出して名前を表示したいものとする。map, flatMap, filterを使うと次のようなクエリーが得られる

persons filter(p => !p.isMale) flatMap( p =>(p.children map(c => (p.name, c.name))))

このサンプルは、filterの代わりにwithFilterを使えば少し最適化できる。こうすれば女性データを集めた中間データ構造の生成が回避される。

persons withFilter(p => !p.isMale) flatMap (p => (p.children map(c => (p.name, c.name))))

このクエリーは正しくしてくれるが、書くのも読むのもお手軽というわけにはいかない。もっと簡単な方法はないだろうか、実はあるのだ。7.3節でも紹介したfor式である。for式を使えば、同じサンプルが次のようにかける。

for (p <- persons; if !p.isMale; c <- p.children) yield(p.name, c.name)

この式と先ほどの式の結果地は全く同じである。しかもほとんどの読者にとっては、高階関数のmap,flatMap,withFilterを使った先ほどのクエリーよりもこちらのfor式の方がはるかにわかりやすいだろう。
しかし、直前の2つのクエリーは見かけほどかけ離れたものではない。
実際、Scalaコンパイラーは第2のクエリーを第一のクエリーに変換しているのである。
より一般的に言えば、結果地を生成(yield)するすべてのfor式は、コンパイラーによってmap,flatMap,withFilter呼び出しの組み合わせに変換される。結果値を生成(yield)しないfor式は、withFilterとforeachの組み合わせに変換される。

処理概要

本章では、まずfor式を書くためのルールを示す。その後で、for式によって複雑な組み合わせ問題を解きやすくする仕組みを考える。最後に、for式がどのようにして変換されるかを学び、for式を使ってScala言語の新しい応用分野(domain)に向くように「仕立て’ていくことができることを示す。

型のパラメータ化 cop19

概要

純粋関数型待ち行列クラスの設計という例を使って、13章で取り上げた情報隠蔽のテクニックを具体的に示す
型のパラメータ化と情報隠蔽を一緒に使うのは、情報隠蔽を駆使すれば、より汎用性の高い型パラメータ化のための変異指定アノテーションが得られるからである。
型をパラメータ化するとジェネリックなクラスやトレイトを書けるようになる。
例えば、集合はジェネリックであり、型パラメータを使ってSet[T]と定義される。そのため、特定の集合のインスタンスはSet[String]やSet[Int]になるが、それらは何らかの集合であることは変わりない。
生の型(型パラメータが省略されたジェネリック型)を認めるJavaとは異なり、Scalaでは型パラメータの指定は必須である。変位指定は、パラメータ化された型の継承関係を決める。
例えばSet[String]はSet[AnyRef]のサブ型である。

処理概要

3つのパート

  • 純粋関数型待ち行列のデータ構造を開発する。
  • このデータ構造の内部表現を隠蔽するためのテクニックを研究する。
  • 最後は型パラメーターの変位指定、変位指定と情報隠蔽との関係を説明する。

コレクションの探求 cop24

概要

Scalaには、エレガントで強力なコレクションライブラリーが含まれている。一見すると、コレクションAPIはそれほど目立たないかもしれないが、その変更がプログラミングスタイルに与える影響は奥深いものになり得る。
プログラムを組み立てるための部品がコレクションの要素ではなく、コレクションそのものになるので、以前よりも高いレベルでコーディングする感覚になることが多いだろう。
この新しいスタイルのプログラミングを利用するには、そのスタイルに対応する必要があるが、Scalaコレクションの優れた特徴によってプログラマーは対応しやすくなる。その特徴とは、使いやすさ、簡潔性、安全性、高速、統一性である。

処理概要

抽象メンバー cop20

概要

クラスやとレイトの中では、完全に定義されていないメンバーは抽象メンバー(abstract members)になる。
抽象メンバーはメンバー宣言を持つクラスのサブクラスで実装することを意図したものである。
この考え方は、数多くのオブジェクト指向言語で見られる。例えばJavaは、抽象メソッドを宣言できるようになっている。
しかし、Scalaはその段階を超えて抽象メンバーという考え方に十分な普遍性を与えている。
つまり、抽象メソッドだけでなく、クラスやトレイとのメンバーとして抽象フィールド、さらには抽象型というようなものまで宣言できるのである。

処理概要

全ての抽象メンバー、つまりval, var, メソッド, 型の4種類を説明する。その過程で、事前初期化済みフィールド、遅延評価val、パス依存型、列挙も取り上げる。

暗黙の型変換とパラメーター cop21

概要

自分のコードと他人のライブラリーの間には、根本的な違いがある。自分のコードは好きなように書き換えや拡張ができるが、他人のライブラリを使う時には、普通は与えられたものをそのまま使わなければならない。
プログラミング言語の世界では、この問題を緩和するために行くつかの構文要素が考え出されてきた。
Rubyはモジュールを持ち、Smaltalkはパケージに互いのクラスを追加できるようにしている。
これらは非常に強力だが、アプリケーション全体でクラスの動作を変えてしまうことができるという点で危険でもある。アプリケーション中には、自分の知らない部分も通常含まれているものだからである。
C# 3.0は、影響がより局所的に抑えられた性的拡張メソッドを持っているが、制限が厳しい。クラスにはメソッドが追加できるだけでフィールドを追加することはできず、クラスが新しいインターフェースを実装することもできない。

この問題に対するScalaの解

この問題に対するScalaの解は、暗黙の型変換(implicit conversions)と暗黙のパラメーター(implicit parameters)である。これらを使うと、本当に重要な部分を目立たなくさせてしまう細かい紋切り型コードを省略できるようになり、既存のライブラリーを今までよりもずっと気持ちよく扱えるようになる。
上手く使えば、プログラムの大切なポイントに焦点を絞ったコードが書ける。
ここでは、暗黙の型変換の仕組みを説明し、最も一般的な使い方を示す。

ミュータブルオブジェクト

概要

これまでの章では関数型(イミュータブル)オブジェクトに焦点を当ててきた。
それは、ミュータブルな状態を持つオブジェクトを何の問題もなく定義できる。
そのようなミュータブルなオブジェクトは、時間とともに変化する実世界のオブジェクトを自然にモデリングできることが多い。

処理概要
  • どのようなオブジェクトがミュータブルなのか
  • 再代入可能な変数とプロパティ
  • ケーススタディ:離散イベントシミュレーション

  • デジタル回路のための言語

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.