코딩 25

클래스? 오브젝트? 인스턴스???

인스턴스 클래스는 설계도와 같은 역할을 한다. 신이 사람이라는 클래스라고 만들 때 기본적인 설계도만 만들어진 상태로 만들어 두고. 사람이라는 객체에 다양성을 위해서 new 해서 사람이 java세상에 태어날 때 생성자의 매개변수를 통해서 다양성을 제공받는다. new 해서 만들어질때 메모리에 heap공간에 뜨는데 이 new를 통해서 메모리에 뜬것들을 인스턴스라고 한다. 오브젝트 구체적인것(셀 수 있는 것) 영어에서는 물질 명사라고 한다. 그럼 이 구체적인것이 무엇이 있을까? 위 그림을 보면 의자 침대 탁자는 구체적이고 셀 수 있는 것들이지만 가구라는 것은 굉장히 추상적이다. 이런 것을 영어에서는 추상명사라고 한다. 가구는 실제 존재 할 수 없는 것이기 때문이다. 예를 들어서 집에 의자를 들일수는 있지만 가구..

JAVA,객체지향 2021.11.21

SpringbootSecurity/Springboot로 구글로그인 해보기(2)/구글 회원 프로필 정보

저번 포스팅에서 이어갑니다. 이제 구글 로그인까지는 완료했는데 후처리가 필요하다. 구글 로그인 후처리 일반적으로 구글이 구글을 완료하면 어떻게 처리가 되는지 알아야 한다. 일단 로그인을 하게 되면 1. 코드 받기(인증) 2. 액세스 토큰(권한) 3. 권한을 통해서 사용자 프로필 정보를 가져온다. 4-1. 그 정보를 토대로 회원가입을 자동으로 진행시키기도 한다. 4-2. 예를 들어 쇼핑몰을 한다고 하면 기본적인 USER정보와 더해서 추가적인 집주소, 백화점몰->(VIP 등급, 일반등급)이 필요하다. TIP 구글 로그인이 완료가 되면 코드를 받는 것이 아니다. 무엇을 받냐면 액세스 토큰+사용자 프로필 정보까지 한 번에 다 받을 수 있다. Oauth2 clinet라이브러리에서 제공해주는 기능 일단 config..

SpringbootSecurity 2021.08.29

Spring boot/JPA 로 블로그만들기. 코멘트 기능 구현(댓글)

user-Agent: 여기에 명시된 브라우저가 아니면 요청을 할 수 없다. Referrer: 이전에 머물렀던 페이지 url 크롤링할 때 위와 같은 브라우저의 속성 값을 Postman으로 Requset header에 담아서 보낼 수 있다 그럼 내가 자바로 요청을 했지만 크롬으로 요청했다고 속여서 보내면 위 보안 체크 사항들을 속일 수 있다. 실제 만드는 사람 입장에서 막을 수 있는 방법이 위 사항들에 대한 접근 제한을 하는 방법밖에 없는데, 위 사항 들을 속일 수 있다면 특별한 경우가 없다면 접근하지 못하는 웹브라우저가 없다 댓글 기능 기본적으로 post요청을 해야 하고 form에 데이터를 담아서 보내면 간단하게 할 수 있겠지만 그렇게 되면 페이지 전체의 데이터를 넘겨받아야 하기 때문에 효율적이지 못하다...

Springboot 2021.07.19

자바스크립트 활용해서 스프링 서버 블로그에 수정(update)과 삭제(delete)해 보기

스프링 서버는 put을 사용해서 update를 할 때 자바스크립트를 이용해야 한다 form 태그에는 post와 get밖에 없기 때문입니다. 그럼 put을 사용할 때 두 가지 방법이 있다. 1.form에 있는 데이터를 한꺼번에 들고 오는 방법. 2. onsubmit 속성은 submit버튼이 ture면 함수가 실행되고 false면 실행되지 않는다. onsubmit을 사용했을 때 장점은 action을 하기 전에 유효성 체크를 같이 하는 용도로 나왔었다. gkwlaks 지금은 put 하기 위해 사용된다. 근데 submit버튼을 누르면 페이지가 새로고침이 되기 때문에 그것을 막아줘야 한다. event.preventDefault() 자바스크립트는 어떤 이벤트가 됐던 모든 이벤트가 발생하면 현제 이벤트의 모든 정보를..

Springboot 2021.07.15

자바스크립트 기본개념(기본 문법, 내장객체,이벤트 리스너,호이스팅,콜백, 비동기 프로그래밍)

자바스크립트의 기본적인 개념을 위해 세가지정도 포스팅을 할 것입니다. 1. 문법 2. 내장 객체 -최상위 내장 객체 window(java에서 Object 같은 개념) -history(뒤로 돌아가기), location(페이지 이동하기), document(해당페이지의 모든 엘레멘트) 3.fetch api(PUT, DELETE) -스레드 -비동기 -이벤트 루프 -콜백 -이벤트 리스너 자바스크립트 javascript는 기생 언어이다. 즉 독자적으로 실행되지 않는 기생 언어라는 뜻임 브라우저가 읽어낼 때 html과 같이 기생돼서 작동되는 언어라는 뜻. 근데 노드 js의 탄생으로 독자적으로 사용할 수 있게 되면서 더 이상 script언어가 아니다. 노드 JS => 자바스크립트 런타임 환경 node.js다운로드. 시..

