백엔드 87

JAVA_자료구조_스텍(Stack)

자료구조 자료구조란 쉽게 말해서 일종의 주머니다. 우리가 intm String등등의 자료를 사용 했는데 이들 모두 자료구조의 일종이다. 한개의 값을 가질때는 단순구조인 int, char 형 변수 등이 사용되고, 여러개의 값을 가질 때에는 배열로 짤짤이로 다 저장 가능하다. 우리가 담으려는 데이터에 따라 그에 맞게 담기는 부분이 더 적합한게 있다는 소리다. 쉽게 비유하면, 자료 = 데이터 = 물건 자료구조는 물건을 담는데 적합한 형태를 띄는 주머니의 형태라고 보면된다. 하나하나 담고 싶을때는 칸칸이 나뉘어진 통에, 짤짤이로 담는 파츠 케이스 뭉탱이로 담고싶으면 포대를 쓰는 것 처럼 밀가루를 짤짤이로 담지 않는다, 포대를 쓴다 담고자 하는 물건 (데이터)에 따라 적합한 주머니(자료구조)가 따로있다! 라는것만..

JAVA_재귀함수

재귀함수 재귀함수, 이름만 보면 재귀? -> 반복? -> 돌아온다고? 재귀함수는 자기자신을 호출하는 함수다. 잉? 뭔 말이냐고? 먼제, 쉬운 비유를 의해 뱀 한마리를 등장시키겟다. 비얌이에여유 뱀은 어떤식으로 생겼는가? 원래 제멋대로 생기긴 했지만 일단 머리에서 뻗어나온 몸통, 그리고 꼬리로 이루어져 있다. 머리 방향으로 돌아댕기는 뱀 뱀은 움직일 때 머리 방향으로 꿈틀꿈틀 겨댕기는데, 머리 - 몸통 - 꼬리 순으로 꿀렁꿀렁 기어간다. 이때, 뱀을 메서드로 대입하면 머리 : 메서드 헤드부분 몸통 : 메서드 바디부분 꼬리 : 메서드 끝부분(?) 으로 볼 수 있다. 뱀이 기어간다. = 메서드가 실행된다. 라고 생각하자 그런데 만약 뱀이 신나게 기어가다가 유턴해서 자신의 꼬리쪽으로 달려가면 오? 위와같이 꼬리..

코드스테이츠 수강_15주차 5일차 ~16주차_1~2일차_Spring Security 기초

코드스테이츠 수강 16주차 1일차에는 Spring Security 기초에 대해 배웟다. 1. Spring Security란? 이전까지 우리가 실습한 프로젝트에서는 사실 로그인 기능이 없었다. 그냥 회원등록, 주문등록 등의 API을 HTTP요청에 따라 보내기만 하면 데이터베이스에 반영되게끔 했었다. 당연히 이 상태로 두면 누군가 이 프로젝트에서 사용하는 맴버변수명만 알면 이것저것 등록해서 지금까지 잘나가던 마카롱집 메뉴판을 덕춘할매 양갱집처럼 바꿔버릴 수도 있다는 것이다. 이를 방지하기 위해 보안 기능이 필요하다. 스프링에서는 자체적으로 Spring Security를 제공한다. Spring MVC기반의 애플리케이션 인증과 인가(권한 부여)기능을 지원하는 보안 프레임 워크이다. 사실상 Spring MVC기반..

코드스테이츠 수강_15주차_4일차_인증, 보안 기초

코드스테이츠 수강 15주차 4일차에는 인증, 보안 기초에 대해 배웟다. 1. HTTPS 지금까지 실습을 하거나 뭐든 웹 뮈시깽이를 할 때 우리는 HTTP 요청으로 이를 처리했다. 그런데 HTTPS는 뭐냐 싶을 수 있는데, 생각보다 다행히, 크게 다르지 않다. 그냥 뒤에 S 붙은 차이다. S가 뭐냐고? Secure Socket layer 라고 한다. 시큐어.... 보안 뭐시기 아니냐? ...어...맞어 그러면 차이 큰거 아님? 아직 기초라서 그렇게 다르지 않으니 괜찮다. 어려운 부분을 하는건 지금의 내가 아니다. 미래의 나다 오늘은 기초만 보고 가자. 암호화 우리가 아이디, 비밀번호를 입력해서 로그인 할때, 누군가 중간에 가로채서 볼 수 있다면 싹다 털리는거다. 실제로 우리가 실습할때, 단순히 우리가 사용..

[회고]코드스테이츠 수강_15주차_3일차 부스트캠프 3달 경과

*** 이 글에는 부정적인 사고방식이 나타나고 있습니다. 오늘 하루, 깔끔한 하루로 마무리 하고 싶으시면, 이 글을 닫아주십쇼. **** 내가 왜 SW로 전향 했는지, 왜 그만 둿는지 종종 잊을 때가 있어서, 그럴때마다 보려고 쓴 글입니다. 문장에 두서가 없고, 뭔가 생갹된거 같을 수 있는데 이해해 주시기 바랍니다. 부스트 캠프 드간지 3달이 경과했다. 6개월짜리 코스인데 벌써 반이나 했다. 퇴사한지는 벌써 4달? 5달? 시간이 참 빠르구나 한다. 이전 회고록에는 몸이 벌크됫다고 했는데, 지금은 좀 정체기인지 여튼 체중이 조금 줄어들엇고, 최대중량은 낮아지진 않앗는데 횟수를 많이 못치는 중이다. 개인적으로 집안에 가족들이 잠깐 떠나서 한달간 혼자 살았는데 너무 좋앗다. 직접 짜장면도 만들어먹고 칼국수도 ..

