λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λΆ„λ₯˜ 전체보기129

Kotlin_μ œλ„€λ¦­ / ν™•μž₯ / ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° ↓ TakeIf, TakeUnless https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%98-takeif-takeunless-%EB%8A%94-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-f6637987780 /** * generic : * ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€ 맀개 λ³€μˆ˜ λ˜λŠ” ν•¨μˆ˜μ˜ 맀개 λ³€μˆ˜ λ°˜ν™˜ νƒ€μž…μ„ 미리 ν™•μ •ν•˜μ§€ μ•Šκ³  * μ •μ˜ν•œ 후에 μ‚¬μš©λ˜λŠ” μ‹œμ μ—μ„œ νŠΉμ • νƒ€μž…μ„ 지정할 수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” 기법이 μ œλ„€λ¦­. * * μΊμŠ€νŒ…μ„ 방지 ν•˜μ—¬ μ„±λŠ₯ ν–₯상 κ°€λŠ₯. * * ( ListλŠ” Generic μΈν„°νŽ˜μ΄μŠ€λ‘œ μ •μ˜ 됨 → ν•œ μ’…λ₯˜μ˜ List μ•ˆμ— λ‹€λ₯Έ νƒ€μž…μ˜ μš”μ†Œλ“€μ„ μ €μž₯ν•  .. 2021. 7. 2.
Kotlin_상속 / 객체 / μΈν„°νŽ˜μ΄μŠ€μ™€ 좔상 클래슀 상속 public : μ½”ν‹€λ¦°μ—μ„œ 속성과 ν•¨μˆ˜κ°€ 기본적으둜 κ°–λŠ” κ°€μ‹œμ„± private : 속성과 ν•¨μˆ˜κ°€ μ •μ˜λœ 클래슀 λ‚΄λΆ€μ—μ„œλ§Œ μ‚¬μš©λ  수 μžˆλ‹€. protected : 이 κ°€μ‹œμ„±μ΄ μ§€μ •λœ 속성과 ν•¨μˆ˜λŠ” μžμ‹ μ΄ μ •μ˜λœ 클래슀 λ‚΄λΆ€ λ˜λŠ” 이 클래슀의 μ–΄λ–€ μ„œλΈŒ ν΄λž˜μŠ€μ—μ„œλ„ μ‚¬μš© κ°€λŠ₯ is μ—°μ‚°μž : ν˜„μž¬ 객체가 νŠΉμ • νƒ€μž…μΈμ§€ κ²€μ‚¬ν•œλ‹€. 상속 open class Room(val name: String){ protected open val dangerLevel : Int = (1..10).shuffled().last() fun description() = "Room: ${name}\n" + "μœ„ν—˜ μˆ˜μ€€ : ${dangerLevel}" open fun load() = "아무도 여기에 μ˜€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.." // an.. 2021. 7. 2.
Kotlin_Map / Class Map /** * * 반볡문 https://androidtest.tistory.com/98 * * Map - 킀와 쌍으둜 데이터가 μ €μž₯되며, μ •μˆ˜λ₯Ό μ‚¬μš©ν•œ 인덱슀 기반 처리 λŒ€μ‹  ν‚€λ₯Ό 기반으둜 데이터λ₯Ό μ²˜λ¦¬ν•œλ‹€. * MutableMapOr , mapOf ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•΄μ„œ 생성됨. * 킀와 벨λ₯˜λ₯Ό μ •μ˜ν•˜κΈ° μœ„ν•΄ toλ₯Ό μ‚¬μš©ν•˜κ³  있음. * toλŠ” ν‚€μ›Œλ“œ 처럼 λ³΄μ΄λŠ”λ° λ‚΄λΆ€μ μœΌλ‘œλŠ” μ»΄νŒŒμΌλŸ¬κ°€ "carrie".to(100) μ΄λ ‡κ²Œ λ³€ν™˜ν•œλ‹€. - μ• μ΄ˆμ— μž‘μ„±μ‹œμ— μ΄λ ‡κ²Œ 해도 됨. * Pair νƒ€μž…μ„ μ‚¬μš©ν•  μˆ˜λ„ 있음 * * λ˜‘κ°™μ€ key의 값을 μΆ”κ°€ν•˜λ €κ³  ν•˜λ©΄ (μΆ”κ°€λŠ” +=) ν•΄λ‹Ή ν‚€μ˜ 벨λ₯˜λ§Œ 바뀐닀. * * ν‚€ κ°’μœΌλ‘œ κ°’ κ°€μ Έμ˜¬ 수 μžˆλ‹€. * * Mapμ—μ„œ 값을 κ°€μ Έμ˜€λŠ” ν•¨μˆ˜ * [] 인덱슀 μ—°μ‚°μž / getVa.. 2021. 7. 1.
Kotlin - Scope ν•¨μˆ˜ & List와 Set μŠ€μ½”ν”„ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ½”λ“œ 양을 쀄일 수 μžˆλ‹€. μ„œμ μœΌλ‘œ μ–΄λ €μ›Œμ„œ 유튜브λ₯Ό 톡해 κ°•μ’Œλ₯Ό μ‹œμ²­ν–ˆλ‹€. ↓ μΆ”μ²œ(μ‰½κ²Œ 이해 λœλ‹€.) https://www.youtube.com/watch?v=QGDWWL6qA3I https://www.youtube.com/watch?v=B-QPB487aVA fun main() { var price = 5000 var book = Book("λ””λͺ¨",10000) book.name = "[μ΄ˆνŠΉκ°€]" + book.name book.discount() // scope ν•¨μˆ˜ applyλ₯Ό μ‚¬μš©ν•˜λ©΄, μ°Έμ‘° μ—°μ‚°μžλ₯Ό 없이 μ‚¬μš©μ΄ κ°€λŠ₯ν•΄μ§€λŠ” 것을 확인 ν•  수 μžˆλ‹€. // applyλŠ” μΈμŠ€ν„΄μŠ€ μžμ‹ μ„ λ‹€μ‹œ λ°˜ν™˜ν•˜λ―€λ‘œ, μƒμ„±λ˜μž 마자 μ‘°μž‘λœ μΈμŠ€ν„΄μŠ€λ₯Ό λ³€μˆ˜μ— λ°”λ‘œ 넣어쀄 수 μžˆλ‹€. // main .. 2021. 6. 30.
Kotlin_Null & λ¬Έμžμ—΄ & 숫자 νƒ€μž… μ½”ν‹€λ¦°μ—μ„œλŠ” null 값이 지정될 수 μžˆλŠ” μš”μ†Œκ°€ μžˆλŠ”κ°€ ν•˜λ©΄ 그렇지 μ•Šμ€ μš”μ†Œλ„ μžˆλ‹€. nullable non-nullable * μžλ°”λŠ” μ–΄λ–€ νƒ€μž…μ˜ λ³€μˆ˜λ„ null 값을 κ°€μ§ˆ 수 μžˆλŠ”λ° κ·Έλž˜μ„œ NPE 둜 인해 앱이 ν¬λž˜μ‹œ λ˜λŠ” κ²½μš°κ°€ ν”ν•˜λ‹€.' * null 값을 κ°€μ§ˆ 수 μžˆλ‹€κ³  νŠΉλ³„νžˆ μ§€μ •λ˜μ§€ μ•ŠμœΌλ©΄ λ³€μˆ˜κ°€ Null 값을 κ°€μ§ˆ 수 μ—†λ‹€. readline의 ν—€λ”λŠ” λ°˜ν™˜ νƒ€μž…μ΄ String? 인데, μ΄λŠ” ν•΄λ‹Ή νƒ€μž…μ΄ null κ°€λŠ₯함을 λ‚˜νƒ€λ‚Έλ‹€. public fun readline(): String? μ•„λž˜ μ½”λ“œλŠ” 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠλŠ”λ‹€. fun main() { var beverage = readLine() beverage = null println(beverage) } null κ°€λŠ₯ νƒ€μž… - String? n.. 2021. 6. 30.
Kotlin - 읡λͺ…ν•¨μˆ˜μ™€ ν•¨μˆ˜ νƒ€μž… β˜… 읡λͺ… ν•¨μˆ˜ β˜… == λžŒλ‹€(Lambda) 읡λͺ… ν•¨μˆ˜ μ •μ˜ == λžŒλ‹€ ν‘œν˜„μ‹ == λžŒλ‹€μ‹ 읡λͺ… ν•¨μˆ˜ λ°˜ν™˜ κ²°κ³Ό -- λžŒλ‹€ κ²°κ³Ό 읡λͺ… ν•¨μˆ˜λŠ” λ‹€λ₯Έ ν•¨μˆ˜μ˜ 인자둜 μ‰½κ²Œ 전달될 수 μžˆλ‹€. // 메인 ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ 읡λͺ… ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜κ³  ν˜ΈμΆœν•œλ‹€. // 읡λͺ… ν•¨μˆ˜λŠ” { 와 } 사이에 ν‘œν˜„μ‹μ΄λ‚˜ λͺ…령문을 λ„£μ–΄ μž‘μ„±ν•œλ‹€. // 읡λͺ… ν•¨μˆ˜ } λ‹€μŒμ— ()λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜ΈμΆœν•œλ‹€. - () λΉΌλ©΄ λ¬Έμžμ—΄ 좜λ ₯ μ•ˆλ¨ // - 이름이 μžˆλŠ” ν•¨μˆ˜μ²˜λŸΌ 읡λͺ… ν•¨μˆ˜λ„ 인자λ₯Ό μ§€μ •ν•˜λŠ” κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•΄μ„œ 호좜될 λ•Œλ§Œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. // (μ•„λž˜ μ˜ˆμ œμ—μ„  μΈμžκ°€ μ—†μœΌλ‹ˆκΉŒ 빈 κ΄„ν˜Έ) fun main() { println( { val currentYear = 2021 "SimVillage 방문을 ν™˜μ˜ν•©λ‹ˆλ‹€. (copyright $current.. 2021. 6. 30.
Navigation - jetpack / kotlin xml μš”μ†Œ μ°Έμ‘° / μ„œμ  μ°Έκ³  - Kotlin κΈ°λ³Έ 문법 곡뢀 일지 [β˜… 기본적인 μ°Έκ³ ] kotlin xml μš”μ†Œ μ°Έμ‘° https://itstudy-mary.tistory.com/340 plugins { ... id 'kotlin-android' id 'kotlin-android-extensions' } https://developer.android.com/guide/navigation/navigation-getting-started#java 탐색 κ΅¬μ„±μš”μ†Œ μ‹œμž‘ν•˜κΈ° | Android 개발자 | Android Developers 이 μ£Όμ œλŠ” 탐색 κ΅¬μ„±μš”μ†Œλ₯Ό μ„€μ •ν•˜κ³  μ‚¬μš©ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. 탐색 κ΅¬μ„±μš”μ†Œμ˜ λŒ€λž΅μ μΈ κ°œμš”λŠ” 탐색 κ°œμš”λ₯Ό μ°Έκ³ ν•˜μ„Έμš”. ν™˜κ²½ μ„€μ • μ°Έκ³ : 탐색 κ΅¬μ„±μš”μ†ŒλŠ” Android μŠ€νŠœλ””μ˜€ 3.3 이상이 ν•„μš” developer.android.com 0. [μ„€.. 2021. 6. 29.
Kotlin κΈ°λ³Έ 문법 - Intro ( 깊이 닀루지 μ•ŠμŒ!) μ—”νŠΈλ¦¬ ν•¨μˆ˜λŠ” μ•„λž˜μ™€ κ°™μŒ fun main() : 쒌츑 ν”Œλ ˆμ΄ 클릭 ν•˜λ©΄ μ‹€ν–‰ κ°€λŠ₯ ν•¨μˆ˜ μž‘μ„±λ²• fun ν•¨μˆ˜μ΄λ¦„ (νŒŒλΌλ―Έν„°) : λ¦¬ν„΄ν˜•{} ⌘ 아무것도 μ—†λŠ” λ¦¬ν„΄ν˜• Unit (아무 것도 μ—†λŠ” 리턴 μ•ˆμ¨λ„ 됨) val vs var μžλ™μΆ”λ‘ μ΄μ—¬μ„œ λ³€μˆ˜ νƒ€μž… μƒλž΅ κ°€λŠ₯. (λ°”λ‘œ λ°”λ‘œ ν• λ‹Ήμ•ˆν• λ•Œ) val = value // λ³€ν•˜μ§€ μ•ŠλŠ” κ°’ val cannot be reassigned var = variable // λ³€ν•˜λŠ” κ°’ val a : Int = 10 var b : Int = 9 b = 100 val c = 100 var d = 100 var name = "Carrie" String ν…œν”Œλ¦Ώ - λ³€μˆ˜ μ‚¬μš©ν•˜κ³  싢을 λ•Œ $ ν‘œμ‹œ (띄어쓰기 주의) - 띄어쓰기 μ•ˆν•˜κ³  싢을 λ•ŒλŠ” ${λ³€μˆ˜} // λŒ€κ΄„ν˜Έ * κ·Έλƒ₯ 달.. 2021. 6. 28.
[Django] FileNotFoundError 해결법! #πŸ‘ Django 파일 경둜 해결법! λ¨Όμ € λ‚˜λŠ” ν”„λ‘œμ νŠΈ 내뢀에 μ‚¬μš©μžκ°€ μ—…λ‘œλ“œν•œ json νŒŒμΌμ„ μ—΄κΈ° μœ„ν•΄ ν•΄λ‹Ή 경둜λ₯Ό μ–»μ–΄ μ˜€λŠ” 쀑 이 였λ₯˜λ₯Ό λ§Œλ‚¬λ‹€. 정말 별거 아닐 κ±° κ°™μŒμ—λ„ 2일을 ν•΄κ²° λͺ»ν–ˆλ‹€... κ΅¬κΈ€λ§μœΌλ‘œ ν•΄κ²° λͺ»ν–ˆμ§€λ§Œ κ²°κ΅­ κ΅¬κΈ€λ§μœΌλ‘œ ν•΄κ²°ν•œ... (뭐지.. 🀯 + 😑) 결둠은 .getcwd() λ©”μ†Œλ“œ μ˜€λ‹€! 근데 μŠ€νƒ μ˜€λ²„ ν”Œλ‘œμš°μ— 보면은 μœ„μ™€ 같은 os.path.realpath~ , os.path.dirname~ μœΌλ‘œλ„ ν•΄κ²°ν•œ κ²½μš°κ°€ λ§Žμ€ 것 κ°™μ•˜λ‹€. .getcwd() λ©”μ†Œλ“œλŠ” ν˜„μž¬ "ν”„λ‘œμ„ΈμŠ€" 의 μž‘μ—… 디렉터리λ₯Ό λ°˜ν™˜ν•΄μ€€λ‹€. (κ³ λ―Όν•˜λ˜ κ²ƒμ˜ 만λŠ₯ 해결사 같이 느껴쑌던 λ©”μ†Œλ“œ πŸ‘) 이거 해결을 λͺ»ν•˜λŠ” λ‚ λ“€λ™μ•ˆμ€ "이거 μ–΄λ–‘ν•˜μ§€" μ‹Άμ—ˆλŠ”λ°, ν•΄κ²°ν•˜κ³  λ‚˜λ‹ˆ λšλ”±! ν˜Ήμ‹œλΌλ„ 머리 싸맀고 이 글을 .. 2021. 6. 17.
[Django][FusionCharts] μ‚¬μš©λ°©λ²• & μž₯κ³  κ·Έλž˜ν”„ 그리기 1. μ•„λž˜ 링크λ₯Ό 톡해 FusionCharts에 λ“€μ–΄κ°„λ‹€. https://www.fusioncharts.com/ 2. μš°μƒλ‹¨ "Download" λ₯Ό ν•œλ‹€. (개인 정보 κΈ°μž…/ Please click 'here'을 톡해 폴더 λ‚΄λ €λ°›κΈ°) 3. 받은 νŒŒμΌμ„ 확인해보면 μ•„λž˜μ™€ κ°™λ‹€. 4. /static/ 폴더에 fusioncharts 폴더λ₯Ό 생성후, μœ„ λ‹€μš΄λ‘œλ“œ 받은 폴더 λ‚΄μ˜ js ν΄λ”μ˜ λͺ¨λ“  νŒŒμΌμ„ 볡뢙해쀀닀. 5. λ‹€μš΄λ‘œλ“œ 받은 폴더 integrations 〉〉 django 〉〉 fusioncharts-wrapper 〉〉 .py νŒŒμΌμ„ μ•± 폴더에 볡뢙해쀀닀. 6. κ°„λ‹¨ν•œ λ§‰λŒ€ κ·Έλž˜ν”„λ₯Ό κ·Έλ €λ³Έλ‹€. (fusion charts κ³΅ν™ˆμ— λ§Žμ€ κ·Έλž˜ν”„μ— λŒ€ν•œ μ„€λͺ…이 μžˆλ‹€.) ν…ŒμŠ€νŠΈ μ½”λ“œμ™€ html 도 μžˆμœΌλ‹ˆ μ•Œλ§žκ²Œ .. 2021. 6. 13.
HTTP2 Json 둜그의 파일 ꡬ쑰 / json parsing μ•Œκ³ λ¦¬μ¦˜ 짜기 μ•„μ£Ό κΈ΄ λ„€νŠΈμ›Œν¬ 둜그 μ΄μ§€λ§Œ κ°„λ‹¨ν•œ ꡬ쑰λ₯Ό μ‚΄νŽ΄λ³΄λ‹ˆ, μ•„λž˜μ™€ κ°™μ•˜λ‹€. params의 정보듀이 λ‹€λ₯Έ κ²½μš°κ°€ κ½€ μžˆμ—ˆλ‹€. κ·Έλž˜μ„œ ν•΄λ‹Ή κ°’μ˜ 내뢀에 μ ‘κ·Ό μ‹œμ—λŠ” "try~ except~" 문을 μ‚¬μš©ν•˜μ—¬μ„œ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό ν•΄μ£Όμ—ˆλ‹€. { "constants" : {}, "events": {[ { "params": {} "phase": "source": { "id": "start_time": "type": }, "time": "type": } , {} ,{} ,{} ,{} ]}, "polledData":{} 첫번째 "constants" : "constants" Keyκ°’μ˜ Value값은 μ•„λž˜ 사진 같은 ν‚€κ°’μœΌλ‘œ λΆ„λ₯˜λ˜μ–΄ μžˆμ—ˆκ³ , value값인 int 둜 μ•„λž˜μ— 기둝 λ˜λŠ” 뢀뢄을 λ³Ό 수 μžˆλ‹€. μ›ν•˜λŠ” 값에 λŒ€ν•΄μ„œλ§Œ 확인을.. 2021. 6. 11.
[Django] 파일 μ—…λ‘œλ“œ κΈ€λ‘œλ²Œ μ„œλΉ„μŠ€ κ΅¬ν˜„ν•˜κΈ° ✏️ Rough Logic μ‚¬μš©μžλŠ” json νŒŒμΌμ„ μ—…λ‘œλ“œλ₯Ό ν•œλ‹€. json νŒŒμΌμ„ μ—…λ‘œλ“œ λ°›μœΌλ©΄ "μ§  μ•Œκ³ λ¦¬μ¦˜"을 λŒλ €μ„œ, "first_send" 와 " last_recv" λ₯Ό μ•Œμ•„λ‚Έλ‹€. μ‚¬μš©μžκ°€ ν•΄λ‹Ή 값을 μ €μž₯ν•œλ‹€λŠ” λ²„νŠΌμ„ λˆ„λ₯΄λ©΄, 이 두가지 κ°’(first_send, last_recv)을 κ°–λŠ” 클래슀(λͺ¨λΈ)둜 μ €μž₯ν•œλ‹€. μ‚¬μš©μžλŠ” ν•΄λ‹Ή λ°μ΄ν„°λ§ˆλ‹€ 이름을 λΆ™μ—¬μ„œ 각각 μ €μž₯ν•  수 μžˆλ‹€. μ €μž₯ν•œ 값듀을 ν†΅ν•΄μ„œ κ·Έλž˜ν”„λ₯Ό 그릴 수 μžˆλ‹€. β˜‡ μ•„λ‹ˆλ©΄, μ–΄λ ˆμ΄λ₯Ό λ‹΄λŠ” ν•œ 객체λ₯Ό λ§Œλ“€κ³  거기에 μ›ν•˜λŠ” 값듀을 λͺ¨λ‘ λ„£μœΌλ©΄ κ·Έ 객체에 λŒ€ν•΄μ„œ κ·Έλž˜ν”„λ₯Ό λͺ¨λ‘ κ·Έλ¦¬λŠ”κ±΄? 그게 깔끔할것 같은데? μ•„ν•˜...λ‘œκ·ΈμΈλ„ μžˆμ–΄μ•Ό κ² λ‹€. μ•„λ¬΄λ‚˜ μ™€μ„œ 파일 λ‹€ μ—…λ‘œλ“œ ν•˜λ©΄ λͺ¨λ‘μ˜ 데이터가 μ‹ΈμΌν…Œλ‹ˆκΉŒ. μ–΄λ ˆμ΄λ₯Ό λ‹΄λŠ” ν•œ 객체에 λΉ„λ°€λ²ˆν˜Έ μ„€μ •.. 2021. 6. 9.