#dev ์๋ฌ ๋ก๊ทธ ๊ฐ์ ๋ฒ๊ทธํฝ์ค Option.get ํ๋ ๋ถ๋ถ pattern match ํ๊ฒ ๋ณ๊ฒฝ ๊ตฌ์ผ์ด ๋ด์ค ํด์ฆ Option.get์ ์ธ ๊ฐ์ง๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ค.
// ๋ฌธ์ : x๊ฐ None์ผ ๋ 0, Some[String]์ผ ๋ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๋ฆฌํดํ์ธ์.
// ์กฐ๊ฑด : ํจํด๋งค์นญ / fold / Option map ์ธ ๊ฐ์ง์ ๋ฐฉ๋ฒ์ ๋ชจ๋ ํ์ฉํด์ผ ํจ
import scala.util.Random
val x: Option[String] = if (Random.nextBoolean()) Some(Random.nextString(Random.nextInt(1024))) else None
println(x)
val foldResult = x.fold[Int] {
0
} { stuff =>
stuff.length
}
val patternMatchResult = x match
case None => 0
case Some(value) => value.length
val mapOptionResult = x.map[Int](_.length) getOrElse 0
println(s"""
|patternMatch :$patternMatchResult
|fold: $foldResult
|mapOption: $mapOptionResult""")
๊ทธ๋ฆฌ๊ณ wartremover์ ๋์ ์๋ ๊ฐ์ด๋๋ Option.get ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์๋๋ค. None์ผ ๊ฒฝ์ฐ failํ์ฌ fiber๊ฐ ์ฃฝ์ ์ ์๊ธฐ ๋๋ฌธ.
#๋๋ฉ์ธ ๊ด๋ จ ETF > ์ข ๋ชฉ์ ์ฌ๋ฌ๊ฐ ๋ฌถ์ด์ ์ฃผ์์ ๊ตฌ๋งคํ๋ ๊ฒฝ์ฐ, (trbc id๊ฐ)์ฐ์ ์ด null์ผ ์ ์์.
#๋ก๊ทธ
ZIO.logWarning(s"CompanyAnalyze#top10CompaniesInTheSameIndustry: No trbc Id for infocode $infocode")
์ฒ๋ผ ๋ณ๊ฒฝ์ ์ทจ์ฝํ ๋ฉ์์ง๋ ๊ถ์ฅํ์ง ์์. ๋ํ ์ธ๋ถ์์ ํธ์ถํ๋ ํจ์์ ์ด๋ฆ์ ๋ก๊ทธ์ ํฌํจ์ํค๋ ๊ฒฝ์ฐ ์ํ์ฐธ์กฐ๊ฐ ๋ ์ ์์.
#์ฌ๋ ๋งํฌ
-
for (a <- as) yield a
ย ๋ยa
ย ๋ ๊ฐ์ต๋๋ค.ยa.map(identity) === a
ย ์ธ๊ฑฐ๋ ๊ฐ์ ์๋ฆฌ -
์ค์นผ๋ผ๋ ์๋ฐ๋ณด๋ค ํ์ ์ถ๋ก ์ ์ ํด์ค์.ย
Map[String, String](...)
ย ์ฒ๋ผ ํ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ช ์ํด ์ฃผ๋๊ฑด ๊ฐํน ์ปดํ์ผ ์คํจํ๋ฉด ๊ทธ๋ ํด์ฃผ์ ๋ ๋ฉ๋๋ค. -
๋ชจ๋์ ๊ณต๊ฐ API์ ํ์ ๋ช ์ํ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ ๊ฑฐ๋ ๋ค๋ฅธ ์๊ธฐ์์.
-
someZIO *> ZIO.succeed(x)
ย ๋ย[someZIO.as](http://somezio.as/)``(x)
ย ๋ก ์ค์ฌ ์ฐ์ค ์ ์์ด์. -
ZIO for IntelliJย ํ๋ฌ๊ทธ์ธ์ ์ค์นํ์๋ฉด ์ด๋ฐ ๊ฒฝ์ฐ ๊ฐ์ ์์ ์ ์ํด ์ค๋๋ค.
@sean๊ณผ ํ์ดํ๋ฉด์ ๋ฐฐ์ด ๊ฒ #dev ํจํด๋งค์นญ ์ค์ฝํ ์ธ๋ถ์์ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๋ ๊ฒฝ์ฐ tuple ๋๋ map์ ํ์ฉํด๋ณด๊ธฐ #๋๋ฉ์ธ delistdate๋ ์์ฅํ์ง๋ ๋ ์ง. null์ด๋ฉด ์์ฅํ์ง ์๋ ๊ฒ์ atlasian์ ์์ฑํ ๋ ๊ด๋ จ context๋ฅผ ๋ด์์ ๊ฐ๊ฒฐํ๊ฒ ๋งํ๊ธฐ ๊ฐ๋ฐ์ ์ธ ์ฌ๋๋ค๋ ์์ผ๋ ์ต๋ํ ์ฝ๋ ์ ๋ณด๋ณด๋จ ์๋น์ค ์คํ์ ๋งฅ๋ฝ์์ ๋งํ๊ธฐ
์ฃผ์ํ ์
- ๋ฒ๊ทธ๋ฅผ ๊ณ ์น๊ณ ์ ๋์๋์ง ์ ์๋์ํ๋์ง ๊ผญ ํ์ธํ๊ณ ์ปค๋ฐํ๊ธฐ
- ์ปค๋ฐ์ ํ๊ณ ๋ฐ๋ก pushํ์ง ์๊ณ ๊ผญ ์ ํ๋ฆฌ๋ทฐ๋ฅผ ํ ์ดํ pushํ๊ธฐ
๊ณ ๋ฏผํ ์
- ๋ ๋์ ์๋ฌ/๋ก๊ทธ ๋ฉ์์ง๋ ๋ฌด์์ธ์ง?
- ์๋ฌ์ ๋ก๊ทธ์ ๋ ๋ฒจ์ ์ ํํ ์ด๋ป๊ฒ ๊ตฌ๋ถ๋๋ ๊ฒ์ธ์ง?
์ข์๋ ์ sean์ด ๊ฐ๋ฅด์ณ์ค ๋ด์ฉ์ ์์ง ์๊ฒ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํด์ ์๋ ค์ค ๋ฌด์์ ํด์ผ ํ๋์ง ์ง์์ ์ผ๋ก revokeํจ
๊ฐ์ ํ ์
- ๋ฌด์์ ํ๊ณ ์๋์ง ํ์ธํ๋ฉด์ ์ฝ๋ฉํ๊ธฐ
- ๋ฌด์์ ํ๊ณ ์ถ์์ง๋ ํ์ธํ๋ฉด์ ์ฝ๋ฉํ๊ธฐ