분류 전체보기 25

[아키텍처]마이크로 서비스

마이크로 서비스란? 대규모 애플리케이션을 개발할 때 각각의 담당 영역을 가진 소규모의 독립적인 구성요소로 구분하여 개발하는 방식 사용자의 요청을 처리하기 위해 여러 내부 마이크로 서비스를 호출하여 응답을 작성한다. (주로 API 형식) 수천 개의 독립적인 웹 표준, 언어, 데이터베이스, 개발자 툴로 확인되는 웹 서버의 구성 요소들을 의미하며 개발 회사, 오픈 소스 클라우드에서 제공되는 소프트웨어나 앱 또한 구성요소이다. 용도 주로 애플리케이션의 개발 속도를 높이기 위해서 사용하는 방식 웹사이트 마이그레이션 - 모놀리식 플랫폼에서 호스팅되는 복잡한 웹사이트를 클라우드, 컨테이너 기반으로 마이그레이션 한다. 미디어 콘텐츠 - 이미지와 통영상을 객체 스토리지 저장하여 웹, 모바일에서 제공 트랜잭션 및 인보이스..

주제 정리 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

[JAVA] HashSet

HashSet HashSet은 Set 인터페이스를 상속 받아서 구현한 클래스입니다. Set의 특징을 이어받았기 때문에 중복된 값을 가질 수 없습니다. null 값 또한 1개만 가질 수 있습니다. 정보들은 비선형 구조로 저장되기 때문에 순서가 없으며 index를 사용하지 않습니다. Hashset은 객체를 저장하기 전에 저장할 객체의 hashCode() method를 호출하여 hashCode를 알아내 저장되어있는 객체들의 hashCode와 비교합니다. 같은 hashCode를 가지는 값이 있다면 equals() 함수를 사용하여 두 객체를 다시 한번 비교하는 과정을 거쳐 true 값을 가지게 되면 중복된 객체로 판단하여 저장하지 않습니다. 사용법 HashSet set1 = new HashSet();//선언 파라..

주제 정리 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

[JAVA] HashTable, HashMap

HashTable와 HashMap 공통점 Map을 상속 받아 구현한 클래스로 Key, Value를 한 쌍으로 가지는 자료구조이다. Key 값은 식별을 위한 값이고 Value는 실제로 사용할 값인 데이터를 넣는 형식이다. 리스트 자료구조보다 탐색에 있어서는 더 놓은 효율을 기대할 수 있다. Method 값을 저장 : put(key, value); 값을 불러오기 : get(key); 값을 변경하기 : replace(key, value); 삭제하기 : remove(key); 크기 확인하기(저장된 데이터 갯수) : size(); 비어 있는지 확인하기 : isEmpty(); 차이점 HashTable은 동기화를 지원하며 HashMap은 동기화를 지원하지 않아 멀티스레드 상황에서는 HashTable을 사용하는 것이 ..

주제 정리 2021.08.12

[TIL]Day 4 (Docker, TDD)

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

TIL 2021.08.11
320x100