TIL 12

[TIL]Day 11

docker를 사용하여서 mysql을 연결하는 것을 해본적이 있어 비교적 무난하게 수행할 수 있었다. 이전에는 터미널로 mysql에 접근하여서 DB를 주로 조작하고 세팅하였는데 intelliJ에 console 연결하는 것은 알고 있었는 데 사용할 생각을 왜 안했는지 바보 같이 느껴졌다. UUID를 사용하여서 JDBC를 처음으로 사용해 보았다. 동일하게 연결되어서 사용하는 변수인데 spring과 db의 UUID 버전이 달라 저장은 동일한 값으로 저장되지만 다시 db에서 읽어 올 때 값이 변경되어오기 때문에 Byte[]로 받아 UUID 생성자를 사용해서 값을 가져와야하는 것을 알게 되었다. 또한 springboot에서는 커넥션을 자동으로 열고 닫아주기 때문에 알지 못하였던 커넥션을 열고 닫고 예외 처리를 하..

TIL 2021.08.25

[TIL]Day 10

과제를 작성한 것이 객체지향으로 코드를 작성하였다기 보다는 절차 지향적이고 객체로 관리되지 않으며 메인 프로그램에서 동작들이 처리되고 있어서 이 것을 어떻게 분해하여서 작성을 해야 할까가 고민이였다. 오늘 서로의 코드를 보며 가볍게 설명하는 시간을 가져서 클래스의 분리에 대해서 완벽하지는 않지만 조금은 느낄 수 있었다. 도메인 주도의 설계 방식에 대해서는 어떻게 감을 잡아가야 할지는 모르겠지만 코드를 하나하나 작성할 때 시간을 들여서 생각하며 작성을 해야겠다고 느꼈다. 또한 객체지향에 대해서 다시 한번 공부하고 어떻게 활용하는 것 인지 정확하게 정리할 필요성을 많이 느꼈다. 프로그램의 동작을 구현을 하는 것은 비교적 쉽게쉽게 하지만 객체지향, Spring, 설계방식 등에 대해서는 나름 따라한다고는 해보지..

TIL 2021.08.20

[TIL]Day 9

막연하게 기능별로 구현하는 것이 마이크로 서비스 아키텍처라는 개념만 가지고 있어서 정리를 해보았다. 더욱 자세한 내용이 있을 것 같지만 정리한 내용을 생각해보면 기능별로 쪼개서 개발하여 API로 정보를 주고 받으며 커다란 서비스를 제공한다는 것이 method를 쪼개서 하나의 프로젝트를 완성하는 것과 비슷하다고 생각하고 이해를 하였다. 강의를 수강하고 과제 2번을 해결하면서 의존성 주입에 대해서 다시 한번 생각해 볼 수 있었으나 아직은 어렵게 느껴져서 추가적인 공부가 필요하다고 생각한다. 코드작성에 있어 최소한에 변경으로 구현을 하였는데 과연 내가 작성한 방법이 통상적인 방식인지 아니면 다른 방식으로 작성하는 것이 더 좋은 것인지는 아직까지 감이 잘안잡히는 것 같다. RP을 리뷰 받고 맞춰서 수정하고 빨리..

TIL 2021.08.19

[TIL]Day 8

programers 데브코스 백엔드 과정을 시작하여 처음으로 코드를 작성하는 과제를 수행하였다. 빨리 실습을 하는 과제를 수행하고 싶었기 때문에 기대를 하고 있었다. spring으로 프로젝트를 진행해본 경험이 있어서 첫 과제는 쉽게 해결할 수 있을 줄 알았는데 막상 강의를 들으며 따라서 구성한 코드들은 내가 프로젝트에서 사용하지 않았던 방식을 사용하여서 코드를 더 보기 좋고 느슨한 의존관계를 형성하였다. 그래서 막상 과제를 구현하려고 할 때 어디서부터 시작을 해야하지? 라는 고민과 잘 못짜는 거면 어떻게 하지라는 생각이 코드 구현에 시작조차 하지 못하게 하였다. 다시 한번 강의를 들으면서 생각을 정리하였지만 막상 큰 도움이 되지는 못하였다. 하지만 과제를 미루기는 싫고 시간도 지체하기 싫어서 틀리더라도 ..

TIL 2021.08.18

[TIL]Day 7 (Spring)

