GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

전체 글 171

2022 우테코 onboarding 5~6번 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-onboarding GitHub - Backcoder-June/java-onboarding: 온보딩 미션을 진행하는 저장소 온보딩 미션을 진행하는 저장소. Contribute to Backcoder-June/java-onboarding development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Problem 5 금액이 주어졌을 때, 가장 적은 화폐 수로 지불하는 메소드 구현 문제였다. => 변수의 재귀를 사용 할 수 있는가 위를 묻는 문제가 아닐까 싶다. 돈 단위..

Coding Test 2022.11.09

2022 우테코 onboarding 3~4번 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-onboarding GitHub - Backcoder-June/java-onboarding: 온보딩 미션을 진행하는 저장소 온보딩 미션을 진행하는 저장소. Contribute to Backcoder-June/java-onboarding development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Problem 3 3,6,9 게임 규칙으로, 주어진 숫자까지 총 몇 번 박수를 쳐야하는 지 구하는 문제였다. => 각 자리수 별 숫자 구하기 => 부분합 예를 들어, 366..

Coding Test 2022.11.08

2022 우테코 onboarding 1~2번 리뷰

2022 우테코에서 진행하는 공개된 사전과제 코딩테스트 문제 입니다. https://github.com/Backcoder-June/java-onboarding GitHub - Backcoder-June/java-onboarding: 온보딩 미션을 진행하는 저장소 온보딩 미션을 진행하는 저장소. Contribute to Backcoder-June/java-onboarding development by creating an account on GitHub. github.com ( 상세한 문제 설명은 링크를 타고 들어가서 확인해주세요! ) Problem 1 두 명이 책 페이지를 랜덤으로 오픈하고, 두 명은 책 페이지(왼쪽, 오른쪽)의 각 자리수를 더하거나, 곱한 값 중 가장 큰 값을 비교 비교 결과를 retu..

Coding Test 2022.11.08

예약 가능한 날짜 SQL => if 와 all 사용

