Coder Social home page Coder Social logo

kotlin_intro's People

Contributors

aatsushishibata avatar aqua-ix avatar atakayukimorita avatar komitake avatar magicant avatar pankona avatar takukitamura avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kotlin_intro's Issues

[Exercise (1)] テストの書き方に関する導入がない

テストを書いてみよう!等といいつつテストを書くための手順が記載されていない。
Intellij Idea で Kotlin を書いている場合、

  • トップレベルに書いた関数に対してはテストが書けないという制約
  • テストを書く際にもフレームワークの指定 (JUnit{3,4,5}、Groovy のやつ) が指定可能だったりして混乱しそう
  • クラスにカーソルあてて alt + enter でメニューを出してテストを生成する、という、普通に生きていたら分からなそうな手順

等があり、まあまあハマりそうなので、テストの書き方に関する導入はやっといて損はなさそう。

n面のサイコロの問題内容がわかりづらい

2022年度新卒研修での指摘で、n面のサイコロの問題内容がわかりづらい

  • 「1 以上 n 以下」と書かれているが、nという変数が別の目的で使われている(どうやら1以上diceFace以下ということのようだ)
  • 「ちなみに 100 回振ると壊れて例外 Exception("I was broken") を吐く」ってのは、それも課題の1つなのか

改訂案:https://accessjp.slack.com/archives/C035ECGPY7K/p1649211384542459

[開発環境の構築] Android Studio を使う想定に変更する

新卒の方々はみな Android Studio のインストールまで済んでいるらしく、あえて Intellij IDEA を追加で入れるのも IDE がたくさんになって混乱を生む可能性があり (Xcode も入ってるし)、できれば Android Studio を使って Kotlin 導入を進めたいという気持ちがある。

とはいえ Android Studio ではいわゆる main 関数を使ってちょいちょい実験してみるみたいなのがやりにくく、さてどうしようかと思ったが、実は test を main みたく使ってみればいいんじゃないかということに気付いた。

  • 実際に試してみて、良さそうであればその導入方法を環境構築の項に記載する。
  • その際、Intellij IDEA の導入に関しては削除する。

gitbook installが失敗する

概要

gitbook installが失敗する

nagauchi@Y61-41523 kotlin_intro % gitbook install           
Installing GitBook 3.2.3
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
/Users/nagauchi/.asdf/installs/nodejs/14.17.1/.npm/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287
      if (cb) cb.apply(this, arguments)
                 ^
TypeError: cb.apply is not a function
    at /Users/nagauchi/.asdf/installs/nodejs/14.17.1/.npm/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqCallback.oncomplete (fs.js:193:5)

分析

以上やっても解決せず、一度調査を打ち切った。

直接的な原因じゃないかもしれないが、調査していて感じた問題が2つあり、

  1. 今年の講師(@tonionagauzzi)が業務ではWeb開発をしており、npmのバージョンを複数入れたり何なりでローカルがとっ散らかる
  2. 2022年現在、Gitbookは更新が止まり、ホスティングサービスへ移行している

以上から、1.はDocker、2.はHonkit移行で対応し、そのあと同種の問題が起きなければOK。

[Null安全] Java のコードと Kotlin のコードの見分けがつきにくい

Java と Kotlin のサンプルコードを併記しているが、パッと見でどっちの話なのか分かりにくい。
見慣れているならまだしも、新卒氏を対象としているのであればわかりやすく書く配慮が必要。

サンプルコードが併記してある箇所について、Java なのか Kotlin なのかひと目で見分けがつくように修正する。

Embedding Kotlin Playgroundに対応する

概要

Embedding Kotlin Playground
https://blog.jetbrains.com/kotlin/2018/04/embedding-kotlin-playground/#:~:text=Embedded%20Kotlin%20Playground%20works%20on,target%20is%20set%20to%20JVM

に従い、HTMLのヘッダーに以下1行を挿入する

<script src="https://unpkg.com/kotlin-playground@1" data-selector="code"></script>

すると、ページ内で実行環境が出来上がる

これを全ページに適用できれば、access-company/KotlinTrainingが不要になる

調査事項

GitbookでHTMLヘッダーを変えたい場合、どうすればよいか

https://github.com/NoriSte/gitbook-plugin-head-append
が使えるかな?

Exercise の追加

Exercise が足りなくなりそうなのでもう少し追加しておく。
以下を追加しようかと考え中。

  • 基本型のうち、map、set、list (mutable 系が特に) に関する練習がないので追加したい
  • ジェネリクスの練習がないので追加したい

Exercise の解答例

Exercise に解答例がついていないので、見えにくいように(探せば見つかるような感じで)つけておく

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.