λ°˜μ‘ν˜•

전체 κΈ€ 295

[React] apexcharts yaxis (yμΆ•) labels float μ†Œμˆ˜μ  μ²˜λ¦¬ν•˜λŠ” 방법, toFixed() λ©”μ„œλ“œ μ‚¬μš©

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” apexcharts μ—μ„œ yaxis label 의 μ†Œμˆ˜μ  μ²˜λ¦¬λ°©λ²•μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. How to solve the problem μ•„λž˜μ™€ 같이 yaxis > labels > formatter λ₯Ό μ μš©ν•˜κ³ , toFixed() λ©”μ†Œλ“œλ₯Ό μ΄μš©ν•˜μ—¬ 값을 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. yaxis: { labels: { formatter(value) { return value.toFixed(0); }, }, },

Framework/React 2023.02.16

[Html] Input elements should have autocomplete attributes (suggested: "current-password") 였λ₯˜ ν•΄κ²° 방법

Intro μ•ˆλ…•ν•˜μ„Έμš”. Input tagλ₯Ό μ΄μš©ν•˜μ—¬ μ‚¬μš©μžμ˜ password μž…λ ₯을 λ°›μ•„λ‚΄λŠ” μ½”λ“œμ—μ„œ μ•„λž˜μ™€ 같은 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. Input elements should have autocomplete attributes (suggested: "current-password") 참고둜 μ‚¬μš©ν•œ μ½”λ“œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. Why? Autocomplete 을 톡해 μ›Ή κ°œλ°œμžλŠ” 양식 ν•„λ“œ 값을 μž…λ ₯ν•  λ•Œ μ‚¬μš©μž μ—μ΄μ „νŠΈκ°€ μžλ™μœΌλ‘œ 지원해야 ν•˜λŠ” κΆŒν•œμ„ μ§€μ •ν•  수 있으며, ν•„λ“œμ— μ˜ˆμƒλ˜λŠ” 정보 μœ ν˜•μ— λŒ€ν•œ λΈŒλΌμš°μ € μ•ˆλ‚΄λ„ μ œκ³΅ν•œλ‹€κ³  ν•©λ‹ˆλ‹€. 즉 μžλ™μ™„μ„± κΈ°λŠ₯이라고 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€ :) How to solve the problem autocomplete 속성을 넣어쀄 경우 ν•΄λ‹Ή 였λ₯˜κ°€ μ‚¬λΌμ§€κ²Œ λ©λ‹ˆλ‹€ . htt..

Programming/Html 2023.02.15

