본문 바로가기

전체 글233

10주차 어느덧 10주차에 접어 들었다. 프로젝트를 하면서 여러 문제가 많이 발생하는것 같다. 그것이 코드가 될 수도 있고 사람이 될 수도 있는 것 같다. 여러사람들이 모여서 프로젝트를 해 나가다 보면 충돌이 일어날 수도 있을것 같다. 프로젝트를 시작하면서 부리더를 맡아서 좋은 분위기에 팀을 이끌어보자고 마음 먹었지만 항상 모든일은 내맘데로 되지 않듯이 이것 또한 쉬운일은 아닌것 같다는 생각이 들었다. 어떻게 하면 좀 더 부드럽게 팀원들을 이끌어 가야할지 고민을 많이 했던 한주였다. 사회에 나가보면 다양한 사람들이 존재 할 것이고 그때마다 목소리를 높이면서 싸울수는 없는 일이다. 어떻게 하면 현명하게 이상황을 대처해 나가야할지를 고민하는것도 큰 공부인것 같다는 생각이 들었다. 팀원의 말투가 불친절할때 왜 저렇게 .. 2022. 11. 28.
OAuth2 카카오 로그인 소셜 로그인 탄생 배경 - 모든 웹 사이트에서 회원가입 과정을 거치는 것은 사용자에게 부담이 된다. - 매번 번거로운 회원가입 과정을 수행해야 할 뿐 아니라, 웹 사이트마다 다른 아이디와 비밀번호를 기억해야 한다. - 또한 웹 사이트를 운영하는 측에서도 회원들의 개인정보를 지켜야하는 역할이 부담이 된다. - 이런 문제를 해결하기 위해 OAuth를 사용한 소셜 로그인이 등장함 OAuth 란? OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용되는, 접근 위임을 위한 개방형 표준이다. 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP .. 2022. 11. 28.
offset 오프셋 (컴퓨터 과학) 컴퓨터 과학에서 배열이나 자료 구조 오브젝트 내의 오프셋(offset)은 일반적으로 동일 오브젝트 안에서 오브젝트 처음부터 주어진 요소나 지점까지의 변위차를 나타내는 정수형이다. 이를테면, 문자 A의 배열이 abcdef를 포함한다면 'c' 문자는 A 시작점에서 2의 오프셋을 지닌다고 할 수 있다. 어셈블리어와 같은 저급 프로그래밍 언어에서 오프셋은 상대 주소(relative address)로 부른다. 2022. 11. 28.
queryDsl, jpql 차이점 package com.sparta.querydsl.entity; import com.querydsl.jpa.impl.JPAQueryFactory; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import java.. 2022. 11. 22.
queryDsl 기본 테스트 코드 테스트 코드 package com.sparta.querydsl.entity; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Commit; import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import javax.persistence.PersistenceCont.. 2022. 11. 22.
9주차 실전프로젝트에 들어와서 7주차 8주차 wil을 작성하지 못하였다. 실적프로젝트를 하면서 시간이 없었기도 했지만 사실상 핑계인것 같다. 꾸준히 블로그에 글을 올리지 못한것이 사실 아쉽다. 실전프로젝트의 부리더를 맡아서 처음에는 기획한 프로젝트가 버겁게 느껴지기도했지만 팀원들과 소통하면서 문제를 해결하고 하나하나씩 API를 구현해 나가니깐 구현해나가는 재미를 느꼈다. 팀원들과 소통하면서문제를 하나하나 해결해 나가면서 내스스로 성장하는것을 느꼈고 코딩하는것에 대한 즐거움을 많이느낀 한주였다. 이번주는 트러블 슈팅 위주로 wil를 작성했다.앞으로 있을 MVP 발표와 최종 발표 까지는 트러블 슈팅이나 리팩토링 관련해서 올릴것 같다. 자기가 맡은 부분을 잘 해결해주는 팀원들과 기능구현에 있어 시간을 재촉하지 않았던.. 2022. 11. 22.
Unsupported Media Type, status 415 @RequestPart로 데이터를 입력할때 json형식으로 보내는 데이터 타입은 CONTENT Type에서 applicationJson으로 바꿔줘야한다. 2022. 11. 14.
java.lang.StackOverflowError: null 스프링으로 실전 프로젝트를 개발하던 중 해당 오류가 나왔다. 해당 오류는 JAVA에 Json 타입 변환 과정 중 일어난 오류이다. 이는 테이블과 테이블이 연관 관계에 있으며 이를 mode.addAttribute 메소드를 통해 데이터를 Front로 보낼때 Json으로 변환 과정중에 무한으로 참조가 순환되어 일어나는 오류로 간단히 해결할 수 있다. 문제 @Entity @Getter @AllArgsConstructor @NoArgsConstructor @Builder public class Theme { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // @Column(name = "theme_id") public Long id; @JsonIgnore @M.. 2022. 11. 12.
@RequestParam, @RequestBody 2022. 11. 5.
Spring Sockets WebSocket - 사용자의 브라우저와 서버 사이이 인터렉티브 통신 세션을 설정할 수 있게 하는 고급 기술이다. - 개발자는 웹 소켓 API를 통해 서버로 메시지를 보내고 서버의 응답을 위해 서버를 폴링하지 않고도 이벤트 중심 응답을 받는 것이 가능합니다. - Socket Over HTTP (ws://...or wss://...) -> http상에 존재함(http 기반이다) - IE10+ (Can use pure WebSocket javascript library) SockJS - Like socket.io( NodeJS) Polyfill - IE 8+ (Use sockjs-client library) - STOMP(Streaming Text Oriented Messaging Protocol) : 토픽.. 2022. 11. 5.
CPU, 메모리, 레지스터 2022. 10. 31.
예외처리 문제 정답 1. Throwable class ArrayCalculation { int[] arr = { 0, 1, 2, 3, 4 }; public int divide(int denominatorIndex, int numeratorIndex) throws ArithmeticException, ArrayIndexOutOfBoundsException { return arr[denominatorIndex] / arr[numeratorIndex]; } } public class Main { public static void main(String[] args) { ArrayCalculation arrayCalculation = new ArrayCalculation(); System.out.println("2 / 1 = " +.. 2022. 10. 31.
예외 처리 문제 문제 1. 1. 자바에서는 상속을 이용해서 모든 예뢰를 표현한다. 모든 예외 클래스는 ( )의 자손 클래스 이다. 문제 2. divide() 함수는 매개변수(parameter)에 들어오는 값에 따라서 ArithmeticException과 ArrayIndexOutOfBoundsException 이 발생할 수 있다. Main 함수에서 try-catch 문을 이용해서 , 다음 동작을 구현하세요. a. ArithmeticException 이 발생할 대는 잘못된 계산임을 알리는 문구를 출력하세요. b. ArrayIndexOutOfBoundsExceptin 이 발생할 대는 현재 배열의 index범위를 알려주는 문구를 출력하세요 class ArrayCalculation { int[] arr = { 0, 1, 2, 3.. 2022. 10. 31.
6주차 이번주에는 프로젝트를 하다보니깐 협업 도구인 git에 대한 공부를 많이 한것 같다. https://1sangcoder.tistory.com/151 git 시작 깃(Git /ɡɪt/)이란? 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. 또는 이러한 명령어를 1sangcoder.tistory.com https://1sangcoder.tistory.com/152 git 동작원리 기본적으로 깃(Git) 프로젝트에 담겨 있는 데이터들은 파일 시스템 상에서의 스냅샷이라고 볼 수 있다 . 실제로 프로젝트를 커밋하여 적용할 때의 순간을 중요시한다는 특징이 있습니다. 파일 자 1sangcoder.tistory.com htt.. 2022. 10. 31.
kafka 기본 2022. 10. 30.