분류 전체보기 188

Day.26 우테코 테크톡 (프로세스와 스레드)를 보고 지식 추가하기 - 작성중

스레드와 프로세스 (완료) 2022.11.19 - [기술면접 관련 및 참고하기] - 운영체제(Operating System) 프로세스(Process)와 쓰레드(Thread) - 우테코 Tech 내용 추가 (2022.12.02) 최근에 CS 강의 때 습득한 지식을 기반으로 여기저기 서칭을 통해 프로세스와 스레드에 관한 지식을 정리한 글이 있었다. 과거 학습한 내용을 바탕으로 프로세스와 스레드를 다시 오늘 복습하는 차원에서 내용을 추가했다. 직접 예시를 통해 프로세스가 뭐고, 스레드가 뭔지, 그리고 그와 연결된 개념까지 추가 학습을 통해 더욱 잘 이해할 수 있었다. 테크톡을보니 더욱 잘 이해가 됐다. 이렇게 글을 정리하는 방법도 좋지만, 남에게 프로세스와 스레드에 대해 설명할 수 있어야 진정한 내 지식이라고..

Controller, Service 왜 나눌까요? (2022.12.02 - 작성 중)

Spring을 이용해서 개발하다보면 기계적으로 무언가를 만들거나, 혹은 이 것을 왜 ? 이렇게 구분하거나 사용하거나 궁금증을 가지게 된다. 그럴때가 되면 항상 그 궁금증을 해결하려고 북마크를 걸어놓거나 바로 찾아서 정보를 획득하고 정리하는 편이다.. (물론 북마크만 걸어놓고 미루다가 나중에 하는 경우도..) 오늘은 컨트롤러(Controller) 그리고 서비스(Service)단이다. 이유에 대해서 먼저 설명을 하자면 다음과 같다 트랜잭션의 처리 API의 확장 및 변경 1. 트랙잭션의 처리 내가 아는 트랜잭션은 DB 관련 작업 시 작업의 처리 순서? 단위?정도로 생각을 했었다. 트랜잭션은 DB에 데이터 관련 작업을 하고 업데이트를 할 때, 이 과정들을 한번에 처리하고, 성공 혹은 실패 시 롤백을 하거나, 커..

스프링 2022.12.02

Day.25 알고리즘 강의 문자열 chapter -끝- 그리고 CS

Daily 알고리즘 https://jipang9-greedy-pot.tistory.com/101 문자열(String)을 이용한 문제 풀이 (3문제) 본 내용은 인프런 자바(Java) 알고리즘 문제풀이 : 입문 - 코딩테스트 대비 강의 문제를 기반으로 포스팅 한 내용입니다. 문제 문자거리 문자열 압축 암호(replace(), parseInt(string, 2)) 문제 1. 문자거리 jipang9-greedy-pot.tistory.com Daily 알고리즘 총평 : 오늘 문자열 챕터의 마지막 3문제를 정복하며 어떻게 코드를 더욱 간결하게 짤 수있을까? 어떻게 로직에 접근할 수 있을가? 이 부분에는 어떻게 무엇을 사용하는게 좋을까? 라는 여러가지 생각을 하면서 직접 펜과 종이를 이용해 문제를 해결하는 시간을 ..

문자열(String)을 이용한 문제 풀이 (3문제)

본 내용은 인프런 자바(Java) 알고리즘 문제풀이 : 입문 - 코딩테스트 대비 강의 문제를 기반으로 포스팅 한 내용입니다. 문제 문자거리 문자열 압축 암호(replace(), parseInt(string, 2)) 문제 1. 문자거리 문제 설명과 예시, 그리고 내가 접근하고자 했던 방식 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성 ex) teachermode e -> 1 0 1 2 1 0 1 2 2 1 0 고민해보기 정방향 -> 역방향 순으로 반복문을 통해 해당 요소가 있는지 확인하고, 값을 기준으로 최소거리를 저장하면 됐었음. 본 강의에서는 Math.min()을 이용해 기존에 있던 배열의 요소와 새로운 값을 비교해 더 작은 값을 ..

Day.24 알고리즘 기초 String

2022.11.30 - [알고리즘 및 자료구조] - chapter. String (문자만 추출) 자바 프로젝트를 마무리하며 기초 알고리즘 문제를 해결하며 리프레쉬 하는 하루였다. 문제를 파악하는 만큼 팬과 종이를 꺼내서 어떻게 해결하면 좋을지 생각하고, 내가 생각한 방식으로 코드를 직접 구현해보며 코드 구현력을 높이는데 목적을 두고 있다. 그 후 강의에서 어떻게 풀어내는지, 더욱 쉬운 방법은 있는지 확인해보며 그 속에서 새로 알게된 내용이나 메서드 등을 정리하는 시간이었다.

