본문 바로가기
728x90
반응형

전체 글97

[React/docker] node.js 다른 버전 돌리기 1. 개요개발 PC에 설치된 node.js 는 18버전인데사용하는 소스코드는 node.js의 20버전을 이용할때. 사용하는 IDE에서npm run dev로 간단하게 실행하는게 좋지만혹시나, 현재 사용중인 버전과 다른 버전의 코드를 써야한다면도커를 사용하는게 좋은 대안이 될 수 있을 것 같아서 적어봄 1-1. 전제조건현재 PC에 도커 컨테이너가 설치되어있어야함.윈도우라면 도커 공식 설치페이지에 접속해서 설치 후 실행할 것 2. 본문#Dockerfile# Node 20 기반 이미지 사용FROM node:20# 작업 디렉토리 생성WORKDIR /app# package.json, package-lock.json 복사COPY package*.json ./# 의존성 설치RUN npm install# 나머지 코드 복.. 2025. 8. 17.
[java/spring] 구글 oauth 인증 구글 로그인 을 사용하려면 oauth 사용 필요, Spring Security 사용 필요초기 세팅 하는방법도 모름.어떤식으로 정보를 요청해야하는지,또 어떤 정보를 받는지 모름.로그인 기능구현의 주요 목표구글 로그인 적용하기 (민감하지 않은 개인정보, 구분 가능한 사용자정보 획득하기)부가목표누가, 어떤 기기로, 언제, 로그인 및 접속을 하였는지, 확인하기- 스프링 시큐리티 의존성https://docs.spring.io/spring-security/reference/getting-spring-security.html- 스프링부트 인증 서버https://docs.spring.io/spring-authorization-server/reference/index.html- 스프링부트 OAuth2 가이드https:/.. 2025. 5. 13.
[ JAVA/Spring ] yml의 변수 application.yml 에서 DB의 정보를 분리하기 위해 있었던 오류를 정리하는 글이다. 초기 프로젝트 세팅시 application.yml에 모든 정보를 집어넣고 세팅했었고DB연결을 분리하고 DB 접속 정보는 변수로 다루기 위해 db.yml이라고 선언.application.yml에서 불러오는(import) 형식으로 선언했다.spring: config: import: - classpath:/application-db.yml - classpath:/mybatis.yml 문제는 yml에 변수를 선언하고 가져다 사용하려고 했던 부분이다.로딩할때 application.yml에서 다른 yml파일을 불러올 수 는 있지만import 된 yml 안의 정의한 변수는 치환이 안.. 2025. 4. 15.
[React] React의 useState와 useEffect에 대한 이해 useStateReact에서 '상태'라는 개념은 단순한 변수처럼 보이지만 다름.useState로 선언한 값은 내부적으로 상태가 바뀔 때마다 컴포넌트를 리렌더링하게 되어 있음.일반 변수(let 등)는 값이 바뀌어도 화면은 바뀌지 않음.반면 useState는 setter 함수(setX)로 값을 바꾸면, React가 다시 렌더링을 해서 UI에 반영됨.→ 핵심:값 + 그 값이 바뀌었을 때 컴포넌트를 다시 그려줄지 말지를 React가 관리해주는 구조또한, React는 상태의 불변성을 중요하게 다룸.그렇기 때문에 항상 새로운 값을 만들어서 넘겨주는 식으로 상태를 업데이트해야 함.(ex. 배열이나 객체 수정 시 원본을 바꾸는 게 아니라 복사본 만들어서 set해주기)useRefuseRef는 값을 저장할 수 있지만, 리.. 2025. 4. 11.
[Ubuntu] 원격접속 Ubuntu 22.04  우분투 OS 원격접속 설치.데스크톱 버전을 사용중이었기 때문에 GUI 지원하는 패키지 설치하지 않았음.   Xrdp + Windows 원격 데스크톱 연결 설치패키지 openssh 설치sudo apt updatesudo apt install openssh-serversudo systemctl enable sshsudo systemctl start ssh xrdpsudo apt install xrdpsudo systemctl enable xrdpsudo adduser xrdp ssl-certsudo systemctl start xrdp xrdp 설치 후 설정파일 내용 변경 필요위치 : /etc/xrdp/startwm.sh sudo nano /etc/xrdp/startwm.shorsu.. 2025. 4. 9.
네트워크 잘못알고있던부분 내가알고있는 기본 네트워크 개념에는 망, 스위치, 라우터 가 전부였음 개략적으로 정리하면pc → 공유기 → 모뎀 → IPS → 특정 서버정도로 요약이 가능하고 상세하게 작성해도PC   ↓ 이더넷 공유기 (라우터)   ↓ 광케이블 통신사 네트워크 장비 (ONU/모뎀 등)   ↓ ISP (통신사) 코어 네트워크 장비들   ↓ 지자체/지역 백본망   ↓ 국가 간 연결망 (해저케이블 포함)   ↓ 상대방 서버 위치까지 라우팅정도라고 생각했었는데....프록시 서버, 리버스 프록시 서버, 게이트웨이, 로드밸런서에 대한 생각은 전혀 못하고 있었다.로드밸런서나 프록시 서버 같은건, 전용 장비를 따로 둘 수도, 프로그래밍적으로 처리가 가능하다는 것  로드밸런서라는건 예전에 네이버에서 이 수많은 접속자들을 어떻게 처리하는.. 2025. 4. 9.
HTTP와 잃어버렸던 기억 이 글은 프록시서버, 리버스 프록시 서버의 개념을 공부하는중,스스로 HTTP에 대한 개념을 바로 잡는 중 느낌 소감을 작성한 글이다.   TCP/IP 기반 통신서버만 주구장창 개발하다가 웹소켓 서버를 개발이 필요해서, 개념을 대충 공부하고 넘어갔었던적이 있다.다만 여기서 stateless 라는 내용과 연결에 관련된 내용을 그저 그렇구나 라고만 인식하고 넘어갔고, 심지어 서버 개발시 웹소켓으로 진행했던 터라, 실제 http에 대한 이해가 부족했던 것을 이번 기회에 인지하게 되어서,확실히 정립하고자 하여 HTTP에 대한 기초 개념을 작성하였다.  API 서버를 개발할때는, 클라이언트로 curl 명령어를 사용하거나, 브라우저로 접속했을때 응답받음,서버에서는 접속 로그 확인됐고 데이터 전송까지 확인됐으니 잘 됐.. 2025. 4. 9.
[HTTP/HTTPS] HTTP(s) 통신 기본 개념 1. HTTP란?아주 단순한 질문으로 어딜가도, 누가봐도 쉽게 이해 할 수 있는 내용을 제공하기 위해, 위키피디아 내용을 첨부한다 HTTP(HyperText Transfer Protocol, 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 통신 프로토콜이다. 주로 'HTML 문서를 전송'하는 용도에 쓰인다. TCP를 사용하고 HTTP/3부터는 UDP 및 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었다.HTTP는 클라이언트와 서버 사이에 이루어지는 상호 대화를 위한 요청-응답 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 .. 2025. 4. 9.
[firebase] 팀프로젝트 DB구조 보완안 firebase 데이터 구조1. accommodations (숙소 정보)문서 ID: 숙소 고유 ID📍 필드name (string): 숙소 이름type (string): 숙소 유형 (hotel, motel, pension, guesthouse, camping)location (map):latitude (number): 위도longitude (number): 경도place_name (string): 지역 이름city (string): 도시 대분류sub_city (string): 도시 소분류description (string): 숙소 설명host (map):name (string): 호스트 이름email (string): 이메일contact (string): 연락처images (array): 숙소 사진 UR.. 2025. 4. 4.
JS와 Firebase의 시간 처리 조금이라도 의문이 들면 메모해서 남겨놓고 나중에 다시 찾아보면서 보완해나가는중   오류 : 파이어베이스 받아온 튜플의 시간 데이터 표출 오류.파이어베이스에서 시간 데이터를 사용할때 Timestamp라는 클래스를 사용이 필요했고호출된 데이터를 컴포넌트에 그릴때, 호출된 데이터의 시간데이터를 그대로 표출하니 오류가 발생했음. 습득한 지식 : Timestamp라는 클래스는 시간 정보를 표현해줄때 객체 필드값으로 {seconds, nanoseconds}로 다루고 있게 구성 되어있음.firebase/firestore를 사용하면 JS의 기본 시간 클래스인 Date와 갖다 꼴아박을수있도록Timestamp.fromData( new Date ) 이런 메서드를 지원함Timestamp.toDate() 를 사용하면 JS의 D.. 2025. 3. 28.
자체 수준 평가 분야별 수준 평가 분야언어수준약점백엔드 Java, Spring, Spring Boot중급최신 Java 문법(람다, 스트림), Spring Security(OAuth), JPA 학습 필요프론트엔드 HTML, CSS, JavaScript, React초중급실무에서 React 고급 개념 및 상태 관리 경험 필요데이터베이스 MySQL, Oracle 등중급SQL 최적화 및 DB 설계 경험이 부족 2025. 3. 3.
[java/IntelliJ/testng] Mapper 테스트 오류 https://plz-exception.tistory.com/28 Spring Boot (1) MybatisTest를 통한 Mapper 단위 테스트개발 환경 : JAVA 1.8 / Spring Boot 2.4.1 / Gradle 6.7.1 / MySql IDE : IntelliJ 20.3.3 Dependency : mybatis-spring-boot-starter-test 2.1.3 * 해당 포스팅은 공식문서를 참조하여 작성했습니다. mybatis Test 공식문서 링크 1. 필요plz-exception.tistory.com않이이개외않되? Nullsector_1님 블로그 에서 mybatis springboot test 공식문서 url 확인 구글에서 영어로 검색해도 한국어문서만 뜨는데모든언어로 검색해도 내.. 2025. 1. 12.
728x90
반응형