본문 바로가기

분류 전체보기66

[React] Next.js 관련 면접 질문 및 답변 가이드 개요Next.js 관련 기술 면접 질문과 모범 답변에 대한 정리 글입니다. 면접 준비에 활용하세요.질문 리스트Next.js 정의Next.js의 주요 기능SSR과 CSR의 차이getInitialProps 기능Next.js의 라우팅 방식API 경로 생성 방법면접 질문1. Next.js는 무엇입니까?Next.js는 React.js, Node.js 및 JavaScript 위에 구축된 오픈 소스 개발 프레임워크입니다. Vercel에서 개발했으며 create-react-app에서 사용할 수 없는 서버 측 렌더링 및 정적 사이트 생성과 같은 기능을 활성화합니다.2. Next.js의 주요 기능은 무엇입니까?SSR(Server Side Rendering): 더 나은 SEO와 더 빠른 페이지 로드 시간을 보장합니다.SSG.. React 2023. 7. 13.
[React] JWT (JSON Web Tokens)에 대하여 개요이 글에서는 JSON Web Tokens (JWT)에 대해 이야기하려고 한다. JWT는 JSON 객체로 정보를 안전하게 주고받는 표준으로 이 정보들은 디지털 서명되어 있어서 검증하고 신뢰할 수 있다.JWT 제작 시 주의점1. HTTPS는 필수프로덕션에서는 항상 HTTPS를 사용해야 한다. JWT가 전송 중에 암호화되므로, 도청 공격으로부터 안전해진다.2. 비밀키 보안 강화JWT를 서명하는 데 사용하는 비밀 키는 항상 안전하게 보관해야한다. 만약 노출된다면 공격자가 토큰을 위조할 수 있어서 위험하다.3. 토큰 만료 시간 토큰에 만료 시간을 설정하는 것은 꼭 필요하다. 토큰이 노출되더라도 만료 시간이 설정되어 있다면 피해를 최소화할 수 있다.4. 민감한 정보는 패스JWT의 페이로드에 민감한 데이터를 넣지.. React 2023. 7. 4.
[Linux] Python 3.9.16 버전으로 업그레이드 및 주요 라이브러리 설정하기 개요Python 버전을 3.9.16으로 업그레이드하고 AI 및 데이터베이스 작업에 필요한 라이브러리, 즉 OpenCV와 MySQL Connector를 설치하는 방법에 대해 알아보자.Python 3.9.16으로 업그레이드하기첫 번째 단계는 Python 3.9.16으로 업그레이드하는 것이다.해당 버전은 AI 라이브러리 cv2와 데이터베이스 작업을 이용하기 위해 필요하다. 아래 절차를 따라해보자.1. 현재 Python 버전 확인python --version2. 리눅스 배포판의 패키지 목록 업데이트sudo apt updateLinux 배포판에서 패키지 목록을 업데이트하는 명령어.이 명령어로 설치 가능한 패키지들의 최신 버전 정보를 알 수 있다.3. 설치된 패키지를 최신 버전으로 업그레이드sudo apt upgr.. Linux 2023. 6. 21.
[PHP] PHP에서 Python 실행하기 개요PHP로 이루어진 웹 페이지 개발 도중 python 코드로 구현된 AI를 적용해야 하는 일이 있었다.PHP에서 Python 코드를 호출하여 AI 실행 후 결과를 리턴받는 과정을 구현해보자.방법구현 방법은python 코드 구현python 로직 호출하는 PHP 코드 구현AI가 필요한 부분에 방법 2의 PHP 호출3가지 순서로 이루어진다.1. python 코드 구현비지니스 로직에 맞춰 python 기반 AI를 구현한다.이 때, print 문법을 활용하여 PHP코드로 결과 값을 리턴할 수 있다.print("result")2. python 호출하는 PHP 코드 구현두 번째로 python 코드를 호출하고 값을 리턴 받을 수 있는 PHP를 작성한다.AI가 필요한 부분에 호출을 직접 작성해도 되는거 아니냐 ! 뭐하.. PHP 2023. 6. 9.
[Database] Mybatis 다량 Row 한번에 Insert 하는 법 개요10만번의 insert를 할 경우 232초가 걸렸다. 10만번의 DB I/O 시간 때문인데, UX관점에서 좋지 않았다.I/O 횟수 단축을 위해 다량의 데이터를 한 번에 insert하는 방법을 찾았다.방법 1insert의 values 구문에 여러 개의 데이터 Row를 넣는다.기존insert into dataset(ID, FIRSTNAME, LASTNAME, EMAIL)values(1, "Gomgom", "Kim", "abc@naver.com")다중 insertinsert into dataset(ID, FIRSTNAME, LASTNAME, EMAIL)values(1, "Gomgom", "Kim", "abc@naver.com"),(2, "Gomgom2", "Kim", "abc2@naver.com"),(3,.. Database 2022. 12. 8.