[JavaScript] DOM 접근을 톡해 CSS Module의 className κ°€μ Έμ˜€λŠ” 방법 (react.js, next.js)

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” DOM 접근을 톡해 CSS Module의 classname을 κ°€μ Έμ˜€λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€ . How to solve the problem μ €λŠ” next.js μ—μ„œ νŠΉμ • className 을 κ°€μ Έμ™€μ„œ μ œκ±°ν•΄μ€˜μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€. CSS Module을 μ‚¬μš©ν–ˆκΈ° λ•Œλ¬Έμ— 파일 μ»΄ν¬λ„ŒνŠΈλ§ˆλ‹€ μ•„λž˜μ˜ ν˜•μ‹μœΌλ‘œ styles을 κ°€μ Έμ™€μ„œ μŠ€νƒ€μΌμ„ μ μš©ν•΄μ€¬μŠ΅λ‹ˆλ‹€. import styles from './styles.module.css' 참고둜 css module λ‚΄λΆ€ ν”„λ‘œμ„ΈμŠ€λŠ” css ν΄λž˜μŠ€λ‚˜ css νŒŒμΌμ„ 톡해 κ·Έ 클래슀의 이름을 κ³ μœ ν•˜κ²Œ λ°”κΏ”μ£ΌλŠ” 역할을 ν•©λ‹ˆλ‹€. λ”°λΌμ„œ importν•˜λŠ” λͺ¨λ“  css νŒŒμΌμ„ κ³ μœ ν•˜κ²Œ λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€. 더 μžμ„Έν•œ λ‚΄μš©μ΄ κΆκΈˆν•˜μ‹  뢄듀은 이 κΈ€ [React ..

[Python] μž₯κ³  (Django) Error: That port is already in use ν•΄κ²° 방법

Intro ptyhon API Server μ‚¬μš© 쀑 μ•„λž˜μ™€ 같은 μ—λŸ¬κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. Error: That port is already in use. Why? 1. 이미 띄어놓은 μ„œλ²„κ°€ μ’…λ£Œλ˜μ§€ μ•Šμ•„μ„œ 같은 ν¬νŠΈμ— 띄어 놓을 수 없을 λ•Œ ν•΄λ‹Ή μ—λŸ¬κ°€ λ°œμƒν•©λ‹ˆλ‹€. 2. λ™μΌν•œ 포트둜 λ‹€λ₯Έ μ„œλΉ„μŠ€κ°€ μ‚¬μš© 쀑일 λ•Œ ν•΄λ‹Ή μ—λŸ¬κ°€ λ°œμƒν•©λ‹ˆλ‹€. How to solve the problem μ €μ˜ 경우 1번 μΌ€μ΄μŠ€μ˜€κΈ° λ•Œλ¬Έμ— μ‚¬μš© μ€‘μ΄μ˜€λ˜ 8000 ν¬νŠΈμ™€ κ΄€λ ¨λœ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ₯Ό μ’…λ£Œν•˜κ³  λ‹€μ‹œ μ‹€ν–‰μ‹œμΌœμ£Όμ—ˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ΄μš©ν•˜μ‹œλ©΄ ν•΄λ‹Ή μ—λŸ¬λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€ :) sudo lsof -t -i tcp:8000 | xargs kill -9

Programming/Python 2023.02.13