spring 강의를 수강하면서 이론은 잘 모르는 상태로 사용법만 익혀 개발을 하였던 프로젝트가 생각이 나서 이해를 하는데에 도움이 많이 되었으나 자세한 내용에 대해서는 공부하여 정리가 필요하다고 생각이 들었다. 의존성 주입, bean, AOP, Configuration 등에 대해서 공부해보고 정리를 하면 좋을 것 같다고 생각하였다. 예제로 작성하시면서 코드를 개선하는 것을 보고 따라하면서 개발했던 프로젝트에 개선점과 변경해야할 것들이 머리 속에 떠올라서 강의를 수강하며 배운 것을 정리하여 프로젝트를 틈틈히 개선을 해보고 또 다른 Toy 프로젝트를 진행하고 싶은 욕심이 생겼다. (없는 시간도 만들어서 해야겠다!!)

TIL 2021.08.17

[TIL]Day 7 (DB)

Stored Procedure Mysql 서버단에 저장되는 SQL 쿼리들로 함수처럼 인자를 넘길 수 있다. select문과 동일한 레코드들의 집합이 나온다. if, case, loop를 통하여 프로그래밍이 가능하다. 하지만 디버깅이 어렵고 서버단의 부하를 증가시킨다. 일반적인 Method 처럼 파라미터를 입력 받아서 동작할 수 있다. CREATE Procedure 이름(파라미터)로 사용 방식을 지정한다. 설정하기 위해서는 추가적으로 block을 형성해주어야한다. 실행법 : CALL 프로시저이름(파라미터); Stored Function 값을 하나 리턴해주는 서버쪽 함수로 Method를 rngusgksms rjtcjfja Stored Procedure과 비슷하지만 Stored Function은 SQL문 안에..

TIL 2021.08.13

[TIL]Day 6 (Transaction)

Hash라는 것에 대해서 개념적으로만 알고 있고 프로젝트에서 사용을 하지 않아서 JAVA 언어로 실제 사용하는 방식에 대해서는 모르는 상태였으나 스터디를 통해서 팀원의 코드를 리뷰하며 방식에 대해서 알게 되었고 추가적인 학습을 통해서 사용법을 익힌것 같다. 하지만 아직까지는 Java의 클래스들의 기본 method에 대해서 모르는 것이 많았다. HashMap에서 getOrDefault() method를 통하여서 if문으로 HashMap안에 키값이 존재하는지 확인을 하지 않아도 되는 것과 keySet() method를 사용하여 HashMap의 key 값을 따로 저장하지 않더라도 사용할 수 있는 것을 알게 되었다. 클래스 내부 method를 다 암기 할 수는 없지만 클래스를 사용할 때 찾아서 한 번쯤은 읽어보..

TIL 2021.08.13

[TIL]Day 5

DB SQL에서 select, join, where 등의 기본적인 조작만 할 줄 알고 있어 SQL문에서 형변환, 날짜 계산을 할 수 있다는 것을 처음 알게 되었다. CONVERT_TZ - 타임존 이동 DATEDIFF - DATE 차이 계산 STR_TO_DATE - 문자열을 DATE로 변환 CAST, CONVERT - type 변환 이전에는 데이터 알고 있는 관심과 지식이 깊지 못하여 SQL문은 데이터를 불러오기만 한다고 생각을 하였는데 데이터를 다룰 수 있는 기초적인 부분만 알고 있었다는 것을 크게 느끼게 되었다. 알고리즘 풀이 해쉬 관련 문제를 java로 풀이를 하였는데 python으로는 알고리즘을 수월하게 풀었기 때문에 동일하게 쉽게 풀 수 있다고 생각을 하였다. 문제를 풀기위한 방식에 대해서는 머리..

TIL 2021.08.12

[TIL]Day 4 (Docker, TDD)

Docker 애플리케이션을 신속하게 구축, 테스트 및 배포 할 수 있는 소프트웨어 플랫폼 Docker hub에서 공개 되어있는 오픈소스 이미지들을 다운 받아서 활용할 수 있다. Docker를 통하여 구축한 컨테이너를 이미지 복사와 배포를 통하여 코드, 운영 환경 등을 표준화 하고 전달을 쉽게 할 수 있다 이전에 Docker를 mysql을 사용하기 위한 스토리지 컨테이너 형식으로 사용을 해본적이 있어 학습 내용이 반가웠다. 한 컴퓨터 안에서 여러 환경을 구축하기 위해서 사용하거나 이미지를 복제, 배포를 하며 사용하고 프로젝트를 관리할 수 있다는 것이 잘 사용 할 수 있다면 큰 이점이 될 것이라 생각되었다. Docker와 Kubernates에 대해서 학습을 진행하여 각각에 대해서 정리하여 공유도 하고 프로젝..

TIL 2021.08.11
320x100