Flask route 란? Flask route 란 웹 브라우저를 통해 접속 했을때 어떠한 도메인으로 접속하는냐에 따라 return 값을 웹 브라우져에 주는것이다. 즉, 웹 브라우져는 클라이언트를 뜻한다. 밑에 예시를 보면 이해가 된다. @app.route('/') def home(): return render_template('index.html') render_template 는 html 를 주기 위한 함수라고 생각하면 편하다. / 도메인에 접속을 하면 index.html 을 클라이언트에게 준다. 또한 @app.route('/'. methods=["POST"] 이런 형식으로 POST GET 등을 정할수 있다. 하면서 느낀점은 Spring 에 있는 Controller 의 @RequestMapping 과..
Flask 란? 쉽게 말하자면 Python Web Framework 라는 것이다. 파이썬에게 웹 프레임워크는 장고가 있지만 Flask 도 존재한다. 매우 가볍게 공부하고 배포 할수 있다는 점이 좋았다. Flask 설치 및 설정 저는 VS Code를 이용하여 Python 을 설치하고 그 안에서 venv 가상파일을 설치하고 python -m venv venv pip install flask 를 통해 설치 하였다.
JUnit5 자바 단위 테스팅 프레임워크. 공식 문서 : https://junit.org/junit5/docs/current/user-guide/#writing-tests 공식문서 : https://www.petrikainulainen.net/programming/testing/junit-5-tutorial-writing-parameterized-tests/ @Test : 테스트 매서드임을 나타낸다. @DisplayName : 테스트 클래스 또느 매서드의 사용자 지정 이름 아래에 예시 @DisplayName("패스워드 검사기") @Test void validatePasswordTest() { } @ParameterizedTest : 파라미터로 값 가져오기. @ValueSource( strings = {"..
JPA 란? ORM 기술 표즌으로 사용하는 인터페이스 모음 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA 를 구현을 해야한다. Entity JPA 는 기본적으로 entity 가 존재하고 repository 가 존재한다. 그중 entity 에서의 어노테이션에 대해 알아보자. @Entity : 나 entity 이야 라고 선언한것 @Table : 테이블 이름을 지정할수 있음, 지정 없을때는 클래스명이 테이블명이 됨. @Index : 테이블에서 데이터 검색 작업의 속도를 향상시키는 데이터 구조. @Table(indexes = { @Index(columnList = "content"), @Index(columnLis..
항해99 첫걸음 항해99에 합격하고 군적금을 통해 수강비를 지불하여 항해를 시작하였다. 450만원은 전역한 나에게는 큰 금액이였다. 항해99를 통해 모든걸 준비하고 공부할것이다. 의지와 열정을 불태우면서 취업에 성공할것이다. 왜 항해99 ? 군대에 있을때 많은 부트캠프를 찾아보고 대기업들의 부트캠프도 찾아보았다. 하지만, 항해99 만의 특징인 팀원들을 서로 이끌고 끌려당하는 것의 매력과 파이널 프로젝트를 배포해보고 실제로 프로젝트 유지보수 까지 한다는 점에 매료되어 신청하게 되었다. 현재는 무엇을? 현재는 사전스터디를 통해 공부과정을 들었고, Flask 로 미니 프로젝트를 간단하게 만들어 보았다. 이제는 Spring 을 공부하여 좀더 주특기에 대해 더 공부해서 Github 저장소를 늘리고 싶고 실력도 늘..
RPG 게임으로 만들고 싶어 군대에서 열심히 끄적끄적 개발 해보았다! 몬스터와 싸울때는 턴마다 돌리는것이 아닌 공격속도가 있어 자신이 공격할때가 되면 알림을 주고 공격 어떻게 할건지 선택을 하는 기능에 Java_Mail 을 통한 네이버 메일 인증 기능까지 만들었다. 자세한 코드는 Github 주소에 남겨 놓겠습니다! Github : https://github.com/Domae-back-end/Java_Game
Stream 클래스란? Java 에서 Stream 클래스는 데이터를 처리하는데 유용한 기능을 제공하는 API 이다. 함수형 프로그래밍의 개념을 적용하여 데이터를 필터링, 매핑, 집계 등의 작업을 수행할수 있다. Stream 클래스 특징 데이터를 한 번에 한 개씩 처리하는 게으른(lazy) 연산 방식을 사용하여 성능을 최적화합니다. 병렬 처리를 지원하여 대량의 데이터를 빠르게 처리할 수 있습니다. 중간 연산과 최종 연산으로 구성되어 있으며, 중간 연산은 다른 스트림을 반환하고 최종 연산은 스트림의 요소를 소비하여 결과를 반환합니다. 람다식을 사용하여 작업을 정의할 수 있습니다. 중간 연산 (Intermediate operations) filter(Predicate predicate): 주어진 조건에 맞는 ..
TDD 이란? TDD 이란 테스트 주도 개발 이라고 한다. 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법으로 쓰고 있고, TFD ( Test First Development ) + 리팩토링 으로 기능 동작을 검증 한다. ( 매소드 단위 ) 테스트 코드를 작성을 왜 할까? 나도 처음에는 테스트 코드 없이 그냥 바로 기능 개발하고 그때 그때 고치는 편이였다. 하지만 TDD 방법을 알게 되었고 그 방법을 통해 개발을 진행해보니 무엇보다 기능 결함이 없고 안전성이 확보 되었다. 그리고 문서화 역할도 테스트 코드에서 할수 있고, 테스트하기 위해 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있어서 테스트 코드를 작성하는것 같다. 아래에 예제를 통해 확인할 수 있다. - 코드 Pass..
이 게시글은 알고리즘의 문제를 풀고 생각나는 꿀팁들을 계속 수정할 예정이다. Arrays.sort() 배열을 오름차순 또는 내림차순으로 정렬할 때 사용됩니다. 원시 타입 배열뿐만 아니라, 객체 배열도 정렬할 수 있습니다. Collections.sort() 컬렉션(예: List, Set)을 오름차순 또는 내림차순으로 정렬할 때 사용됩니다. Comparable 또는 Comparator 인터페이스를 구현한 객체를 요소로 갖는 컬렉션을 정렬할 수 있습니다. StringBuilder 또는 StringBuffer 문자열 연산이 많이 필요한 경우, 문자열을 더 효율적으로 처리할 수 있는 StringBuilder 또는 StringBuffer 클래스를 사용할 수 있습니다. 문자열을 변경하거나 연결할 때 사용하면 성능 향..
깃헙 저장소 주소 : https://github.com/Domae-back-end/board_project 패스트캠퍼스의 강의 내용을 보고 나만의 개발로 진행해 보자! 게시판 서비스 프로젝트의 목표 누구나 이해하기 쉬운 소재로 명확한 기능 요구사항 요구사항을 구현하는데 각종 문서 작업 Spring boot 요구사항을 실제로 구현하는 기술적인 방법 기획과 문서 작성부터 개발, 형상관리, 테스트, 배포까지 개발 프로세스 개발의 목적 고객의 니즈와 문제를 정리 공부가 목표 문제 → 요구사항 → 기능 도출 → 구현 방안의 기획 → 개발 계획 수립 → 실행 테스트와 배포 테스트 개발 요구사항이 빠짐 없이 모두 구현되었는가 구현된 요구사항이 오류 없이 동작하는가 배포 깃헙 릴리즈 작성 클라우드 서버에 배포 (헤로쿠..