[Kotlin] μ½”ν‹€λ¦° ν˜„μž¬ λ‚ μ§œ DateTime μ—μ„œ μ‹œκ°„ μΆ”κ°€ν•˜λŠ” 법

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” μ½”ν‹€λ¦°μ—μ„œ ν˜„μž¬ λ‚ μ§œ DateTime μ—μ„œ μ‹œκ°„ μΆ”κ°€ν•˜λŠ” 법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. How to implement μš°μ„  LocalDateTime 을 톡해 ν˜„μž¬ λ‚ μ§œ 및 μ‹œκ°„μ„ κ΅¬ν•©λ‹ˆλ‹€. κ·Έ 이후 plusHours λ©”μ†Œλ“œλ₯Ό 톡해 μ›ν•˜λŠ” κ°’λ§ŒνΌ μ‹œκ°„μ„ 더해주면 λ©λ‹ˆλ‹€. import java.time.LocalDate import java.time.LocalDateTime fun main(args: Array) { val todayDateTime: LocalDateTime = LocalDateTime.now() println("Current date and time: $todayDateTime") println("Add 9 Hour date and time: ${today..

Programming/Kotlin 2023.02.13

[ꡬ글 μ• λ“œμ„ΌμŠ€] ν‹°μŠ€ν† λ¦¬ ꡬ글 μ• λ“œμ„ΌμŠ€(google adsense) 3번 μ‹œλ„ 후에 승인 받은 ν›„κΈ°

Intro μ•ˆλ…•ν•˜μ„Έμš”. λ“œλ””μ–΄ 저도 ꡬ글 μ• λ“œμ„ΌμŠ€λ₯Ό μŠΉμΈλ°›μ•˜μŠ΅λ‹ˆλ‹€ :-) μ €λŠ” ν‹°μŠ€ν† λ¦¬ ν”Œλž«νΌμ„ μ΄μš©ν•˜μ—¬ ꡬ글 μ• λ“œμ„ΌμŠ€λ₯Ό μ‹ μ²­ν–ˆκ³ , 3번의 μ‹œλ„ ν›„ μŠΉμΈμ„ 받을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. Process μš°μ„  제 λΈ”λ‘œκ·ΈλŠ” 개발 κ΄€λ ¨λœ 정보λ₯Ό 담은 λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€. μˆ˜μ΅ν˜• λΈ”λ‘œκ·Έλ‘œλ„ ν‚€μš°κ³  μ‹Άκ³ , λ™μ‹œμ— κ·Έλ‚  λ°°μ› λ˜ IT 개발 정보듀을 μ •λ¦¬ν•˜κ³  싢은 λ§ˆμŒμ— ν‹°μŠ€ν† λ¦¬ λΈ”λ‘œκ·Έλ₯Ό μ‹œμž‘ν–ˆμ–΄μš”. 사싀 개발 λΈ”λ‘œκ·Έλ‘œ λ‹€λ₯Έ ν”Œλž«νΌμ„ μ˜€λž«λ™μ•ˆ μ‚¬μš©ν•΄ μ™”λŠ”λ°μš”, μˆ˜μ΅μ„ λ°œμƒμ‹œν‚¬ 수 μ—†λŠ” ν”Œλž«νΌμ΄μ–΄μ„œ μ°Έ μ•„μ‰½λ”λΌκ³ μš”. 이미 써놓은 ν¬μŠ€νŒ…κΈ€μ΄ 아깝긴 ν–ˆμ§€λ§Œ, μƒˆλ‘œ ν‹°μŠ€ν† λ¦¬ λΈ”λ‘œκ·Έλ₯Ό μ‹œμž‘ν•΄ 보기둜 κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€. 2022λ…„ 8μ›” 처음 ν‹°μŠ€ν† λ¦¬ λΈ”λ‘œκ·Έλ₯Ό κ°œμ„€ν–ˆκ³ , 2022λ…„ 10μ›”κΉŒμ§€λŠ” ν¬μŠ€νŒ…μ„ μ—΄μ‹¬νžˆ ν•˜μ§„ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 11μ›”λΆ€ν„° 1일 1 ν¬μŠ€νŒ…..

[SpringBoot] μŠ€ν”„λ§ JPA limit pagesize μ΅œλŒ€κ°’(maxSize) μ§€μ •ν•˜λŠ” 방법

Intro μ•ˆλ…•ν•˜μ„Έμš”. μ΄λ²ˆμ‹œκ°„μ—λŠ” μŠ€ν”„λ§ JPAμ—μ„œ pageSize νŽ˜μ΄μ§€ μ‚¬μ΄μ¦ˆλ₯Ό μ΅œλŒ€κ°’μœΌλ‘œ μ§€μ •ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. How to set to maxSize @PageableDefault μ–΄λ…Έν…Œμ΄μ…˜μ„ ν™œμš©ν•˜μ—¬, sizeλ₯Ό Integer.MAX_VALUE둜 μ„€μ •ν•˜λ©΄ λ©λ‹ˆλ‹€. sizeλ₯Ό 확인해보면, 2000으둜 μ„€μ •λœ 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. public SomeResponseObject getSomething( @PageableDefault(size = Integer.MAX_VALUE) Pageable page ) { return someService.getSomething(page); } https://stackoverflow.com/questions/23751193/spring-data-..

[Springboot] νŽ˜μ΄μ§€λ„€μ΄μ…˜ Pageable 객체에 λŒ€ν•΄ μ•Œμ•„λ³΄μž

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” μŠ€ν”„λ§λΆ€νŠΈμ˜ Pageable νŽ˜μ΄μ§€λ„€μ΄μ…˜ 객체에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 제 경우 Taskλ₯Ό μ§„ν–‰ν•˜λ˜ 도쀑 νŽ˜μ΄μ§€λ„€μ΄μ…˜μ„ μΆ”κ°€ν•΄μ•Ό ν•˜λŠ” μš”κ΅¬μ‚¬ν•­μ΄ λ“€μ–΄μ˜ΈμŠ΅λ‹ˆλ‹€. νŽ˜μ΄μ§€λ„€μ΄μ…˜μ„ κ΅¬ν˜„ν•˜λŠ” 방법은 μ—¬λŸ¬κ°€μ§€κ°€ μžˆλŠ”λ°μš”, κ·Έμ€‘μ—μ„œλ„ μ €λŠ” Spring Data JPAλ₯Ό μ΄μš©ν–ˆμŠ΅λ‹ˆλ‹€. Spring Data JPAλ₯Ό μ΄μš©ν•˜λ©΄ Pageable 객체λ₯Ό μ‚¬μš©ν•˜μ—¬ νŽ˜μ΄μ§€λ„€μ΄μ…˜(pagination) 정보λ₯Ό μ‰½κ²Œ 관리할 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. JPA Query λ©”μ„œλ“œμ˜ νŒŒλΌλ―Έν„°λ‘œ Pageable을 λ„˜κ²¨μ„œ DB에 쿼리λ₯Ό 날릴 수 μžˆμŠ΅λ‹ˆλ‹€. 즉, μ•Œμ•„μ„œ 잘 ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— 맀우 νŽΈν•˜κ²Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€ :-) Pageable PageableλŠ” Pagination μš”μ²­ 정보듀을 λ‹΄κΈ° μœ„ν•œ 좔상 인..

