These resources (articles, books, and videos) are useful when you're starting to learn the language, or when you're learning a specific part of the language. This an opinionated list, no doubt. I've compiled this list from writing and teaching Clojure over the last 10 years.
- ๐ด Mandatory (for both beginners and intermediates)
- ๐ฉ For beginners
- ๐จ For intermediates
์ฝ์ | ํ๊ตญ์ ๋ณด๊ณผํํ (2024) | BK21ํ๋ฌ์ค IF (2018) | KAIST CS (2022) | SNU CSE (2024.4) | POSTECH CSE (2024.9) | ํ๊ท (์ ๊ทํ) | ํํ๋ช | DBLP Key | |
---|---|---|---|---|---|---|---|---|---|
AAAI | ์ต์ฐ์ | 4 | O | O | ์ต์ฐ์ | 1.00 | AAAI Conference on Artificial Intelligence (AAAI) | conf/aaai | |
AAMAS | ์ฐ์ | 2 | 0.20 | International Conference on Autonomous Agents and Multiagent Systems (AAMAS) | conf/ifaamas | ||||
ACCV | ์ฐ์ | 1 | ์ฐ์ | 0.25 | Asian Conference on Computer Vision (ACCV) | conf/accv | |||
ACL | ์ต์ฐ์ | 4 | O | O | ์ต์ฐ์ | 1.00 | Annual Meeting of the Association for Computational Linguistics (ACL) | conf/acl | |
ACL Findings | ์ฐ์ | ์ฐ์ | 0.20 | Findings of ACL | series/findacl | ||||
ACNS | ์ฐ์ | 0.10 | International Conference on Applied Cryptography and Network Security (ACNS) | conf/acns | |||||
ACSAC | ์ฐ์ | 2 | ์ฐ์ | 0.30 | Annual Computer Security Applications Conference (ACSAC) | conf/acsac | |||
AIED | ์ฐ์ | 0.10 | International Conference on Artificial Intelligence in Education (AIED) | conf/aied | |||||
AISTATS | ์ฐ์ | 1 | ์ฐ์ | 0.25 | International Conference on Artificial Intelligence and Statistics (AISTATS) | conf/aistats |
#!/usr/bin/env node | |
const {existsSync} = require(`fs`); | |
const {createRequire, createRequireFromPath} = require(`module`); | |
const {resolve} = require(`path`); | |
const relPnpApiPath = "../../../../.pnp.js"; | |
const absPnpApiPath = resolve(__dirname, relPnpApiPath); | |
const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); |
The package that linked you here is now pure ESM. It cannot be require()
'd from CommonJS.
This means you have the following choices:
- Use ESM yourself. (preferred)
Useimport foo from 'foo'
instead ofconst foo = require('foo')
to import the package. You also need to put"type": "module"
in your package.json and more. Follow the below guide. - If the package is used in an async context, you could use
await import(โฆ)
from CommonJS instead ofrequire(โฆ)
. - Stay on the existing version of the package until you can move to ESM.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ค์ ์ ๋ ์ค์นผ๋ผ ์ฑ ๋ค์ ํ๋ฅญํ๊ฒ ๋ง์ง๋ง ์ด์ฌ์๋ถํฐ ์ ๋ฌธ๊ฐ๊น์ง ๋จ๊ณ๋ณ๋ก ๊ฐ์ด๋ํ ์ ์๋ ์ปค๋ฆฌํ๋ผ์ ์ถ์ฒํ๋ ค๊ณ ํ๋ค.
- ์ด๋ณด์๊ฑฐ๋ ์ค์นผ๋ผ ์ ๋ฌธ์ด๋ผ๋ฉด:
- ๋ฐ์ด๋ธ ๊ฑฐ๋ฌ๊ณผ ๋ ธ์ ์ฐ์์ ํฌ๋ฆฌ์์ดํฐ๋ธ ์ค์นผ๋ผ(๋ฌด๋ฃ). ์ค์นผ๋ผ๋ฅผ ๋ฐฐ์ฐ๋ ค๋ ์ ๋ฌธ์๋ค์ ์ํ ์ฑ ์ด๊ณ ์ฌ๋ฏธ์๋ค.
- ๋ ธ์ ์ฐ์์ ๋ฐ์ด๋ธ ๊ฑฐ๋์ ์์ผ์ ์ค์นผ๋ผ(๋ฌด๋ฃ). ๊ฒฌ๊ณ ํ๊ณ ์ฑ๋ฅ์ข๊ณ ์ค์นผ๋ผ๋ค์ด ์ฝ๋๋ฅผ ์ง๋๋ก ๋์์ค๋ค. ๋ค๋ฅธ ์ธ์ด์ ๊ฒฝํ์ด ์๋ ๊ฐ๋ฐ์๋ค์ ๋์
- ๋ ์ฌ๋์๋ ๊ฐ๋ ์ ์ํ๋ฉด:
- ํด ํค์ฐ์ฌ๋ ธ์ ๋ฃจ๋๋ฅด ๋น์๋ฅด๋๋์์ ์ค์นผ๋ผ๋ก ๋ฐฐ์ฐ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ($36, 2.8๋ง). ๊ฐ์ฒด์งํฅ์ ๋์์ธํจํด์ฒ๋ผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์์ ์์ฃผ ์ฐ์ด๋ ํจํด์ธ ๋ฐ์ดํฐ์ ํ์ ํด๋์ค๋ค์ด ์ด๋ค ๊ฐ๋ ์ธ์ง ์ง์ ๊ตฌํํด๋ณด๋ ์ฑ . ์ค์นผ๋ผ ๋ฌธ๋ฒ ์ ๋๋ ์ตํ ๊ฐ๋ฐ์ ๋์.
๊ฐ๋ kubernetes ๊ฐ์๊ฑด ๋๋ฌด ๋ฌด๊ฑฐ์์ ๋จ์ผ ํธ์คํธ์ docker๋ง ๋์์ ์ด์ํ๋ ๊ฒฝ์ฐ๊ฐ์๊ฑธ ๊ณ ๋ฏผ ํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ๊ทธ๋ฅ docker๋ง ๊ฐ์ง๊ณ ์ฌ์ฉํ๋ฉด ์ปจํ ์ด๋๊ฐ ์ฃฝ์์๋ ๊ด๋ฆฌํด ์ค์ผ ํ๋ ๋ถํธํจ๊ณผ ๊ฐ์ด ๊ธฐ๋ฅ์ ๋ณด๋ค ๋ ํ์๋ก ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ์ด ๋ฐฉ๋ฒ์ ์๊ฐํด ๋๋ฆฝ๋๋ค.
์ด๊ฑด standalone kubelet ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ master ์์ด node๋ง ๊ด๋ฆฌํด์ฃผ๋ kubelet์ ์ด์ฉํด์ container๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๊ฑด k8s ์ด๊ธฐ ๋ถํฐ ์๋ ์กด์ฌํ๋ ์ปจ์ ์ด๋ ๋ง์ด ์๋ ค์ ธ ์์ง ์์์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ด ๋ง์์ ์ด๊ธ์ ์์ฑํด ๋ดค์ต๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ฉด ์ค์ master ์์ด kubelet ๋ง์ผ๋ก ์๋น์ค๋ฅผ ํ ์ ์์ต๋๋ค. ์ปจํ ์ด๋ ์๋ ์ฌ์์, port forwarding, resource limit ๋ฑ ๊ธฐ๋ณธ์ ์ธ kubelet์์ ์ ๊ณตํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ปจํ ์ด๋๋ค์ ๊ด๋ฆฌ ํ ์ ์์ต๋๋ค.
์ด ๊ธ์ ์ฑ Learn You a Haskell for Great Good์ ์ฝ๊ณ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
ํจ์ foldl
์ ๋ชจ๋๋ ๋ฒ์ ์ foldM
์ด๋ค. foldl
์ ํ์
์ ์๋์ ๊ฐ๋ค.
foldl :: (a -> b -> a) -> a -> [b] -> a