분류 전체보기 87

국비지원 80일차 (session , jwt)

@ 프로젝트에서 로그인 기능을 구현하면서 인증방식에 몇 가지 방법이 있는 걸 알게 되었다. 찾아보게 된 것은 session방식과, jwt 방식 이 있다는 걸 알게 되었고, (물론 몇 가지 방법이 더 있다는 것 같다.) 이번프로젝트는 세션을 활용해서 구현하는 중이지만 나중에 jwt를 활용해서 사용할 것을 고려해 개념을 정리해 보고자 한다. ※로그인 방식은 왜 필요하는지? http특성의 무상태(Stateless) 비 연결적인 특성으로 연결이 해제됨과 동시에 서버와 클라이언트는 클라이언트가 이전에 요청한 결과에 대해 잊어버리게 된다. 따라서 요청을 할 때마다 서버에 연결을 해야 한다. HTTP의 이러한 특성으로 인해 'Stateless Protocol'이라고 불리기도 하며 웹사이트는 매 페이지에서 로그인이 되..

국비교육 2023.12.24

국비지원 79일 (attr ,porp,data 기타등등)

@ 요번에 개인플로젝트를 진행하면서 백엔드를 위한 개인프로젝트를 진행하고 있지만, 개인프로젝트를 진행함에 있어 개인으로 하다보니 ui부분도 같이 진행하다 보니 많이 배우게 되는 부분들이 있었다. 앞으로 개인프로젝트를 하면서 좀더 알면 좋을만한 부분들을 다뤄볼예정입니다. ※ attr , porp , data차이점 1.attr의 경우네는 요소 내의 값과 그 이외의 값들을 지정해서 속성 값을 설정할 때 사용한다 - 여기서 요소의 경우에 예를 들면 html 내에서 사용하는 각 요소들을 지칭 - 에서의 경우에는 checked 속성을 사용할 수가 없다. 하지만 jquery으ㅏ attr의 속성을 사용하면 checked의 값들을 지정해서 사용할 수 있다. - attr 의경우 key-value 형태로 값을 강제로 입력할..

국비교육 2023.12.23

국비지원 78일차 (자바스크립트 - Json(ajax))

※ Json 이란 - Rest API와 Ajax를 사용하기 위해서 json(Java String Object Notation)이란 자바스크립트 객체 표기법이 필요하다. - XML 대신에 간단한 자바스크립트 객체 표기법을 쓰자 라고 해서 만들어짐. - json 방식: {속성명1:속성값1, 속성명 2:속성명 2} 이런 식 위 방식을 이용하면서 객체를 여러 개 넣으려면 배열처럼 넣으면 된다. 객체 배열의 경우: [{속성명1:속성값1, 속성명2:속성명2}] map 의 경우: { 키:{ 속성명1:속성값1, 속성명2:속성명2 }, 키2:{속성명1:속성값1, 속성명2:속성명2} } ※ json으로 서버와 데이터 주고받는 방법 1. 직렬화 - json 방식으로 JS 객체를 서버로 전송할 때 사용 - 사용법: JSON...

국비교육 2023.12.21

국비지원 77일차 (다중 파일 업로드)