코드스테이츠 수강_11주차_3일차~_12주차_1일차 Spring Data JDBC , DDD

코드스테이츠 수강 11주차 3일차~12주차 1일차에는 Spring Data JDBC에 대해 배웟다. 실습 위주라서 이거를 어캐 써야하나... 싶어서 그냥 안쓸려다가 개념만 쓰기로 했다. (실습코드를 올리기에는 너무 길고 많다. / 일부분 생략하면, 이 글을 보고 실습이 불가능하다. / 아마 핵심적인 부분만 코드로 보여주는게 나을 것 같다.) 1. JDBC란? JDBC(Java Database Connectivity)는 JAVA 기반 "애플리케이션 코드레벨"에서 사용하는 데이터를 데이터 베이스에 저장, 업데이트를 수행하거나, "데이터베이스"에 저장된 데이터를 JAVA 코드레벨에서 사용할 수 있도록 해주는 표준사양이다. 요약하면 JAVA코드 데이터베이스 이렇게 둘다 사용 가능하게 중간..

코드스테이츠 수강_11주차_1~2일차_Spring MVC 서비스 계층, 예외처리

코드스테이츠 수강 11주차 1일차에는 Spring MVC 서비스 계층에 대해 배웟다. 서비스란? 애플리캐이션에서 서비스란 도메인 업무 영역을 구현하는 비즈니스 로직과 관련이 있다. 비즈니스 로직을 처리하는 부분 -> 서비스 계층이라는 말인데, 서비스 계층은 대부분 도메인모델을 포함하고 있다. 도메인 모델은 다시 빈약한 도메인 모델, 풍부한 도메인 모델로 구분되는데, 이는 차차 배우면서 알게 된다고 한다... 그냥 "서비스" 하면 비즈니스 로직을 처리하는 서비스 클래스 라고 생각하자. 일단 우리가 사용할 "모델" 인 멤버 클래스 @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Member { private long memberId; ..

코드스테이츠 수강_10주차_5일차_Spring MVC(API계층_DTO)

코드스테이츠 수강 10주차 4일차에는 DTO에 대해 배웟다. DTO란? DTO는 Data Transfer Object의 줄인말로, 데이터 전송 객체 라고 보면된다. 뭔말이냐고? 데이터를 "전송"하는 것만 따로 클래스든 인스턴스든 만들어서 담당하게 한 "객체"라는 것이다. DTO가 왜 필요하냐? 앞서 우리가 spring MVC 에서 배운 컨트롤러에 뭔 로직(메서드 핸들러 등)을 넣는다고 했는데, 거기에다가 그냥 전송하는 기능을 넣으면 그만 아닌가? 라고 할 수 있다. 그런데 이렇게 되면 문제가 생긴다. 기본적으로 뭐 손님의 이름, 이메일, 전화번호만 데이터로 저장하다가, 성별, 나이, 주문 성향 등의 정보까지 넣어서 상품을 추천하는 기능을 수행한다고 치자. 이렇게 되면 컨트롤러 부분에 성별, 나이, 주문 ..

코드스테이츠 수강_10주차_4일차_Spring MVC, Controller (API계층)

코드스테이츠 수강 10주차 4일차에는 Spring MVC, Controller 에 대해 배웟다. 1. Spring MVC 스프링에는 웹 계층을 담당하는 여러가지 모듈이 있다. 그중, 서블릿(Servlet)API기반으로 클라이언트 요청을 처리하는 spring-webmvc가 바로 Spring MVC 이다. 뭔소리냐고? 그냥 Spring MCV라는애가 있는데 API쓸때 편하게 쓸 수 있게 해준다 이거다. ** 서블릿이 뭐냐 할 수 있다. 서블릿은 Java로 작성하는 클래스 파일인데, 클라이언트 요청을 처리하는 규약이 있다. 스프링에서는 톰캣을 쓰는데, 톰캣이 서블릿을 쓴다 -> 스프링 내부에 톰캣이 동작하는데, 톰캣이 서블릿을 사용한다 이말이다. Model Spring MVC 의 M이 모델이다. 웹 어플리캐이..

[회고]코드스테이츠 수강_10주차_3일차 부스트캠프 2달 경과

*** 이 글에는 부정적인 사고방식이 나타나고 있습니다. 오늘 하루, 깔끔한 하루로 마무리 하고 싶으시면, 이 글을 닫아주십쇼. **** 내가 왜 SW로 전향 했는지, 왜 그만 둿는지 종종 잊을 때가 있어서, 그럴때마다 보려고 쓴 글입니다. 문장에 두서가 없고, 뭔가 생갹된거 같을 수 있는데 이해해 주시기 바랍니다. 부스트캠프 드간지 2달이 경과했다. 공교롭게도, 부스트캠프 시작일이 8월 19일이었는데, 지금은 10월 19일이니, 진짜 딱 두달 됫다. 일단. 1달전과 비교하면 몸이 많이 벌크됫다. 이두, 삼두 운동도 추가하고, 중량도 올리다보니 주변에서 얼굴하고 몸이 안어울린다고 한다. 친구가 하는 말이 "근육있는 아저씨 몸에 흰둥이 얼굴 붙여놓은 것 같다."라고 한다. 문제는, 체지방도 좀 남아서 군살..