목록전체 글 (54)
개발 기록이
Spring boot 프레임워크에서의 @Controller, @RestController과 URL 리다이렉트 하는 방법에 대해 알아보자. 1. @Controller 란?사용자가 특정한 URL로 요청을 보내면, 이 요청을 받아들이고 처리하는 역할을 하는 클래스가 필요하다. 이 클래스에는 해당 요청을 처리하는 메서드가 정의되어 있는데 이 메서드는 요청을 처리한 후 사용자에게 응답을 보내는 역할을 한다. @Controller 어노테이션이 붙은 클래스가 이러한 역할을 수행하는데 즉, @Controller 어노테이션이 붙은 클래스는 웹 애플리케이션에서 사용자의 요청을 받아들이고 처리하는 역할을 담당한다. 예를 들어, www.example.com/springtest로 접속하면 @Controller가 붙은 클래스는 ..
파일 관련 기능 구현할 때 제대로 정리가 안 되는 것 같아서 프론트단에서부터 서버에서 어떻게 file 값을 받고 처리하는지 정리를 해보려고 한다. 1. 속성 은 웹에서 사용자의 로컬 파일을 입력받을 수 있는 기능을 하는데 관련 속성에 대해 알아보자.1) accept업로드를 허용하고 싶은 확장자를 지정할 수 있다.그러나 파일 확장자를 지정해 줄 뿐 실제 내가 지정한 확장자 외에 다른 확장자의 파일을 못 올리게 하는 속성은 아니다. (특정 파일의 확장자만 입력받도록 하려면 별도의 코드 작업이 필요하다.)1-1) 확장자명을 직접 입력(콤마로 구분) 1-2) MIME 타입 지정 2) capture모바일에서 이미지를 업로드할 때 사용되는 속성전/후면 카메라를 작동시킬 수 있다. 3) files사용자가 파일을 ..
지우지 말아야 하는 java 파일들까지 지워버린 적이 있었다. delete한 상태로 commit까지 한 상태여서 이클립스에서 history로 파일을 복구할 수도 없었다. 다행히 이전 class파일들은 백업해둔게 있어서 class 파일을 java 파일로 변환할 수 있는 방법을 찾아봤다. 보통 인터넷에서는 jad.exe 프로그램을 이용해서 디컴파일을 하는 방법이 소개되는데 이 경우 코드가 제대로 복구가 되지않아서 JD-GUI.exe로 복구하는 방법을 찾았다! 1. 아래 링크로 이동하기 https://java-decompiler.github.io/Java DecompilerThe “Java Decompiler project” aims to develop tools in order to decompile and..
시퀀스 값이 불규칙한 상태(ex: 1, 10, 2, 3, 5, 7)에서 특정 시퀀스의 앞 행과 뒤 행의 값을 조회하는 방법에 대해 알아보자. mybatis에 적용하기 위해서 SET 방식(SET @rownum:=0;)이 아닌 다음과 같은 방식으로 rownum을 생성했다. SELECT @rownum := @rownum + 1 AS rownum, post_seq, title, contents, reg_date, mod_date FROM ( SELECT post_seq, title, contents, reg_date, ..
이클립스에서 수정한 파일들을 SVN 커밋했더니 commit failed 상태가 됐었다. 평소와 다른 점이라면 이번 파일 수정 사항은 파일 내부 코드를 변경한 게 아니라 기존에 있던 디렉토리명, 파일명을 일부 수정한 뒤 커밋을 했었는데 is out of date 에러가 발생했다. 해결 방안은 다음과 같다. 1. 프로젝트 오른쪽 마우스 클릭 2. [Team] - [Update to Revision...] 이동 3. Revision의 Head Revison을 선택한 후 OK 버튼 클릭 그러면 정상적으로 커밋이 진행되게 된다. 출처: https://sunday-sunny.tistory.com/15
브라우저 뒤로 가기를 실행했을 때 특정 이벤트를 실행해주는 방법에 대해 알아보자. 1. BF캐시 (Back Forward Cache)BF캐시란 브라우저에서 발생하는 최적화 기능으로 브라우저의 뒤로 가기 ..
자바 스트림이란?java8에서 사용할 수 있는 스트림은 람다를 활용한 기술 중 하나이다.배열 또는 컬렉션에 여러 개의 함수를 조합하여 원하는 결과를 가공할 수 있다. 자바스트림 중 map, filter, sort을 사용하여 list 값을 가공해 보자. 1. map요소들을 특정 조건에 해당하는 값으로 변환해 준다.ArrayList list = new ArrayList("aaa", "bbbb", "c", "d");System.out.println(list.stream().map(el-> el.toUpperCase()).collect(Collectors.toList()));// List의 요소들을 대문자로 변경해줌// [AAA, BBBB, C, D]System.out.println(list.stream().m..
날짜 형식(2023-01-01)을 20230101로 변경하려고 replace를 사용할 일이 있었다. var dateFormat = jQuery("#dateInput").val().replace(/-/gi, ""); 그러나 Uncaught TypeError: Cannot read properties of undefined (reading 'replace') 라는 에러가 발생했다. 이럴 경우, 변수 하나에 한 번에 id값으로 value를 가져와서 바로 replace를 하지않고 다음과 같이 2개의 변수로 나눠서 작성했더니 에러가 해결된다.var originDateValue = jQuery("#dateInput").val()var dateFormat = originDateValue.replace(/-/gi, ..
1. 배포(Deploy) - 서버에 기능을 추가하려면 개발자는 로컬 - 개발 - 실서버 단계로 개발한 내용을 반영하게 됨. - 실서버 단계에서 수정된 코드를 반영하는 것을 배포라고 함. 2. 빌드(Build) - 배포를 하기 위한 준비 과정을 의미. - 실서버에 올릴 수 있는 상태로 만드는 것을 의미. 출처: https://nanbuja.com/entry/%EB%B9%8C%EB%93%9C-%EB%B0%B0%ED%8F%AC-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%9D%98-%EA%B0%9C%EB%85%90-%EC%B0%A8%EC%9D%B4%EC%A0%90-Build-Deploy-Complie
AWS는 서비스의 용도에 따라 다양한 스토리지 서비스를 선택적으로 사용할 수 있다. 1) Amazon S3(Simple Storage Services) : 데이터를 무한하게 저장 가능. 2) Amazon Glacier : 대용량 데이터를 백업/보관 가능 1. 스토리지 - 컴퓨터에 데이터를 저장하는 저장소의 역할 - 서버에 직접 연결하거나 별도의 스토리지용 네트워크를 구성할 수 있다. - 서버에 직접 연결하는 방법은 DAS/NAS/SAN 이 있음 1) DAS(Direct Attached Storage) : 서버에 직접 연결하는 방식 2) NAS(Network Attached Storage)와 SAN(Storage Area Network) NAS SAN 스토리지를 빠른 속도의 네트워크로 연결하는 방식 LAN..