예약기능은 숙박, 항공, 식사, 렌탈 등 다양한 범주에서 사용된다. 진행 중인 프로젝트 ( 렌탈 서비스 ) 에서도 예약기능이 필요하다 생각되었고, 검색 기능에서 (a). 키워드 (b). 동네 (c). 렌탈 희망 날짜 세 가지 조건을 만족하는 조회결과를 가져오는 SQL문을 구성하고자 했다. 1. 하나의 SQL 문으로 시도 ( 실패 ) select * from product left outer join reservation on product.id = reservation.boardid where (title like concat('%', #{smartTitle}, '%') and boardRegion like concat('%', #{smartRegion}, '%') and (reservation.star..

이미지 파일 다중 업로드, 미리보기 구현 ( AJAX )

게시글을 작성할 때, 단순하게 이미지 파일을 업로드 하는 방법은 정보도 많고, 구현이 간편하다. 1. 2. 3. Controller => MultipartFile file 로 받아주기 여러 이미지를 올리고 싶으면 A. 을 여러개 만들거나 B. 멀티플 속성을 달아주면 된다. - 근데, 이렇게 하면 A의 경우 => 파일첨부 칸이 여러줄 생겨서 UI 매력이 떨어진다 B의 경우 => 사용자들이 shift 로 여러파일을 선택하기 불편하다 ( 모르는 분들도 많다 ) 또한, 저대로만 만들어두게 되면 사용자가 업로드한 이미지 파일을 글 작성 페이지에서 눈으로 보면서 작성할 수 없다. 마침, 이런 생각을 가지고 이미지를 Preview 로 띄워주는 코딩을 구현해보고 있는데 (지긋지긋한) 예비군에서 반가운 연락이 오랜만에 ..

Back to the Spring 2022.09.24

IntlliJ 단축키 => Eclipse(STS) 단축키

JAVA 를 프로그래밍 언어로 사용할 때, 대표적인 IDE로는 Eclipse ( STS ) 혹은 IntelliJ 정도가 있다. InelliJ Ultimate (유료버전)은 여러 측면에서 편리한 기능들을 많이 제공하기 때문에 IntelliJ 한번 사용하면 STS 로 되돌아가기가 힘들정도 라는 평들이 많다. 하지만, 현재 시장에선 STS 또한 많이 사용되고 있는 환경이다. 팀 프로젝트를 진행하려면 git ignore 을 사용한다 할지라도 안정성 측면에서 IDE 툴은 하나로 맞추는게 좋다고 생각한다. ( 완벽하게 두 IDE 호환 대처가 가능할 정도가 된다면 상관이 없겠지만, 생각보다 복잡한 부분들도 존재했다. ) IDE 툴을 바꿔서 사용할 때, Setting 하는 법, UI 등 다른 부분에 적응하는 시간이 필..

Back to the Spring 2022.09.24

JS 잡기술들

[ e.stopPropagation(); ] => 자식 태그에 이벤트 시도 시, 자기것만 터트리고 부모태그로 올라가며 찾는 propagation 을 stop 시키는 것 [ 버블링의 활용 / 이벤트 위임 ] - 반대로, stopPropagation() 하지않고, 자식 이벤트 발생 시 => 부모 이벤트를 연계해서 발생시키는 식으로 유용하게 활용 - 버블링 사용시 주의 => 부모한테 걸어두고, 부모 이벤트를 발생시키면 => 자식들 모두에게 이벤트가 발생해버림 => 이벤트 발생 타겟을 제한해야 함 if (!e.target.matches('#fruits > li')) { return; } => 이벤트가 발생한 target이 부모의 자식 태그가 아니라면 => return 시켜서 막기 [ 키보드 이벤트 활용 ] $i..

[SpringBoot] Boot <=>Spring MVC 비교 / 개발환경 세팅STS4

[ Spring Legacy Project ] ( Spring MVC ) - XML 설정 필요 - STS 3 사용 권장 ( Legacy / Boot 가능 ) [ Spirng Boot ] - XML 설정 최소화 - application.properties 에서 설정 - Configuration ( Java Class ) 생성해서 설정 - AJAX => Jackson bind 기능 내장 / utf-8 설정 자동 - STS4 사용 권장 (Boot 전용) - 개발환경 상, 큰 차이점은 XML 설정들을 applicaiton.properties 에 모으고, @어노테이션을 사용해 최소화 시켰다는 게 아닐까 합니다. web.xml - filter 한글 encoding => 자동 - SpringBean Config.xm..

Back to the Spring 2022.09.03

[Model/Param => ${script} ] / [HTML요소 => $(script) ] 값 받아쓰기

[ Model => HTML ] - Model 값 HTML body 부에서 사용하기 (자바) model.addAttribute("key", value ); return "뷰단"; (JSP) => VIEW 단의 HTML 에서는 (1) (2) ${key} 자바로 받거나, EL 로 받아서 사용한다. [ Model => ] - 마찬가지로 script 단에서 Model 값을 받아 사용하기 위해서는 (1) alert( ' ' ); (2) alert( ' ${ getit } ' ); (1) 자바 (2) EL 로 받아서 사용하면 되는데, *주의할점은 JavaScript 에는 엄연히 data Type 이 존재하므로, => ' ' 따옴표 처리를 해서 String 임을 명시해줘야 한다. ( 관련 Error : ~ is no..

[AJAX] Upload 하기 => FormData

[ 파일upload AJAX 처리 ] ( HTTP 방식 처리 ) MultipartFile mf1 = dto.getFile1(); [ AJAX 방식 ] - 최소한의 입력 form만 만들고, => method / encType 등 업로드 설정은 JavaScript / AJAX 에서 한다. $("#uploadBTN").on("click", function(e){ e.preventDefault(); var form = $("#uploadForm")[0]; var data = new FormData(form); $.ajax({ url : "ajaxUpload", data : data, type : "post", dataType : "json", encType : "multipart/form-data", proce..

Back to the Spring 2022.08.26