JavaScript 2021.07.13

HTML,CSS,자바스크립트 관계, HTML 배치

HTML 기본개념 html은 문서를 만들기 위한 한글오피스 같은 것이다. html은 마크업 랭귀지 태그로 구성된 열고 닫는 태그들이 있고 그 태그들이 블락을 가지고 있는지 인라인을 가지고 있는지만 알면 html은 끝이다. 인라인은 옆으로 흐르듯이 작성되는 속성 블락은 밑으로 흐르듯이 작성되는 속성 쉽게 말해서 어떤 태그들이 있는지 알고 그 태그들이 블락인지 인라인인지 아는 게 html의 전부라는 것이다. 이 html문서를 동적으로 반응하도록 만들어 주는 것이 자바 스크립트이다 CSS 기본개념 CSS는 html로 만들어진 문서를 디자인하는 목적이 있다. 기본적인 html5의 구조이다. head에는 CDN을 주로 넣는다. body에는 브라우저가 출력해주는 태그이다. 이 body안에 있는 내용들을 동적으로 반..

HTML,CSS 2021.07.12

SDK사용해서 SMS서비스 만들기

sdk(소프트웨어 디벨롭 키트) sdk는 다운로드하는 것이다 그래서 api와 다르게 주소 요청 없이 바로 사용할 수 있다. sdk를 사용하기위해서 일단 위 사이트를 가입해야 한다. 초기에 300원 정도 테스트 비용을 준다. javaProject를 만 든다. 위 jar파일을 lib폴더에 넣어서 build path를 시킨다음 위 샘플 코드에 String api_key와 api_secret키에 추가시키면 된다 위 샘플을 함수로 만들어서 사용하는 것도 좋은 방법이다.

Springboot 2021.07.06

Spring boot/JPA 실습 블로그를 만들어보자!(회원가입 페이지 주소 API사용)

주소 API 사용 API : 애플리케이션 인터페이스 주소를 요청해서 기능구현을 하는것이다. 들어가면 체험하기 탭이있다. 체험하기를 누르면 api가 나오는 것을 볼 수 있다. 위와 같은 체험하기를 통해서 내가 만들 서버에 어떤 것을 만들어야 할지 대략적으로 그려보는 것이다. 이제 api를 요청하는 방법 이제 api를 요청하기 위한 방법을 알아본다 위 가이드대로 url을 설정하면 https://www.juso.go.kr/addrlink/addrlinkurl.do?comfmkey="승인키"&returnUrl=http://localhost:8000 어떤 contentType으로 데이터를 보내는지 알려주지 않는다. 굉장히 불친절한 문서다 그래서 직접 테스트를 해서 어떤 타입으로 데이터가 오는지 알아봐야 한다. 설..

Springboot 2021.07.05

Spring boot/JPA 실습 양뱡향 매핑, 지연 로딩(lazy loading), 영속성 컨텍스트, toString오류와 noSession오류

양방향 매핑 일단 더미 데이터가 필요해서 생성해준다 자주 쓸 것 같으니까 redme에 추가시켜준다. jpa에서 orm을 해줄 때 위 주소를 /test/post/1을 호출해주면 이 1은 user오브잭트가 아닌데 어떻게 데이터를 호출해줄까? 바로 ManyToOne에서 보고 프라이머리 키인 것을 인식한 후에 해당 오브젝트로 때려주는 것이다. 근데 만약에 user에서 post를 orm을 하려고 한다면 주석을 꼭 공부할것. 왼쪽@JsonIgnoreProperties({"user"})를 붙여주지 않고 호출하면 아래와 같이 무한 반복되는 것을 볼 수 있다. 오른쪽@JsonIgnoreProperties({"user"})를 붙여주고 호출했을 때다 post를 컬랙션으로 설정한 이유는 유저 한 명은 여러 개의 게시글을 작성..

Springboot 2021.07.02

GIT 기본 개념 GIT HUB저장소랑 연결하기

일단 첫 번째로 자신의 GITHUB에 자신의 아이디로 로그인한다. 그다음 새로운 레파지토리를 하나 생성한다 push라는 명령어는 형상관리 명령어가 아니라 그냥 업로드하는 것이다 자신의 레파지토리 주소를 복사하고 paste를 눌러서 복사한 주소를 붙여 넣는다 주의할점 공용 컴퓨터를 사용할 때 꼭 주의하여야 할 사항이 git에 한편 연결이 되면 내 github에 아이디와 비번이 윈도우 자격이 컴퓨터에 남아서 다른 사람이 내 github에 마음대로 접근하고 파일도 업로드시킬 수 있는 상태가 됩니다. 그래서 제어판-> 사용자 계정 들어가서 빨간 네모 탭에 github에 관련된 데이터가 있으면 github를 사용하고 난 후에 꼭 여기로 들어가서 내 개인정보들을 삭제해줘야 한다 origin의 뜻은 원격지라는 뜻이다..

카테고리 없음 2021.07.02