chapter. String (숫자만 추출)

주어진 문제는 간단했다. 입력받은 문자열에 숫자가 있으면, 숫자만 추출해 순서대로 자연수를 만들어서 출력하는 문제였다. // ex) g0en2T0s8eSoft -> 0, 2, 0, 8 == 208 이 문제를 어떻게 접근 할 것인가?에 대해 생각해보았고, // 나는 어떻게 접근할 것인가? -> 문자열 입력받고, 문자열의 길이만큼 반복을 통해 숫자와 문자를 필터-> // 그리고 숫자를 배열에 저장-> 배열 반환? (그럼 숫자와 문자를 어떻게 필터할건데? -> '아스키코드' 이용) 이렇게 생각을 했다. 내가 앞서 생각한 방식 int answer = 0; for(int i =0; i57 || (int)a 기존에 생각 했던 부분은 그냥 문자를 계속 더해주는 것... -> (실패) answer = answer*10..

Day.23 예외를 상위에서 처리하는 이유?

2022.05.15 - [Language/Java] - 예외 처리(Exception) 과거 예외처리 관련 정리를 한 적이 있다. 이 속에서 예외와 에러 그리고 예외처리에 대해 간략하게 학습을 했었는데, 다시 한번 정리하면 에러는 프로그램 자체나 하드웨어, JVM에 문제가 생겼을때 발생하며, 예외는 잘못된 조작이나 코드로 인해 예기치 못한 오류가 발생하는데,이 예외가 발생하면 프로그램이 종료되는 부분이 있으나 예외처리를 통해 정상적으로 동작되게 만들어 줄 수있다. 하위 클래스들은 왜 상위 클래스로 예외처리를 해야할까? 이렇게 하지 않으면 예외처리를 했음에도 main에서는 exception을 전달받지 못해서 예외를 인지하지 못하는 경우가 발생한다. 그래서 상위 클래스로 예외를 전달하면서 예외가 발생했음을 알..

Day.22 객체지향설계 SOLID 원칙

2022.11.28 - [기술면접 관련 및 참고하기] - 객체 지향의 SOLID 원칙 객체 지향의 SOLID 원칙 참고 : 스프링 입문을 위한 자바 객체 지향의 원리와 이해 객체지향하면 SOLID 원칙이 자연스레 따라나온다. 이 내용을 뭔가 너무 간단하게만 알고 있어서 항상 '아, 그렇구나' 라는 느낌만 있었는 jipang9-greedy-pot.tistory.com 오늘 프로젝트를 거의 마무리하고 객체 지향 관력 학습 도서를 읽으면서 객체 지향의 SOLID 원칙에 대해 이해하고 학습하는 시간을 갖게 되었다.

객체 지향의 SOLID 원칙

참고 : 스프링 입문을 위한 자바 객체 지향의 원리와 이해 객체지향하면 SOLID 원칙이 자연스레 따라나온다. 이 내용을 뭔가 너무 간단하게만 알고 있어서 항상 '아, 그렇구나' 라는 느낌만 있었는데, 오늘 이 객체 지향 관련 학습을 하면서 정리해보려고 한다. 1. 단일 책임 원칙 SRP(Single Responsibility Principle) "어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다" 말 그대로 하나의 책임(기능)만을 가지게 끔 설게하는 것이 단일 책임 원칙이다 설명 Java에서 클래스를 정의할 때, 그 클래스가 제공하는 기능들을 마구잡이로 구현하기 마련인데, 이는 잘못된 방식이다. 그래서 이 원칙에 따라 역할(책임)을 분리하여 설계하는 방식을 통해 책임의 영역을 확실히 하게되면 ..

내배캠-4주차 WIL (2022.11.21~2022.11.27)

FACTS ( 일주일 동안 발생한 일, 그리고 내가 한 일 - What i did this week ) 프로젝트 시작 선택과 집중 어떻게 하면 좀 더 객체지향스러울 수 있을까? CS 지식 흡수하기 FEELINGS ( 나의 생각, 감정, 반응 - Everything i felt mentally ) 고민 코드에 대한 선택과 집중 어지러움 아 이렇게도 짤 수 있구나 FINDINGS ( 내가 얻은 것, 배운 것, - I learnd) CS 지식 객체지향스러운 코드 FUTURE ( 배운 것을 미래에는 어떻게 적용할 지 - Step to the future) 더욱 객체 지향스럽고 논리적인 코드를 작성하자. Week TIL 2022.11.21 - [Language/Java] - 객체 지향적 설계? 2022.11.21..

WIL(Week I Learned) 2022.11.28