전체 글79 취업스터디(6) 1. 트랜잭션이 무엇인가 트랜잭션이란 더보기 데이터 베이스의 상태를 변경시키기 위해 수행하는 작업단위이다. 데이터 베이스의 상태 변경은 insert, update, delete와 같은 행동을 말한다. 트랜잭션을 정의하는 4가지 중대한 속성ACID 더보기 원자성Atomicity 트랜잭션의 모든 연산은 원자적 단위로 간주 원자성은 트랜잭션의 연산들이 모두 성공적으로 완료되거나 어떤 연산도 수행되지 않은 상태로 롤백 되는것을 보장하므로 데이터 손상을 방지한다. 일관성Consistency 트랜잭션이 일어난 이후의 데이터베이스는 데이터 베이스의 제약이나 규칙을 만족해야한다는 뜻이다. 고립성Isolation 한 트랜잭션이 다른 트랜잭션에서 변경한 데이터 볼 수 없도록 하여 트랜잭션 간의 데이터 일관성을 유지시킨다... 2023. 7. 26. 취업스터디(5) 1. Spring에서 사용하는 Rest Client 란? Rest Clients Rest API서버에 HTTP 요청을 보낼 수 있는 클라이언트 툴 또는 라이브러리를 말한다. 즉, HTTP 통신할 수 있는 Rest한 Client 이다. Spring에서는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 RestTemplate를 내장클래스로 지원한다. 스프링 프레임워크는 REST 엔드포인트를 호출하기 위해 다음과 같은 선택 사항을 제공한다. 1. WebClient 더보기 : non blocking I/O 기반의 Asynchronous API (비동기식) 이다. => 비동기식이기 때문에 동기 방식 보다 빠르다 특징 spring 5.0에서 추가된 인터페이스 싱글 쓰레드 방식 사용 2. RestTemplat.. 2023. 7. 25. 의존성 주입 방법 1. 의존성 주입 방식 세가지 (생성자, setter, field)에 대해서 예제 코드와 함께 이론 정리 의존성 주입 : 객체지향 프로그래밍에서의 디자인 패턴 중 하나로, 한 객체가 다른 객체를 사용하는데 필요한 의존성을 외부에서 주입 받는 방식이다. 클래스끼리 느슨한 결합을 가능하게 하여, 코드의 유연성을 높여준다. 더보기 객체지향 프로그래밍에서 "의존성" 이란? 하나의 객체가 다른 객체의 동작이나 상태에 의존하는 관계를 말한다. 객체 A가 객체 B의 메소드를 호출하거나 객체 B의 상태를 읽거나 변경하는 경우 객체 A는 객체 B에 "의존한다"라고 한다. • field 주입 의존성을 주입하고자 하는 필드에 @Autowired 어노테이션을 붙여 직접 의존성을 주입하는 방법이다. 간단하지만, 객체가 항상 완.. 2023. 7. 21. 취업스터디(2) 1. DI(Dependency Injection) 에 대한 설명과 해당 기술의 장점에 대해 설명해주세요. DI란 더보기 객체 간의 의존성을 외부에서 주입하는 방식 스프링 컨테이너에서 객체의 Bean을 먼저 생성해두고 생성한 객체를 지정한 객체에 주입하는 방식이다. =>장점 제어의 역전 원칙하에 객체간의 결합을 약하게 만들어 유지보수가 좋은 코드를 만들어준다. 또한, 의존성 주입은 개발자들이 객체를 생성하는 번거로움을 줄여준다. 주입방식 더보기 1. 필드 주입 2. 세터 주입 3. 생성자 주입 2. Spring MVC 에서의 예외 처리 기법에 대해서 설명해주세요. Spring MVC 의 예외 처리 기법 더보기 HandlerExceptionResolver (ExceptionResolver) 컨트롤러 밖으로 .. 2023. 7. 21. 취업스터디(1) 1. 객체지향 프로그래밍(OOP)에 대해 설명해주세요. 알고 있는 원칙이나 키워드를 언급해주세요 객체지향 프로그래밍이란 (Object Oriented Programming) 더보기 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍의 장점과 단점 더보기 장점 코드 재사용 용이 : 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다 => c언어는 안 되는건가? 유지보수가 쉽다 : 객체 지향 프로그래밍에서는 행동이 클래스 또는 메서드 단위로 나뉘어져 있기 때문에 해당 부분만 수정할 수 있다 (절차지향 언어의 경우 코드 수정 시 일일이 찾아 수정해야한다) 중복된 코드 제거.. 2023. 7. 20. 95일차에 쓰는 항해 99 후기 수료식은 내일 항해는 4일 남아있는 현재 항해 후기를 작성하려고 한다. (먼저, 항해 관계자분들께 죄송합니다) 일단 솔직하게 말한다면, 나는 백엔드 프론트엔드가 뭔지 모른다? 국비지원이나, 개인 공부를 하세요. 항해 99하지말고.! 내가 이런 사람이 었다 ㅎㅎㅎ 근데 저 정도로 모르는 사람이 개인 공부가 가능할까?? 난 못해서 항해 신청한거다. 항해에서 처음으로 자바, 스프링 공부하는 사람들도 꽤나 많았다. 이번 14기에서는 스프링반이 60명인가 70명정도 였는데, 내가 느끼기에 항해에서 말하는 Nobase 인 사람들 중 극히 일부, 즉 3~5명 정도만 급성장하였다. (물론 내가 스프링반 모든 사람들과 아는건 아니지만) 그 이외에 이미 개발직군에 있다가 온 사람들도 있었으며, 전공을 한 사람들도 꽤나 있.. 2023. 7. 6. Today I Learned JPA 강의를 듣기 위해서 h2를 설정해야하는데 안 됨.. ㅠ ㅠ 1. Unsupported database file version : 이런 에러가 뜸 열심히 찾다가 도저히 안 되겠어서 버전을 강의와 똑같이 맞췄다 (2.2.220 -> 1.4.XX) 2. File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199] : 그 다음 에러는 이거 열심히 또 찾는데 test.mv.db 라는것이 이미 저장 되어있어서 연결이 안 되는 것 https://www.inflearn.com/questions/760880/jpa-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%98%A4%EB%A5%98 jpa.. 2023. 7. 5. 항해 99 WIL(12) 이제 거의 막바지에 다다른 항해.. 나는 아무것도 된게 없는데 덜렁 사회에 나온 사람이 된다..!!! 취업 되기 전까지 무엇을 어떻게 공부해야할 것인가 생각을 해봐야겠다. 실전 프로젝트에서 내가 맡은 기능 - 회원가입, 로그인, 매칭 회원가입과 로그인 해본 적이 없어서 먼저 하겠다고 나서봤다 :) 그런데 회원가입, 로그인이 안 되면 다른 기능을 시작할 수 가 없어서 처음에 아주 고달팠다. 시간을 갖고 이해하면서 만들 시간을 주지 않았다 ㅎㅎㅎㅎㅎㅎ 후다닥 지나간 것이 아쉽기만하다. 그리고 리프레시 토큰을 redis 에 넣엇지만 30분만에 사라지는걸 볼 수 있었다. 며칠을 고민하였다. (한 이주?) redis 시간 확인, 서버 시간 확인, config 수정 온갖 방법을 동원해봤지만 역부족.. .. 다른 조.. 2023. 6. 25. 항해 99 WIL(11) 이제 항해도 거의 막바지에 이르렀다. 두번만 쓰면 끝....... ㄷㄷㄷㄷㄷㄷ 나는 아직 덜 자랐는데 사회에 내던져지는 느낌이다! ㅠㅠ 완벽한 때라는건 없겠지만, 아직도 내 실력에 자신감이 없어서 불안하다 ㅎㅎㅎㅎㅎㅎ 이번 금요일에 우리조 moment 유저테스트를 시작 했다!! 아직 기능이 완벽하게 구현되지 않았고, 추가하고 싶은 기능이 우후죽순 생겨나고 있는 상황에서 시작하려니까 이래도 되나 싶었다 ㅎㅎㅎㅎ 그래도 시작하고, 칭찬도 아쉬운 점도 많이 들어서 더 나은 방향으로 갈 수 있어 좋다! :) 사실 백엔드는 페이지에서 보여지는 것이 없기 때문에 피드백을 많이 못 받아서 아쉽기는한데........ 우리 리더님(규동리더님)이 아주 잘하셔서 코치님의 채점도 아주 높게 나왔다 :) 나만 잘하면 돼~~~~.. 2023. 6. 18. 이전 1 2 3 4 ··· 9 다음