목록전체 글 (283)
코딩일상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckxUec/btsjlVMCcB6/KRDHsjIUP18uJWaR7D6obK/img.png)
살아있습니다! 이번 주 한 것 들과 배운 것들 하이브리드 Flutter 공부하기 노드에 템플릿리터럴 적용(ejs )과 다양한 오픈소스??(chart.js ,grid.js) Instance?? java.util.time 에러 하다 알게된 용어 User-Agent, EUCKR AWS s3 (스토리지 클래스) Flutter 공부하기(하이브리드 앱 만들어보자) 백엔드로서 회사에서 일을 하고있다 보니 프론트 client쪽을 하고싶다는 욕망(남의 떡이 더 커보인다는 생각이랄까..)이 생겨서 무엇을 해볼까 고민을 하던중 Flutter가 나의 눈의 사로잡았고 단순히 재미도있어 보이기도 하여 시작을 하게되었다. 역시 처음 배울때는 단순이론보다 실제로 만들어보는것이 그 프레임워크를 이해하기에 가장 좋다 생각하기에 무작정 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wGb8e/btsd5ZmLtvG/tfpTaTqiLjKXSQ6Pm6h3X0/img.png)
이번 주 한 것들 자바의 정석 1권 완독 1회 JDBC, Mybatis 설정 +MsSQL,MongoDB,MariaDB(우연치 않게 여러디비를 datacofig를 통해 만들어볼수있게되었음) DB aggregate function 실제 서비스에 적용(node.js + spring) springboot로 AtoZ까지 실제로 경험 완료(배치 서비스 구현) Transaction Rollback을 다루면서 CheckedException 과 uncheckedException에 대해 알게되었음 Docker 공부 가상화란>?? 너무 어려움././ 왜 도커를 쓰게되었을까? 서비스와 시스템의 객체 지향??
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rRUdZ/btsbVezeBu1/fir7GK4UDh597ajHkwn4I1/img.jpg)
*글 작성 계기 spring boot를 처음 접하면서 몽고DB를 연동하고 메서드를 사용하는데 어려움을 느껴서 정리차원에서 작성함 의존성 주입 Gradle implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' Maven org.springframework.boot spring-boot-starter-data-mongodb Configuration 설정 @Configuration public class MongoConfig extends AbstractMongoClientConfiguration { @Value("${spring.data.mongodb.uri}") private String uri; @Value("${spring..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWj8nQ/btsbQRla4XE/4xcUda6jsOoZ8TgsSLVutK/img.png)
우선 한동안 글을 올리지 않은 것들에 대해 저 자신에게 미안하다 말을 하며 이번주 글을 작성하고자 합니다. ㅜㅜ 이번 주 한 것들 신규 데이터 정의서를 파악하여 기존 데이터 레이아웃에 맞추어 설계 진행 자바의 정석 1권 1회 완독 2권 0.5 진행 최종 목표 완독 3회 JDBC, Mybatis 설정 +MsSQL,MongoDB 연동 CS 공부 네트워크, 프로세스, 쓰레드 등등(출퇴근길 공부) DB aggregate function 기능 적용 및 공부 신규 데이터 정의서를 파악하여 기존 데이터 레이아웃에 맞추어 설계 진행 2주 전에 기존 코드 문서의 내용들을 파악하고 나름 나만에 맞게 설계를 잘했다고 생각을 하였는데, 아직 완벽하게 파악하지 못하였다는 코딩을 하면서 스스로 느껴졌다. 코딩을 하면서도 설계가 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vkxhd/btr7PrbyN0u/YKK8myczJhcW7aU88UWZMK/img.png)
원인 프로젝트를 세팅하다가 dependecy를 처음부터 다세팅을 해두었다. (위처럼 주석 처리를 하지 않고) 그리고 우선 mongoDB에 연동하기 위한 작업을 한후에 테스트 코드를 작성하였고 그 결과값으로 본 포스팅을 작성하게된 원인인(Failed to determine a suitable driver class을 만나게 되었다. 생각해보니 나는 코드로 이러한 dependecy를 쓴다고 명령을 해놓고 그 datasource들을 작성하지 않았기에 컴퓨터는 계속해서 찾아야 했기에 생겼던 문제였다. 해결법을 알고나니 너무나도 당연한것이었는데 삽질만 했다.. 그래도 이 삽질 때문에 코드의 순서를 파악하게 되었다. DB 연결하는 순서 1)dependecy를 gradle이나 pom에 작성을 한다. 2) applic..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIE9eO/btr7n2iysj2/etCrAkCC7KbG7vzVW0tWq1/img.png)
이번 주 하고 배우고 느낀 것들 남이 만들어놓은 코드 파악완료 후 문서화 도메인 지식 업그레이드(전기차 배터리 어렵군..) 개발세미나 준비 및 발표 남이 만들어놓은 코드 파악완료 후 문서화 드디어 저번주 부터 했었던 기존 서비스를 파악완료를 하였다. 결과론적으로 이야기를 하자면 진짜 앞으로는 항상 코드를 작성을 할 때 누가 봐도 이해하기 쉽게 작성을 해야겠다 생각을 하였다. 물론 작성하신분도 그 자기 자신 만의 논리로 작성을 하신 것처럼 보이긴 하였다. 하지만 그 전체적인 흐름을 처음보는 사람이 파악하려는 과정의 depth를 너무 길고 복잡하게 해 놓았다는 점과 전혀 알아볼수 없는 변수와 함수들의 잔치들로 인해 나한테는 지옥과 같았다. 분명 방금까지는 이 변수가 가진 의미가 이거인 거 같았는데 그사이 또..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/la6Z9/btr5QyD177t/JL0HPuzy8SKctWCFsNLaGk/img.png)
이번 주 하고 배우고 느낀 것들 slack 알림을 통해 서비스 유지 보수 파악개선 데이터 backup 배치 기능 추가 JavaScript heap에 대한 개념 추가 정리 AWS 인바운드 아웃바운드 python(Flask) 서비스 파악 데이터 관리(임베디드라 해야하나..?) gz?? zip?? slack 알림을 통해 서비스 유지 보수 파악개선 현 회사에서 운영하고 있는 서비스들이 많은 것은 알고있었지만 이번주 이에대한 유지 보수 문서화를 하면서 정말 많은 서비스들이 있음을 알게되었다. 이를 제대로 유지 및 관리 하기 위해서 매일 체크를 하고 파악을 하면 좋지만 이또한 짧은 시간이 드는것이 아니니 이를 Slack으로 하는 작업을 이번주 진행하게 되었다. 물론 전부 하지 않고 내가 담당한 부분에 대해서 나는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JWdat/btr5Tpl3yrj/zGFP6BEcdRhSnjHgW7NpF0/img.jpg)
let result = connection.query('select * from table') 위와 같이 DB를 조회 하여 result에 값을 담는 과정에서 RangeError: Invalid string length 라는에러가 발생하였다. 처음 보는 에러 여서 ?? 이게 뭐지 하고 이 에러에 대해 알아보니 이런 뜻이었다. "RangeError: Invalid string length" 오류는 JavaScript에서 허용되는 최대 길이를 초과하는 길이의 문자열을 만들려고 할 때 발생 길이가 2^53-1(JavaScript의 최대 안전 정수)보다 큰 문자열을 만들려고 할 때. 이것은 매우 큰 문자열을 연결하여 문자열을 만들거나 길이가 매우 큰 문자열을 만들려고 할 때 발생할 수 있다. 데이터가 너무 커서 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bXvzHy/btr4PrUy2L8/7khjcHORw6YfoJqzpHb5b0/img.png)
fs.createWriteStream(path[, options]); const fs = require('fs'); // 파일 생성 혹은 기존 파일 덮어쓰기 const writeStream = fs.createWriteStream('example.txt'); // 파일에 데이터 쓰기 writeStream.write('Hello World\n'); // 파일 쓰기 종료 writeStream.end(); // 파일 쓰기가 완료되면 콘솔에 로그 출력 writeStream.on('finish', () => { console.log('Data written to file'); }); // 에러 발생 시 콘솔에 로그 출력 writeStream.on('error', (err) => { console.error(err..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzlKIG/btr4LIAqbmW/p533IDzFAfuUnKopJYkvck/img.png)
이번 주 하고 배우고 느낀 것들 본사에서 도메인(전기차 배터리) 관련 교육 도메인 관련 컨퍼런스 참여 crontab으로 이루어진 shell부분 코드화 담당 서비스 유지보지보수 개인 공부: 김영한 강사님의 spring 강의 2편 수강중 본사에서 도메인(전기차 배터리) 관련 교육/ 도메인 관련 컨퍼런스 참여 개발자로서의 삶도 처음이지만 현재 회사의 도메인부분또한 인생 처음으로 겪는 부분이어서 개발을 하면서도 모르는 용어들(변수)이 너무 많았고 과연 내가 제대로 서비스를 이해하고 있는가에 대한 부분이 스스로 만족스럽지 못했다. 그래서 개인적으로나 팀원들에게서도 이부분들을 물어가면서 지식들을 채워가고있었지만 현 회사의 도메인 부분의 깊이가 있다보니 아무래도 벽이 있었다.(팀원분들도 아무래도 이쪽 도메인은 다들 ..