@ 지금 구현하는 SNS 개인프로젝트에서 단일 파일 업로드를 구현해 보았다. 근데 찾아보다가 다중 파일업로드 도 할수있는 것을 알게 되었고, 나중에 활용해 보고자 정리해 보았습니다. ※ 기능(다중 파일 업로드) - 이미지 파일 여러개 업로드가능 - 이미지 파일 선택후 재 선택 시 이전에 선택했던 파일 지워지지 않고 누적해서 업로드가능 ※ JS(다중 파일 업로드) 관련 코드 let uploadFiles = []; let files = null; function getImageFiles(e) { files = e.currentTarget.files; [...files].forEach(file => { uploadFiles.push(file); }); // 파일 누적 관리 let w_input = docume..

국비교육 2023.12.15

국비지원 76일차 (개인프로젝트 - 화면구성 스크롤구현)

@ 오늘은 개인프로젝트로 SNS 를 시작하게되었는데 우선 화면을 구현하게됬다. 인스타그램같은걸 참조하는관계로 구성이 비슷하게된것같다. 오늘 메인페이지를 구현하기시작하였고, 여기서 핵심인 본문영역에 오른쪽섹션이 마우스 스크롤이 내려옴에 따라서 같이 내려오게끔 해주려고 했다. 맨처음에 FIXED를 쓰니 트러블이 많은관계로 ABSOULTE 를 써서 구현해보았다. @ 메인페이지 -구현(스크롤) -> 위 화면과 같이 스크롤 움직임에따라 오른쪽 섹션이 같이 따라 움직이는걸 볼수있다. 우선 본문에 position:realtive 를 주고 오른쪽 섹션에 position:absolute 를 주고 left:0 을 하면 왼쪽그림과같이 위치할것이다. 이제 스크롤에 따라 오른쪽 섹션이 같이 이동하게 구현하려면 script를 사..

국비교육 2023.12.15

국비지원 75일차 [팀프로젝트 - 여행동행사이트(회원관련기능)]

@근래 잠시 블로그 활동이 뜸했었는데 팀프로젝트준비로 인해 블로그를 못썼던것같다. 우선 아직 정리되지않는 개념과 정말 겉핡기로 배운 스프링으로 팀프로젝트를 하려고 하니 어떻게 시작해야될지 테이블을 어떻게 짜야될지 , sql문을 어떻게 짜야될지 , 정보를 어떻게 넘겨주고 받는건지 지금도 어렵지만 아예 처음에 시작했을때와 비교하면 그나마 왜 이렇게 데이터가 흘러갔는지 정도는 알것같지만, 아직 많이 부족하다는걸 느끼고있다... 팀프로젝트동안 팀원들한테 민폐가 안되려고 하루하루 밤새가면서 아예 백도화지에 수를 놓는것처럼 하나하나 찾아보면서 개발을 했던것같다. 분명 쉬운 회원가입관련해서 crud 를 짜는건데도 그동안 팀프로젝트를 준비한 결과와 앞으로 부족한부분들 취업을 하기위해 공부해야되는것들을 다뤄볼생각이다. ..

국비교육 2023.12.12

국비지원 74일차 (스프링 - 복습)

※이번에는 스프링 프레임워크를 배우면서 잘 몰랐던 용어 들에 대해 찾아보도록 할 것입니다. ※ 도메인 1. 도메인 1) 도메인은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소입니다. 2) URL의 한 부분으로 URL 은 해당 페이지의 "전체주소"이며 일반적으로 프로토콜 도메인 이름 및 경로로 구성된다. 2. 도메인의 체계 도메인은 “.”또는 루트(root)라 불리는 도메인 이하에 아래 그림과 같이 역트리(Inverted tree) 구조로 구성되어 있습니다. 루트 도메인 바로 아래의 단계를 1단계 도메인 또는 최상위 도메인(TLD, Top Level Domain)이라고 부르며, 그다음 단계를 2단계 도메인(SLD, Second Level Domai..

국비교육 2023.11.07

국비지원 73일차 (spring - 빈(bean)개념 , Controller,Service,Repository)

※스프링 빈(Spring Bean)이란? 1) Spring IoC 컨테이너 가 관리하는 자바 객체 라고 합니다. 2) Spring이 생성하고 관리하는 자바 객체를 Bean이라고 한다 *IoC 컨테이너란? 1) IoC(제어 반전)이란, 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의믜한다. 즉, 프로그래머의 제어 권한을 다른 주체에게 넘기는 것을 IoC(제어의 역전)라고 한다.. 2) 컨테이너는 보통 객체의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것 스프링 프레임워크도 객체를 생성하고 관리하고 책임지고 의존성을 관리해 주는 컨테이너가 있는데, 그것이 바로 IoC 컨테이너(=스프링 컨테이너) 입니다. ※스프링은 어떻게 자바객체가 있다는 것을 인..

국비교육 2023.11.07

국비지원 72일차 (스프링_MyBatis(환경설정, 연결 ))

* MyBatis이란? SQL Mapping Framework 자바 코드로부터 SQL문을 분리해서 관리 작성할 코드가 줄어서 생산성 향상 및 유지 보수 편리 자동으로 Connection close() 기능 MyBatis 내부적으로 PreparedStatement 처리 * pom.xml이란? 프로젝트 정보가 표시되며 스프링에서 사용되는 여러 가지 라이브러리를 설정해 다운로드 가능 spring framework를 사용하다 보면 maven , pom.xml파일 등을 자주 보고 듣게 된다. 프로젝트를 진행할 때 사용하는 라이브러리들이 많아질수록 관리하는 게 어려워지는데 이때 maven 이 필요하다. 즉, maven 은 네트워크를 통해서 라이브러리들을 자동으로 받아주고 또 내가 사용하는 라이브러리들과 그 라이브러..

국비교육 2023.11.04

국비지원 71일차 (스프링-TDD, DAO, DAO 메서드 예외처리)

※ TDD(테스트 주도 개발) 1. 테스트 코드를 먼저 작성해야 하는 이유? -> 테스트 코드를 먼저 작성하는 개발 방법론은 테스트 주도 개발(Test-Driven Development, TDD)로 많이 불린다. 우리는 프로덕션 코드보다 테스트 코드를 먼저 작성해야 하는데, 그 이유는 다음과 같다. 1) 깔끔한 코드를 작성할 수 있다. 2) 장기적으로 개발 비용을 절감할 수 있다. 3) 개발이 끝나면 테스트 코드를 작성하는 것은 매우 귀찮다. 실패 케이스면 더욱 그렇다. * 프로덕션 코드(Production Code) : 프로그램 구현을 담당하는 부분으로 사용자가 실제로 사용하는 소스코드를 의미한다. * 테스트 코드(Test Code): 프로덕션 코드가 정상적으로 동작하는지 확인하는 코드를 의미합니다. ..

국비교육 2023.11.03