전체 글 194

Spring Boot + React CORS 연동 (로컬 환경)

React로 프론트엔드를 구성하고 Spring Boot로 백엔드 서버를 구성한 프로젝트에서 로컬 개발 시 CORS 연동처리프론트엔드는 http://localhost:3000에서 실행백엔드는 http://localhost:8080에서 실행 연동 후 프론트 실행 시 현재 시간 나타내기 전역(Global) 설정import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic cl..

기타/study 15:22:51

2025년 4월 2주차 포베리기업 웹 개발자 면접 후기

https://briskly0415.notion.site/FOURBERRY-1ca5ace59f0480f08ea9cb2cbb8b84dd FOURBERRY | Notionmaking sweet and sour softwarebriskly0415.notion.site 면접은 다음과 같이 진행됨 회사소개코딩 테스트질문Q&A2. 코딩 테스트 (구글 검색 가능)버튼 클릭 시 랜덤 숫자 6개를 각각의 input태그에 바인딩하기저장 버튼 클릭 시 Mybatis를 이용해 위 내용을 DB에 저장저장된 내용 SELECT(JOIN)3. 질문업무를 진행하다 보면 여러가지 일들을 동시에 진행해야 할 수 있는데 괜찮은가SI업무 시 파견 가능 여부회식에 대한 생각음주 및 게임후기정말 친절하셨고코테 시 큰 화면으로 면접관분들이 보고 ..

INTERVIEW_EX 2025.04.09

SPA - react, vuejs

SPA란 무엇인가?SPA(Single Page Application)는 사용자가 웹 애플리케이션을 사용할 때페이지가 전환될 때마다 전체 페이지를 새로 로딩하는 대신 필요한 부분만 동적으로 업데이트하는 방식의 애플리케이션임애플리케이션의 반응성이 좋아지고 전체적인 성능이 향상되며 사용자 경험(UX)이 더 부드럽고 빠름SPA를 구현하기 위한 방법으로 React와 Vue.js는 매우 인기 있는 라이브러리/프레임워크  React - SPA를 위한 강력한 라이브러리React는 JavaScript 라이브러리로 컴포넌트 기반의 UI 구축을 지원함React의 가장 큰 특징은 가상 DOM(Virtual DOM)을 사용하여 실제 DOM을 조작하는 것보다 효율적으로 UI를 렌더링 덕분에 React는 대규모 애플리케이션에서 성..

javaboiii의 react 2025.04.07

Python - CSV파일 감지 및 데이터베이스 자동 업데이트

PYTHONwatchdog, sqlalchemy 이용 Watchdog - 파일 및 디렉터리 변경 사항 실시간 감지Sqlalchemy - 데이터베이스 ORM 및 쿼리 실행 경로 설정# 감시할 CSV 파일 경로CSV_FILE_PATH = "csv_files/quiz_data.csv"observer = None # 감시 객체 전역 변수 데이터베이스가 비어 있는지 확인하는 함수CSV 파일을 감시하는 역할# 데이터베이스가 비어 있는지 확인하는 함수def is_db_empty(): """데이터베이스에 데이터가 있는지 확인""" with SessionLocal() as session: try: result = session.execute(text("SELECT COUNT(..

javaboiii의 python 2025.03.25

JWT - JSON Web Token

JWTJWT(JSON Web Token) 인증에 필요한 정보들을 암호화시킨 JSON 토큰을 의미함JWT 기반 인증은 JWT 토큰(Access Token)dmf HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식임사용자 로그인 이후 서버가 아닌 클라이언트에 인증 관련 토큰을 발급하고이를 똥해 추가 인증을 처리함 인증 방식의 변화: 세션 기반 인증 vs 토큰 기반 인증세션 기반 인증세션 기반 인증은 사용자가 로그인하면 서버가 세션 ID를 생성하고 이를 클라이언트(주로 쿠키)에 저장이후 클라이언트는 서버에 요청할 때마다 세션 ID를 함께 보내고서버는 해당 세션 ID를 통해 로그인 상태를 확인합니다.문제점:서버 부담: 로그인한 사용자가 많아질수록 서버 메모리에 세션 정보를 저장해야 하므로 부하가 증가확장성(..

기타/study 2025.03.24

Error - 500 Internal Server Error

로그더보기❌ 데이터베이스 오류 발생: Textual SQL expression 'SELECT id, question, expl...' should be expllared as text('SELECT id, question, expl...')서버오류데이터 베이스 쿼리 실행에서 문제발생SQLAlchemy에서 발생하는 오류db.execute()를 사용할 때 SQLAlchemy의 텍스트 표현식을 명시 적으로 지정해야 하는 경우(SQL문이 일반 문자열로 처리돼 문제가 발생할 수 있음) 기존 코드@router.get("/quiz")def get_quiz_data(user: dict = Depends(get_current_user), db: Session = Depends(get_db)): """ JWT ..

Error - 422 Unprocessable Entity(python)

422 Unprocessable Entity 에러는 주로 요청의 데이터 형식이나 요청 내용에 문제가 있을 때 발생 기존 코드def get_current_user(credentials: HTTPAuthorizationCredentials = Security(security)) -> dict: """ JWT 토큰을 검증하고, 사용자 정보를 반환하는 함수 """ token = credentials.credentials # Bearer 토큰 추출 user = decode_access_token(token) # ✅ 기존의 decode_access_token()을 사용하여 검증 if not user: raise HTTPException(status_code=401, ..

Git - organization - fork

포크부터 PR까지 전체 과정1. 원본 레포지토리 포크하기GitHub에서 원본 레포지토리 포크:GitHub에서 원본 레포지토리(예: organization 레포지토리)를 찾아서, 페이지 상단의 "Fork" 버튼을 클릭합니다.이 작업은 원본 레포지토리를 자신의 GitHub 계정으로 복사해 포크된 레포지토리를 생성합니다.포크된 레포지토리 확인:이제 자신의 GitHub 계정에서 포크된 리포지토리를 확인할 수 있습니다. 포크된 레포지토리의 URL은 https://github.com/your-username/repository-name.git와 같은 형식입니다.2. 포크한 레포지토리 클론하기로컬 환경으로 포크된 레포지토리 클론:포크된 리포지토리의 URL을 복사하여, 로컬에 클론합니다.bash복사git clone h..

javaboiii의 Git 2025.02.27