전체 글 42

[Redis/Server] 레디스 설치 및 비밀번호 설정

내 컴퓨터(로컬)에 레디스 설치 및 비밀번호 설정하는 방법 레디스 설치 방법을 설명하기 전에, 레디스 개념 부터 알아보고 가자 =3 레디스란 ? Redis : Remote Dictionary Server key-value구조의 비정형 데이터를 저장하고 관리하기 위한 비관계형 데이터베이스 관리 시스템(DBMS)이다. 사용에 따라 데이터베이스로 사용될 수도 있고, Cache Server로 사용될 수도 있다. 데이터베이스는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생하여 다운되더라도 데이터가 손실되지 않는다. 하지만, 매번 디스크에 접근하기 때문에 사용자가 많아질수록 부하가 증가하는 단점을 가지고있다. Cache Server를 사용하면, Cache Server로 Redis를 이용할 수 있다. ..

Server 2024.01.22

[Java] String 배열 대신 HashSet을 이용하여 문자 찾기

String배열(String[]) 대신 HashSet을 이용하여 문자 찾기   클라이언트에서 요청 온 파라미터(과일)이내가 선언한 과일리스트에 포함 되어있는지 안되어 있는지 확인 후 ture/false를 반환해주는 로직을 만들고 싶다. 참고로, 리스트안에 들어갈 내용은 DB에서 조회한 값이 아닌 하드코딩된 문자열을 넣어야 한다.   내가 처음에 개발한 방법은  위 코드를 보면,String[]에 선언된 과일배열에 In_array 메소드를 사용했다.forEach를 사용해 있으면 true, 없으면 false를 리턴해주는 메소드이다. 하지만 이렇게 String[]을 선언하고 과일 여부를 체크하는 방법보다는,HashSet으로 선언을 하고 contains를 이용해서 찾는게 속도 면에서는 훨-씬- 좋다고 하여 리팩토..

Back-end 2024.01.19

[Java] OPEN JDK 1.8 설치 방법 (zip, msi)

OPEN JDK 1.8 설치 (Java 설치) 학원이나 집에서 개인 공부로 JAVA를 설치해보았던 나는 신입으로 개발 회사에 취직했다 출근 첫날, 컴퓨터에 개발 환경을 세팅을 부랴부랴 하는데- 사수가 JAVA를 JDK 1.8 말고 OPEN JDK 1.8 을 설치를 해야 한다고 안내를 받았다. 그래서 OPEN JDK 1.8을 zip파일을 받고 난 후, 알려주신 방법으로 설치를 시도해봤는데 정상적으로 실행이 되지가 않아서 알아 보았더니, 나같이 정상적으로 실행이 되지 않는 경우는 zip파일 대신 msi파일로 다운을 받아서 설정을 해야했다. 그래서 msi파일로 다시 다운을 받아 설치 후 환경변수를 설정 하였더니, 성공적으로 설치 및 설정을 완료 하였다 ! 그래서 이 방법을 자세히 적어보려고 한다. 여기서부터 ..

Back-end 2024.01.17

[오류] HTTP 응답 오류 - 415 Unsupported Media Type

HTTP 에러 415 Unsupported Media Type HTTP 오류에 대해 알아보자. HTTP 오류 중 4XX번대 오류에 대해 알아보려고 한다. 클라이언트(웹 브라우저)에서 서버에 어떠한 요청(Request)를 하면 서버는 응답(Response)를 보내주는데, 정상적으로 처리가 완료 되면 성공 응답이 돌아오고, 정상적으로 처리가 되지 않는 경우에는 실패 응답이 돌아온다. HTTP 응답 코드는 1부터 5까지 있는데, 오늘은 4인 4XX번대 오류에 대해 알아보려고 한다. 4XX번대 오류는 Client Error로 클라이언트 오류이다. 즉, 클라이언트 요청을 처리할 수 없어 발생한 오류이다. 그중 415 오류는 흔하지 않은 오류이기 때문에 좀 더 자세하게 다뤄 볼 예정이다 ! 🔍 오류 배경 및 원인 ..

오류 분석 2024.01.13

[오류/Git] 깃 - Gitignore를 안해서 발생한 오류

Gitignore를 안해서 발생한 오류 .gitignore에 대해 학원 수업때 배웠는데 까먹어 버려서 이렇게 기록으로 남기려고 한다. 다음에 같은 실수를 하지 않기 위해서 ! Gitignore 오류에 대해 알아보기 전에, 혹시나 깃에 대해 잘 모르는 사람들도 있을 수 있으니 먼저 Git(깃)에 대한 간단한 개념을 알아봅시다 깃 개념 아시느분은 과감하게 스크롤 내려주세요 🔍깃(Git)이란? 깃(Git)은 소프트웨어 개발에서 사용되는 분산 버전 관리 시스템이다. 즉, 여러 명이 하나의 프로젝트를 개발할 때 소스코드의 변경 내역을 추적하고 관리하여 버전을 관리할 수 있는 도구이다! 깃은 빠른 속도와 분산 저장소를 통한 안정적인 관리와 브랜치 기능 등 다양한 기능을 제공하며 다양한 운영체제에서 사용할 수 있다...

