혼자 개발 시작.프로젝트에 더 추가 할 기능들산 정보를 직접 입력하고 저장해 산 목록을 추가산 후기 목록에 조회수 추가후기 리스트 아래에 페이징 추가‘지역별 산 보기’ 메뉴를 추가하고 소재지 별로 따로 볼 수 있도록 생성지역별 산 메뉴 화면에 검색 창을 추가하고 검색된
후기 조회수 수정 마저 완성하기코딩테스트 찾아보기
조회수가 왜 안올라가는지 이유 찾는 중
바람쐴 겸 도서관에 다녀왔다개발을 하면서 이론적인 궁금함이 생길 때 구글링을 하면 내가 아직 서치 기술이 부족해서 그런지 원하는 내용이 잘 안나오길래 도움이 될 만한 책이 있나 싶었다 개발, 코딩 의 범위는 너무 방대해서 내가 원하는 내용을 다룬 책을 찾기 까지 한시간
코딩테스트를 어떤식으로 하는지 찾아봤다 백준만 알고있었는데프로그래머스라는 곳도 있다고 해서 들
후기 페이징 추가 하기
집에서는 집중이 잘 안돼서 도서관에 왔다
페이징 숫자 나타내기 , 수정수업시간에 배웠던 페이징 코드는 하나의 게시판 구현 시에 적용 했던거라 내 프로젝트의 다중게시판에서 적용하기에는 수정이 필요하다
페이징 수정 중
※ 후기 리스트 작성자 표시하기 완료서치 중 ${sessionScope.id} 이런방식의 태그를 사용할 수 있다는 글을 보고 후기리스트jsp에 userLoginId를 가져오도록 사용했더니 작성자 표시가 구현됐다!mountain.jsp 일부※ 후기 리스트 조회수 구현 중
후기 리스트 조회수 구현 중!
조회수 수정
후기 리스트 조회수 수정 완료!후기 상세페이지에 reviewId와 view 파라미터를 받아와야 한다고 생각했는데 후기 상세페이지에서는 후기 내용 뿌리기와 조회수 늘리기를 하면 되기 때문에 view 파라미터는 받아올 필요가 없는 거였다Controller에서 후기내용 뿌리
스프링 부트 강의 듣기스프링 부트 스타터 사이트 http://start.spring.io: 스프링부트 기반으로 스프링 관련된 프로젝트 만들어주는 사이트project (필요한 라이브러리를 가져오고 빌드하는 라이프 사이클까지 다 관리해주는 툴)Maven Proje
open api 구현하기다른 기능을 구현하기 전에 산 api 구현을 먼저 하는게 더 나을것 같다현재 공공데이터 포털 open api 활용신청 까지 해둔 상태였고 구현 하기 위한 서칭 중api를 구현하기 위한 대표적 방법 js서버 to 서버 (정석 방법)api 구현에 사
open api 구현하는 방법 찾아보기 Http Client 모듈 : 웹으로 api를 호출하기 위해 사용됨 restTemplate 옛날 방식이라 요즘은 지원되지 않는 곳이 많다
open api 사용방법 찾아보기 webclient 사용방법 1. webClient 개발 1) api 작성 webclientController 라는 이름으로 api 작성
open api 사용방법 찾아보기webClient 는 Spring WebFlux 라이브러리에 속하는 클라이언트
open api 사용법 찾아보기webClient를 내 프로젝트에 적용하는 과정을 정리해봐야 한다
open api의 샘플 코드를 webClient 적용한 형태로 바꾸는 방법을 보던 중 파라미터 인코딩을 하는 과정이 있어서 자세히 알아보고싶었다.webClient를 사용해서 인코딩 하지 않고 그냥 호출하게 되면 api 키가 달라지는 경우가 생길 수 있다고 한다그 경우를
webClient 사용법을 찾아보면서 인스턴스 생성이라는 과정이 있었는데, 인스턴스라는 단어를 많이 들어봤지만 정확한 개념을 모르고 있어서 자세히 찾아봤다instance란??객체 지향프로그래밍(Object Oriented Programming)에서 class에 소속된
학원에서 공부 할 때 서버의 흐름이 헷갈려서 이곳 저곳 노트에 그려뒀던 흐름도들을 한 노트에 정리했다앞으로 개념이 명확하지 않은 것들은 이 노트에 다 정리하면 도움이 될 듯 하다 일단 이번주 내로 open api를 적용 해보는게 목표였는데 전체적으로 어떤 방식인지는 감
며칠 동안 서치를 해보면서 얻은 내용은 샘플코드와 webClient를 사용하는 거라고 생각했는데 둘중 한가지 방법만을 사용해도 된다는 글이 있었다 그래서 샘플코드로만 해보고 있다 요청메시지에내 인증키 encoding을 넣어서 json을 보려고 하는데 이런 에러가 난다
샘플 코드를 사용하려면 샘플코드에 json파싱을 해야 된다고 한다json을 가공하는 건데, open api의 데이터를 가져오는거에서 끝나는게 아니라 json형태로 표현되도록 하기위한 과정이다 일주일이 넘도록 open api를 사용하기 위한 서칭을 하고있는데, 서칭을 하
객체를 정의하고 그 객체를 생성 할 때 보통 생성자를 통해 생성하는것을 생각하는데생성자를 통해 객체를 생성하는 것은 몇가지 단점매개변수가 많아지면 가독성이 좋지 않다정해진 파라미터 순서대로 값을 넣어줘야 하기 때문에 실수를 하면 잘못된 순서로 매개변수를 전달 될 수 있
샘플코드를 작성하는것 까지 했지만 console에 값이 찍히지 않아서 계속 서치 해보던 중 GetMapping을 놓친 것을 알았다이 코드를 실행시켰더니이런 식으로 값이 잘 나왔다그 다음 json파싱 코드를 추가 하고 실행 시켰더니 MalformedJsonExcepti
어제 났던 에러 com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 8 path $
json 파싱에 setLenient(true)를 추가 한 뒤 발생한 에러java.lang.IllegalStateException: Not a JSON Object:"<?xml"서칭 해봤는데 딱히 명확한 이유를 찾을 수는 없었다그냥 에러를 보기에는 json을 찾을수
Json.simple 라이브러리는 구글에서 제공하는 툴킷 라이브러리이다Json 데이터를 처리하기 위한 java 라이브러리Json 문자열(데이터 송수신에 사용하는 데이터 포맷 중 하나)을 파싱하여 데이터를 조작하고 사용할때에 좀 더 쉽게 접근 가능하게 해준다내부적으로 J
Throughput(처리량) & Latency(지연시간)Throughput시간당 처리량 : 1초당 어느정도의 작업을 처리할 수 있는가높은 수치일수록 성능이 좋다TPS(Transaction per seconds), RPS(Request per seconds) 등이 있다L
api 속도를 측정해보기 위한 방법을 서칭하다가 코드를 사용하는 방법이 있어서클래스를 생성해봤다이때 발생한 에러/favicon.ico가 뭔지 검색해보니 favorites icon의 약자로 웹페이지나 웹사이트를 대표하는 아이콘 이라고 한다.웹 브라우저는 페이지를 요청할
그 어떤 로그도 찍히지 않았던 에러.. 로그의 설정에 대해 찾아보고 확인해 봤는데 로그가 잘못된건 없어보였다 그럼 로그의 문제가 아니라 코드 자체가 수행되지 않는게 아닐까?
Comma Separated Values (데이터 직렬화 포맷)컴퓨터 용어로, 표 형태의 데이터를 저장하는 파일 형식주로 쓰이는 확장자 : .csvMIME 형식 : text/csv하나의 CSV파일은 하나의 독립된 2차원 데이터를 나타낸다각 줄은 하나의 행이고 각 열 사
api의 데이터를 db에 저장하기 위해 코드를 작성해야 한다저장하는 과정에서 JPA를 사용하기 위해 Mountain 패키지에 MountainEntity와 MountainRepository를 생성했다그 다음ApiParseExplorer.java저장해주는 코드로 수정, 추
이번엔 북마크에 났었던 에러를 풀어보려고 한다예전에 났었는데 다른 기능들을 하던중이라 잠시 미뤄뒀었다console리턴을 두개이상 받는데 하나만 가져오는 코드로 되어있다는 뜻인것같았다 bookmark 페이지에 뿌려지는 mountain이 하나로만 되어있어서 List로 수정
북마크의 TooManyResultsException 에러를 해결하고나서 다른 에러가 나타났다이 에러는 예전에 본 적이 있는 에러다${bookmarkList} 안에서 ${mountain.id}, ${mountain.mtName}, ${mountain.mtLocation}
el 태그를 어떻게 수정해야 할지 찾아보다가 해결방법을 찾았다!Bookmark.javaBookmarkController.java그래서 bookmarkList가 뷰에 전달될 때 각 bookmark객체에는 연관된 mountain객체에 대한 참조가 있으므로 el표현식에 사용
프로젝트 초반에 구현했었던 카카오지도 api아직까진 좌표가 카카오회사에 고정되있었는데이번엔 산 마다 좌표가 다르게 적용될수있도록 script에 db값을 불러오는 방법을 찾아보려고 한다
어제 진행하던 script에 mountain테이블의 값을 불러오기를 마저 진행했다여태 작성했었던 script에서는 계속 mtLat, mtLot의 값을 찾을 수 없다는 에러가 나서 고민을 하다가MountainController에서 model에 담았던 mountain을 가
카카오로그인 구현을 마저 해보려고 한다프로젝트 초반에 인가코드 받기 까지 완료 해두고토큰 받기는 미뤄뒀었다 오늘은 토큰받는 방법에 대한 여러가지 코드를 찾아봤었고 아직 완벽히 이해되지는 않았다 ㅠㅠ카카오 로그인 api도 처음 해보는거라 조금 시간이 걸릴 듯 하다설 연휴
### 1. 카카오 개발자 사이트에서 애플리케이션 등록 및 설정 ### 2. 카카오 로그인 REST API를 이용하여 로그인 구현 카카오 로그인 API는 OAuth 2.0을 따르며, 인가 코드 방식(authorization code grant)을 사용 클라이언트 I
어제 계속 인가코드를 code 파라미터로 받으려고 하면서 파라미터가 존재하지 않는다는 에러가 발생해서 파라미터가 왜 전달되지 않고있을까를 고민했다카카오 로그인을 구현하기 위해서는 클라이언트 측과 서버 측 모두의 코드가 필요하며클라이언트 측에서는 사용자가 카카오 로그인
엊그제까지도 파라미터code가 넘어오지 않는다는 에러에서 벗어나지 못했던 ...다시 처음부터 차근차근 해보자는 마음으로어제는 별다른 수확 없이 서칭만 계속 했었다
오늘은 여러가지 코드들을 계속 찾아봤다 인가코드 받고 토큰 받고 사용자 정보 받는 과정은 다 동일하지만 방법과 코드가 너무 다양해서 조금 더 머리가 복잡해졌다...
카카오 로그인 동의하기 화면이 나타나지 않는 이유가 내 카카오 로그인 정보에 이 사이트가 저장이 되어서 라는 내용을 보고카카오 계정관리이 곳에서 계정이용 > 외부 서비스 전체보기에서 연결 끊기를 해주니 다시 동의하기 화면이 나타났다그럼 로그인이 되고있다는 얘기인가사용자
웹을 지탱하는 기술 - 멘토르 HTTP의 중요성 HTTP (Hypertext Transfer Protocol): 하이퍼텍스트 전송용 프로토콜 ``` 프로토콜: 서로 다른 기기나 시스템 간에 통신할 때 서로 이해할 수 있는 방법을 제공
현재 카카오로그인 버튼을 누르고 동의하기를 누르면 redirect uri로 이동하기까지는 됐고사용자의 정보 가져오기를 찾아보고 있다조금 헷갈리는게 redirect uri를 내가 설정한 콜백url인 /kakao/callback으로 했을때는 console에 찍어보고 싶었던

어제 카카오 로그인 과정을 다시 공부했고 공부한 것을 바탕으로 처음부터..차근차근 해보기로 했다먼저 로그인 버튼 signIn.jspKakaoController.java카카오 인증은 완료 되었고 받아온 코드값을 통해서 accesstoken을 부여 받기 위한 코드를 작성
response를 getBody로 다시 요청을 해보면accessToken을 정확하게 볼 수 있다 accessToken이 console에도 잘 찍히는것을 볼 수 있다이제 이걸 가지고 사용자 정보 요청을 해야한다원래 나눠서 작성하는것이 좋지만 현재 헷갈리는 상황에서는 한
어제 받았던 사용자 정보를 jsonschema2pojo에 가져가서 미리보기를 하고복사해서 새 클래스를 생성한다KakaoProfile.javaconsole에 찍힌 에러카카오에서는 형식으로 넘겨주는데 jsonschema2pojo에서 자동으로 카멜케이스로 변경해서 생성해줘서
카카오 로그인 구현은 완료되었고 redirect 설정과 header에 일반 로그인 사용자의 이름을 나타내던 곳에 카카오 로그인 사용자의 이름을 나타내는 것을 구현해야한다. 어제는 return에 redirect를 설정하면 오류가 났었는데
일반 로그인과 카카오 로그인을 다른 방법으로 로그아웃을 해야한다user 테이블에 카카오 로그인 사용자가 함께 저장되어서 userName으로 같이 쓰이고있어 session에 kakaoUserName을 새로 추가했다기존 header.jsp의 사용자 나타내는 부분수정 후 k
로그아웃이 되지 않아 코드를 수정했다 LogoutController.java
카카오계정과 함께 로그아웃하기를 구현하면서 발생한 무한 redirect loop 여러가지 이유들이 있겠지만 상황 1 1) A 페이지에서 자동으로 B 페이지로 이동 2) B 페이지에서 자동으로 A 페이지로 이동 상황 2 1) A 페이지에서 A 페이지를 자동으로 호출
이제 JUnit을 이용해 단위테스트를 진행하려고 한다 학원에서 수강할 때 배운 적이 있어서 조금 더 공부해보고 실행할 예정이다 ## JUnit 이란? - Java 진영의 대표적인 Test Framework
회원가입을 하는 과정에서 정규식이 들어오는지, db에 insert가 잘 되는지 등 안쪽의 여러가지의 기능들을 테스트 하기 위함 src/test/java : JUnit test 관련된 패키지, 테스트 코드만 작성
웹에이전시와 SI의 차이점 웹 에이전시 - 인터넷 비즈니스의 모든 솔루션을 제공하는 인터넷 솔루션 서비스 제공업자 - 온, 오프라
포트폴리오를 작성하면서 프로젝트를 둘러보다가 한가지 잘못된 곳을 발견했다 등산일지 작성하고 카드뷰로 뜰 때 설정해뒀던 날짜가 글 작성일이 아니라 오늘 현재의 날짜로 설정되어있었다..!기존 diary.jsp 프로젝트 초반에 <fmt:formatDate value="
`userBO`에 대한 JUnit test를 진행할 예정이다 아이디 중복 메소드 UserBO
JUnit testUserRestController에 대한 테스트를 진행해보려고 한다먼저 아이디 중복 확인 메소드test 코드@AutoConfigureMockMvc 어노테이션은 Spring Boot 테스트에서 MockMvc를 수동으로 구성 할 필요 없이 자동으로 구성하
어제는 service와 restController의 junit test를 진행했는데,오늘은 나머지인 controller와 domain에 대한 test를 해보려고 한다UserController
웹을 지탱하는 기술 - 멘토르 URI의 중요성 URI(Uniform Resource Identifier): 유니폼 리소스 식별자 = 리소스를 통일적으로 식별하는 ID 통일적이라는 의미는 모두가 같은 규
리눅스라는 운영체제 , 서버 사용 리눅스의 종류들 : 우분투, 래드햇, CentOS, 페도라.. 라는 운영체제들이 있다 우리는 AWS가 만든 OS (CentOS 문법을 사용함)를 사용한다 // OS=운영체제 원래 서버는 리눅스
프로젝트를 배포하는 과정에서 로컬에서는 문제 없던 산 정보와 카카오로그인 카카오지도가 웹에서는 정상적으로 실행되지 않았다 처음에는 세가지 모두 API를 사용해
REST : HTTP URL로 서버의 자원을 명시하고 HTTP 메소드로 그 자원에 대해 CRUD 하는 것 API(Application Programming Inteface) - 클라이언트가 서버의 자원을 요청할 수 있도록 서버에서 제공하는 인터페이스 - 애플리케이션을
스프링부트3 자바 백앤드 개발 입문 - 길벗 포트폴리오 작성할 때 일부 코드를 JUnit test했는데, 책을 읽다보니 좀더 체계적인 test 과정이 있어서 정리한다 테스트란? - 프로그램의 품
### WEB Server - 작성된 html페이지 등을 네트워크 망에 종속되지 않고 웹서비스 할 수 있도록 하는 애플리케이션 - 클라이언트에게 요청을 받았을 때 정적인 데이터는 was를 거치지 않고 바로 응답해주고, 동적인
웹 2.0은 플랫폼이 데이터를 중앙서버에 저장하는 방식 이용자가 소유하고 있는 모든 정보와 자산의가치를 회사가 임의로 변경하거나 처분할 수 있다는 불안감이 있었다 중앙집중화된 시스템의 문제를 인식하게 되었다웹 3.0은 블록체인 기술을 통해 데이터를 분산 저장하는 방식블
학원 수업 초반에 java 수업을 들으면서 배웠던 자료구조와 알고리즘의 중요성을 알고는 있었지만 몇개월간 프로젝트
// 10 public static void main(String[] args) { //1~100000까지의 숫자중 소수 구하기 for (int n = 2; n <= 100000; n++) { // n이 소수인지 알고싶을 때 // 2,3,4
bubble sort 알고리즘정수 tmp가 입력되었을 때 뒤에서부터 j의 값과 비교tmp가 j보다 작으면 j를 i+1칸(한칸 뒤)으로 옮긴다출력값을 이렇게 정수가 입력되는 동시에 배열을 나타내주면 훨씬 효율적544 22 4 92 4 9 62 4 6 9 11 2 4 6
16. 입력으로 두 정수 a와 b를 받아 a의 b제곱을 계산하기 // 16 public static void main(String[] args) { Scanner kb = new Scanner(System.in); int a = kb.nextIn
input.txt 라는 파일로부터 사람들의 이름과 전화번호를 입력받아 배열에 저장하고 출력한다 처음에는 `Scanner inFile = new Scanner(new File("input.txt"));`에 오류가 나타나는데, 보면 'Unhandled exception
인덱스 메이커 - 입력으로 하나의 텍스트 파일을 읽는다 - 텍스트 파일에 등장하는 모든 단어들의 목록을 만들고 각 단어가 텍스트 파일에 등장하는 횟수를 센다 (단어의 개수는 100,000개 이하라고 가정한다) - 사용자가 요청하면 단어 목록을 하나의 파일로 저장한다
이전에 해봤던 인덱스 메이커의 문제점 1. 소수점, 쉼표, 괄호 등의 특수 기호가 단어에 포함된다 2. 숫자 등이 단어로 취급된다 3. 대문자와 소문자가 다른 단어로 취급된다 4. 단어들이 알파벳
chapter 4 클래스, 객체, 참조변수(1) 클래스? 한 사람의 이름과 전화번호는 항상 같이 붙어다녀야 하는 데이터라면, 이 두 가지 데이터를 서로 별개의 변수에 저장하면 우리가 이름 데이터를 옮길 때마다
chapter 4 클래스, 객체, 참조변수(2) int 배열(정수형 배열)은 primitive 타입
오버라이딩 & 오버로딩
최상위 클래스 Object
자바 제어자 - final, abstract
클라이언트와 서버가 HTTP통신을 하면서 로그인처럼 접속을 했던 정보의 저장이 필요할 때가 있다.