목록전체 글 (51)
개발 기록이
1. 클로저의 개념함수가 정의될 때의 렉시컬 환경을 기억하여 함수가 실행될 때 그 환경의 변수들에 접근할 수 있게 하는 특성. 이 문장만 보면 무슨 의미인지 이해하기가 어려우니 간단한 예시 코드를 통해 하나씩 뜯어보자.클로저에 대한 설명은 다음과 같다.외부 함수의 변수를 내부 함수에서 사용할 때 클로저가 생성.해당 변수의 값이 외부 함수 변수에서 선언한 값으로 초기화되지 않고도 사용 가능.클로저는 외부 함수의 스코프를 기억하고 있어서, 외부 함수가 종료된 이후에도 내부 함수에서 외부 함수의 변수에 접근할 수 있음. (예시 코드)const func = (function() { let cnt = 0; return function() { console.log(cnt++); ..
개발자 도구로 내가 현재 접속한 웹사이트의 포트 번호를 알 수 있다. 1. 포트번호를 확인하고자 하는 사이트에 접속(예시: 티스토리) 2. 키보드 F12를 눌러 개발자도구 열기 - [Network] 탭 - [Headers] - Remote Address 확인 1) 211.249.221.185 : 현재 접속한 웹사이트(티스토리)의 IP 주소2) 443 : 웹사이트가 사용하고 있는 포트 번호 대부분의 상용 웹사이트는 사용자 편의, 보안, 호환성을 위해 표준 포트인 80(HTTP)과 443(HTTPS)을 사용하며 비표준 포트는 주로 개발자 포트, 관리 페이지, 특정 서비스 목적 등의 용도로 사용된다고 한다. ex) 개발자 포트: http://localhost:8080관리 페이지: http://IP주소:8080..
URL에 태운 파라미터 값을 가져와서 자바스크립트 단에서 처리해야 할 일이 있었다. 로컬 환경에서 예시를 들자면, http://localhost:8080?userid=user001&name=kim 와 같이 userid와 name 2개의 파라미터를 넘겼을 때 각 파라미터의 값을 가져오는 방법에 대해 알아보자. 1. URL const urlParams = new URL(window.location.href).searchParams;console.log(urlParams.get('userid')); // user001console.log(urlParams.get('name')); // kim- window.location.href : 파라미터를 포함한 전체 URL 문자열을 반환한다. ex) http://loc..
자바를 사용하여 원하는 URL로 이동할 수 있는 QR 코드 이미지를 다운로드하는 방법에 대해 알아보자.@RequestMapping("/qrDownload.do")public void qrDownload(HttpServletResponse response) throws WriterException { try { //QR코드 이미지 생성 QRCodeWriter qrCodeWriter = new QRCodeWriter(); Map hintMap = new HashMap(); hintMap.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = qrCodeWriter.encode("..
프로젝트 내에 있는 특정 파일을 다운로드하는 url을 만들어보려고 한다.(다운로드할 파일의 경로 : http://localhost:8080/resources/file/sample.pdf)@RequestMapping("/downloadFile.do")public void downloadFile(HttpServletResponse response) { String fileUrl = "http://localhost:8080/resources/file/sample.pdf"; try { Path tempFilePath = Files.createTempFile("sample", ".pdf"); URL url = new URL(fileUrl); Files.c..
1. File 클래스File 클래스는 파일 및 디렉터리를 생성하고 존재 여부를 확인하는 기능을 제공한다.File file = new File("test.txt"); 대표적인 메서드를 살펴보자. 1) file.createNewFile() : 파일 생성2) file.mkdir() : 디렉터리 생성File dir = new File("testDir");if(dir.mkdir()) { System.out.println("디렉토리 생성");} 3) file.exists() : 파일 또는 디렉터리 존재 여부 확인4) file.getName() : 파일 이름5) file.getPath() : 파일 경로6) file.getAbsolutePath() : 파일 절대 경로7) file.length() : 파일 크기(b..
지난 포스팅에 이어서 업로드한 파일을 자바 서버단에서 처리하는 방법에 대해 알아보려고 한다.예전에는 주로 MultipartHttpServletRequest를 사용하여 멀티파트 요청을 처리했지만, Spring 3.1 이후부터는 MultipartFile이 도입되어 더 간편하고 효율적인 파일 업로드 처리를 할 수 있다고 한다. 각 방식을 통해 어떻게 파일을 저장하는지 알아보자! 📌 프론트단에서 파일 업로드하는 방법 확인하기 속성과 자바스크립트로 파일 정보 보내기" data-ke-align="alignCenter" data-og-description="파일 관련 기능 구현할 때 제대로 정리가 안 되는 것 같아서 클라이언트에서부터 서버에서 어떻게 file 값을 받고 처리하는지 정리를 해보려고 한다. 1. 속성..
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..