오류 분석 2024.01.12

[React] 리액트 프로젝트 초기 세팅 방법 (feat.타입스크립트)

리액트 세팅 with 타입스크립트 React Setting with TypeScript 리액트 초기 세팅을 쉽게 하는 방법을 알아보자 언어는 타입스크립트 사용 리액트 초기 프로젝트 세팅 쉽게 하는 방법 1-2년전에 리액트 기초 문법 공부 및 아주 간단하고 쉬운 프로젝트를 해보았는데 이번에 회사에서 프론트 웹을 JSP 개발이 아닌 리액트 개발을 진행하게 됐다. 그래서 리액트로 공지사항 CRUD (리스트, 상세, 등록, 수정, 삭제)를 연습삼아 만들기로 했다. 아직 자바스크립트 ES6 문법도 어색한데 . . 리액트 + 타입스크립트 조합으로 만들기로 했다 . . 아무튼, 리액트 + 타입스크립트 프로젝트 세팅은 생각보다 간단하고 쉽다 ! 명령어 몇번만 치면 세팅이 된다. (후후) 내가 세팅 할 방법은, CRA(..

Front-end 2024.01.11

[오류/SQL] MyBatis 마이바티스 오류 - IllegalArgumentException 런타임 에러

MyBaits 오류 개발을 하다가 서버를 실행하니, MyBatis 부분 쿼리에서 오류가 발생하였다..! 해당 오류가 정확히 어떤 오류인지 이해가 안되어서 구글링을 통하여 원인을 찾아내서 오류를 해결하였다. 그래서 해결 기록 및 정리해보려고 한다. 혹시나 MyBatis가 어떤 역할을 하는지 모르는 사람들을 위해서 간단하게 개념을 정리해보려고 한다. MyBatis(마이바티스)란? 마이바티스는 DB(데이터베이스)를 쉽게 다룰 수 있도록 도와주는 오픈 소스 프레임 워크이다. Object-Relational Mapping : ORM 마이바티스를 사용하여 데이터베이스쿼리와 프로그래밍 언러 코드를 분리하여 유지보수성과 생산성을 높이기 위해 사용한다. 즉, 마이바티스를 사용하면 DB연결 및 쿼리작성을 쉽게 다룰 수 있..

오류 분석 2024.01.11

[SQL] MySql에서 함수를 사용하는것과 사용하지 않는것에 대한 속도 차이

MYSQL 쿼리 속도 차이 함수를 사용하는것과 사용하지 않는것에 대한 속도 차이 오늘은 MySql 쿼리 속도에 대해서 정리를 해보려고 한다. 함수를 사용하는것과 사용하지 않는것에 대해서 속도 차이가 있다고하여 직접 테스트를 진행 해보았다 ! 회사에서 진행하는 프로젝트 테이블 중 코드를 관리하리 테이블이 있는데, 이 테이블은 유지보수를 용이하게 하기 위해 즉, 하드코딩을 하지 않기 위해 사용되는 테이블이다. 코드값과 코드명 등 저장하는 테이블을 아래 표에 정리해 보았다. GROUP_CODE CODE CODE_NAME STATUS ## 상태 STATUS READY 준비 STATUS COMPLETE 완료 STATUS CANCEL 취소 코드값(CODE) → 코드이름(CODE_NAME) 코드이름(CODE_NAME..

DB 2024.01.07

[WEB] 웹 3대 요소 - HTML, HTTP, URI

웹 3대 요소 - HTML, HTTP, URI 웹 개발자라면 꼭 알아야하는 웹 3대 요소인 HTML, HTTP, URI에 대해 알아보자 💻목차 - 웹 (Web) 개념 - HTML 개념 - HTTP 개념 (WS, WAS, 웹 구조 및 동작) - URI 개념 웹(Web : World Wide Web) 이란? World Wide Web의 줄임말 이며, WWW또는 W3라고도 부릅니다. 🌐 인터넷에 연결된 사용자들이 정보를 공유할 수 있는 공간을 의미합니다. 웹 3대 요소 웹을 구성하는 3대 요소로 HTML, HTTP, URI 이 있습니다. HTTP는 웹 서버와 웹 클라이언트 간에 통신을 할 수 있도록 지원해주며, URI은 웹 클라이언트가 웹 서버로 리소스(자원) 요청 후, HTML이 담긴 응답을 맡으며 웹 클라..

[WEB] HTTP 렌더링, 웹 브라우저 렌더링 과정

HTTP 렌더링, 웹 브라우저 렌더링 과정 HTTP정의와 렌더링 정의 그리고 웹 브라우저 렌더링 과정에 대해서 알아보자. 💻목차 - HTTP 정의 - 렌더링 정의 - 웹 브라우저 렌더링 과정 HTTP(Hyper Text Transfer Protocol) HTTP는 웹(WWW)상에서 정보를 주고 받을 수 있는 프로토콜이다. HTML문서와 같은 리소스들을 가져와 주고 받는데에 쓰인다. 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 프로토콜이다! 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)이나 그림 정보를 요청(Request)하면, 서버는 이 요청에 응답(Response)하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가..