프로그래밍 60

백엔드 오답노트 2 Test란?

백엔드에서 진행하는 테스트는 종류가 많다. 유닛테스트, 통합테스트등 하나씩 알아가 보자. 단위테스트란? - 외부에 의존성이 없는 소프트웨어 단위 테스트 BDD - Given - When - Then 통합테스트란? - 둘 이상의 시스템요소를 통합한 테스트 Mock 테스트와 Stub 테스트의 차이는 무엇일까? 우선 각 용어를 알아보자. Mock : 예상되는 기대값, 미리 프로그래밍 객체 Stub : 테스트 중에 만들어진 호출에 미리 준비된 답변 음... 이것만 봐서는 잘 모르겠다. 큰 차이점만 본다면 Mock 은 Behavior verification 행위검증 : 메소드의 리턴값으로 판단할 수 없는경우, 특정 동작을 잘 수행했는지 Stub 는 State verification 상태검증 : 객체의 상태를 확인..

카테캠 백엔드 2단계 리뷰

23.06.26 ~ 23.08.04 6주차 과정 카테캠 2단계는 클론코딩과정이다. 카카오 쇼핑 어플리케이션의 주어진 내용들을 과제를 따라 순차적으로 구현하자. 월~금 매일 10시 접속 월요일은 출석체크및 공지만하고 2시~6시 실시간 강의 나머지 요일은 팀원들과 스크럼이후 각자 코딩 금요일 과제 제출 중간중간에 저녁에 Live 특강 이런식으로 진행된다. 큰 주제들은 다음과 같다. 1주차 화면 분석 및 테이블 설계 2주차 스프링 세큐리티, JWT, reflection, 톰캣, 쿼리문작성법 등 3주차 DTO, JPA 4주차 DTO 유효성검사, 단위테스트 5주차 AOP, 통합테스트 6주차 배포 얼핏 보기만해도 내용이 많다. 개인적으로는 어느정도 이해한 부분은 있었지만 완벽히 이해했다고는 생각하기 어렵다. 클론코..

백엔드 오답노트 1 JWT, RestAPI

JWT란 무엇인가? Json Web Token 로그인 때 사용하는 토큰 관련 인증 Header + PayLoad + Signature 헤더 내용 서명 헤더 : 해시 알고리즘, 타입의 값 페이로드 : 보내는 데이터 key value key -> claim ( registed, public, private ) 서명 : HMAC SHA 256 ( 비밀 코드 ) 사용 처 : 토큰으로 해당 요청이 유효한지 확인 검증된 사용자인지 아닌지 전달 방법은 구글 검색후 이미지 확인 RestAPI란 무엇인가? REST -> Representational State Transfer 자원을 이름으로 정보를 주고받는 모든것 (여기까지는 아는듯) 개념 : HTTP URI를 통해 Resource를 명시하고 HTTP Method( P..

Spring 공부중 생긴 여러가진 의문점과 그에 대한 답변 및 정보

1. DTO와 DTO로 만드는것의 차이 DTO : 데이터 전송 객체로 프로세스 사이에서 데이터를 전송하는 객체 요구사항에 따라서 필요한 데이터만 뽑아내는게 DTO 전체 객체를 보일때는 class를 쓴다. 2. setOption() 얘는 만든적도 없는데 어디서 온걸까? @Setter 어노테이션에서 제공하는 기능 3. 영속성이란 무엇이고 왜 쓰는건가? 영속성 : 데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성 persistence context 영속성 컨텍스트 : 엔티티를 영구 저장하는 환경 영속성 컨텍스트 장점 1. 1차 캐시 : 굳이 db까직 가서 검색을 안해도된다. 2. 쓰기 지연 : 커밋하는 순간에 한번에 sql을 보낸다. 3. 변경 감지 : 수정시 따로 업데이트나 저장을 안한다. ..

4학년 1학기 플젝 리뷰[가상현실]

1학기에 서로 다른 장르의 게임을 2개를 만들어야 되는 현실을 마주하게 되었다. 현실이 가상현실인 것 같았다. 한가지는 캡스톤프로젝트의 게임개발 이었고 두번째는 가상현실수업의 term project였다. 상대적으로 주어지는 시간도 짧고 좀더 가벼운느낌이었는데 2명이 1팀으로 게임잼하듯 빠른 시간에 간단한 게임 개발을 하였다. 수업시간에 유니티를 조금 배우지만 다른 팀원 1명은 유니티를 처음 배워서 개발하는데 시간이 조금 걸렸다. 용량이커서 유튜브 사용 https://youtu.be/pr8Offp2SQg https://github.com/sjmjys954646/unirun GitHub - sjmjys954646/unirun Contribute to sjmjys954646/unirun development ..

캡스톤 게임개발 이야기 3(최종)

1달동안 정신없이 만들다 보니 완성하고 어떻게 만들었는지 정리 해보게 되었다. 완성은 약 2주정도 전에 됐고 졸업논문 작성 및 다른 과목 플젝 진행하느라 시간적 여유가 없었던 것같다. 플레이영상은 용량이 커서 유튜브에 올려놨다. 스케일이 작아서 그런가 연산량이 많아 보이지는 않았다. 대단한건 없으니 기대하진 말자. https://www.youtube.com/watch?v=tda-RyE9DS4 만들 때 마다 들었던 생각인데, 발디의 수학교실을 만들고 있는것 같았다. 차라리 공포게임 장르로 갔으면 어땠을까... 가성비도 좋을것 같기도하고. 최종보고서 작성하면서 개발 했던 내용을 정리 했다. https://github.com/sjmjys954646/Capstone2_game GitHub - sjmjys9546..

현재까지 진행사항 (2023.05.25)

카카오에서 진행하는 카테캠(카카오테크 캠퍼스) 1기 합격이후 로드맵따라가기는 일시 중지하였고 스프링 강좌 역시 카테캠에서 준비한 강좌들을 학습하고 있다. 주마다 특정 온라인 강의들을 학습해야하는데 자바 기초 -> 자바 심화 -> 스프링 순서대로 학습중이다. 자바에 해당하는 부분은 c++과 유사하여 크게 어렵게 느끼지 않았지만 문제는 스프링인것같다. 인프런에서 일부 학습하고 가긴했지만 적은기간동안 더 많은 양을 학습하는 것도 있고 학습한 것을 실전에서 사용해보지 않아 기억에 오래 남기 어려웠다. 추가로 학습해야될 내용을 적어보자면 - MVC 패턴 - JSP, Servlet 이란? - @RequestParam - @ModelAttribute - @RequestMapping 등의 내용들을 더 알아나가야한다. ..

알고리즘 풀이정리

알고리즘 문제풀이3를 하려다 문제를 맞이해서 문제정리로 바꿨습니다. 기존에는 푼 문제를 모두 그냥 한 폴더에 박아넣고 있었는데 깃허브 에서 1000개이상은 한번에 보여줄 수 없다는 바람에 왜 사람들이 1000개 단위로 묶어서 폴더를 관리했는지 새삼 깨닫게 되었습니다. 이전에 올렸던 포스팅도 다시 링크를 재배치 해야 될것같습니다. import os import shutil os.chdir("D:\Algorithm") """ for i in range(1000,30001,1000) : os.mkdir(f'boj{i}-{i+999}') # 폴더 생성 """ src = 'D:/Algorithm/' files = os.listdir(src) for f in files: if f[:3] != "boj" : cont..