[Springboot] μŠ€ν”„λ§λΆ€νŠΈ + λͺ½κ³ (mongo)μ—μ„œ OR 쿼리 query μ‚¬μš©ν•˜λŠ” 방법 (+ Criteria)

Intro μ•ˆλ…•ν•˜μ„Έμš”. 이번 μ‹œκ°„μ—λŠ” μŠ€ν”„λ§λΆ€νŠΈ + λͺ½κ³ (mongo)μ—μ„œ OR 쿼리 query μ‚¬μš©ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. How to do Criteria APIλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•„λž˜μ™€ 같이 μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€. Criteria criteria = new Criteria(); criteria.orOperator(Criteria.where("A").is(10),Criteria.where("B").is(20)); Query query = new Query(criteria); mongoOps.find(query, .class, "collectionName"); +) 참고둜 Criteria 은 κΈ°μ€€κ°’μ΄λΌλŠ” μ˜λ―Ένž™λ‹ˆλ‹€. find λ©”μ†Œλ“œ μ•ˆμ—μ„œ { age: { $gt: 18 } } 와 같은 쑰건문을 μž…λ ₯ν•˜λŠ” λΆ€λΆ„..

[MongoDB] κ²Œμ‹œκΈ€ 읽음(read)/μ•ˆμ½μŒ(unread) ν‘œμ‹œ μƒνƒœ μ²˜λ¦¬ν•˜λŠ” 방법

Intro μ•ˆλ…•ν•˜μ„Έμš”. μ΄λ²ˆμ‹œκ°„μ—λŠ” MongoDB λͺ½κ³ λ””λΉ„μ—μ„œ κ²Œμ‹œκΈ€ 읽음(read)/μ•ˆμ½μŒ(unread) ν‘œμ‹œμƒνƒœλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. How to do μš°μ„  제 μƒν™©μ˜ 경우 곡지사항 Collection(κ²Œμ‹œκΈ€ Collection라고 봐도 무방), 그리고 μ‚¬μš©μž Collection이 μ‘΄μž¬ν•©λ‹ˆλ‹€. User user collection은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. _id, userId, userName ν•„λ“œλ₯Ό κ°–κ³  μžˆμŠ΅λ‹ˆλ‹€. { _id: user_uniqueId, userId: senderId, userName: userName } Notice notice collection은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. _id, noticeId, title, contents ν•„λ“œλ₯Ό κ°–κ³  μžˆμŠ΅λ‹ˆλ‹€. { _id: us..

Database/monogodb 2023.02.11
λ°˜μ‘ν˜•