개발/환경

· ETC/Thinking
- 실제 사용자가 있는 프로젝트를 개발하라 - 다른 사람들에게 내가 만든 프로그램을 피드백 받아라 - 좋은 회사를 미친 듯이 찾아라 이민석 교수님의 블로그 게시글을 간추린 것입니다 출처 : [https://hl1itj.tistory.com/230](https://hl1itj.tistory.com/230) 지금 소프트웨어 개발자 수는 절대적으로 부족합니다 취업의 의미 ‘취업이 가능할까?’라는 질문에서의 취업은 ‘내가 원하는 회사에의 취업’을 의미할 가능성이 높습니다. 그 회사가 풀어내려고 하는 문제를 해결할 수 있는 역량, 그 회사가 다루고 있는 데이터에 관한 경험이 필요합니다. 연봉에 걸맞은 수준의 역량과 경험을 요구하지만 그런 역량과 경험은 학교에서 얻기가 쉽지 않습니다. 그래서 신입으로 원하는 회사에..
· DEV/Java
서비스와 리포지토리 계층 책임의 차이점 서비스 계층과 리포지토리 계층의 주요 차이점은 다음과 같은 책임입니다. 서비스 레이어 비즈니스 로직을 구현 리포지토리 레이어와 상호 작용하여 데이터를 검색 및 저장 트랜잭션을 관리 리포지토리 레이어 데이터 액세스 및 저장 엔터티에 대한 CRUD 작업을 수행 데이터베이스와 상호 작용 서비스 계층은 비즈니스 규칙 및 작업 실행에 중점을 두는 반면 리포지토리 계층은 데이터 지속성과 관련됩니다. 1 단계: 컨트롤러 계층에서 요청 받기 먼저 서비스 계층은 컨트롤러 계층에서 요청을 받습니다. 요청에는 컨트롤러가 클라이언트로부터 수신하고 검증한 데이터가 포함될 수 있습니다. @Service public class UserService { @Autowired private Use..
· DEV/Java
- Controller의 책임 : HTTP 요청 검증과 전처리 컨트롤러 계층은 웹 애플리케이션에서 들어오는 요청의 진입점이며 이러한 요청을 처리하는 특정 역할을 합니다. Service 계층과의 차이점 컨트롤러 레이어 HTTP 요청 및 응답을 처리하고, 요청을 검증하고, 비즈니스 로직을 서비스 레이어에 위임합니다. 서비스 계층 비즈니스 로직을 포함하고 데이터 검색 및 저장을 위해 저장소 계층과 상호 작용하며 트랜잭션을 관리할 수 있습니다. 컨트롤러 계층은 비즈니스 규칙이나 데이터 스토리지와 관련이 없는 반면 서비스 계층은 HTTP 프로토콜 세부 정보를 처리하지 않습니다 1단계: 요청 받기 컨트롤러 계층은 클라이언트로부터 들어오는 HTTP 요청을 받습니다. 이러한 요청을 적절한 처리기 메서드로 라우팅하는 일..
· DEV/Java
HTTP 상태 코드는 HTTP 응답의 일부로, 서버가 클라이언트의 요청을 어떻게 처리했는지를 나타냅니다. 상태 코드는 클라이언트에게 요청의 성공, 실패 및 원인에 대한 정보를 제공합니다. 상태 코드를 Body에 담는 이유 상태 코드를 HTTP 응답의 본문(Body)에 포함시키는 이유는 두 가지 주요한 이유가 있습니다: 1. 상세한 정보 제공 상태 코드만으로는 에러의 세부 사항을 충분히 설명할 수 없습니다. 본문에 상태 코드와 함께 에러 메시지를 제공하면, 클라이언트는 에러의 원인을 더 정확하게 파악할 수 있습니다. 2. 응용 프로그램의 일관성 유지 본문에 상태 코드를 포함시키면, 응용 프로그램 내에서 에러 응답의 형식을 일관되게 유지할 수 있습니다. 보통 헤더에 상태 코드를 포함해서 반환을 하는데, 이 ..
· DEV/Backend
Restful API - 클라이언트와 서버 간 통신 규칙과 규약 제공 - 강제성이 없고, 이미 컨벤션이 있다면 존중하라 REST는 웹 기반 애플리케이션에서 자원을 표현하고 상태를 전송하기 위한 아키텍처 스타일입니다. 이는 RESTful API의 규칙과 규약을 제공하며, 이를 통해 클라이언트와 서버 간의 통신이 이루어집니다. 자원은 고유한 URI(Uniform Resource Identifier)로 표현되고, HTTP 메서드를 사용하여 자원을 조작합니다. Restful API 예시 모든 사용자 조회: GET: /users 특정 사용자 조회: GET: /users/{id} 새로운 사용자 생성: POST: /users 특정 사용자 수정: PUT: /users/{id} 특정 사용자 삭제: DELETE: /use..
· ETC
Python 가상 환경(Virtual env) 구성 with Mac 먼저 Mac에서 터미널 앱을 엽니다. Python 3이 설치되어 있는지 확인합니다. python3 --version Python 3.3 이상과 함께 제공되는 venv 모듈을 설치합니다. 이전 버전의 Python이 있는 경우 다음을 실행하여 virtualenv 패키지를 사용할 수 있습니다. python3 -m pip install --user virtualenv 가상 환경을 만들 디렉터리로 이동합니다. 예를 들어 문서 폴더의 "my_project"라는 폴더에 가상 환경을 만들려면 다음을 실행합니다 cd ~/Documents/my_project 가상환경을 이제 생성하고 실행합니다 필요한 패키지가 있다면 가상 환경에 설치하고, 이제부터 가상환..
· ETC
IntelliJ 초기 설정 - VSCODE를 떠나며 아직 대학생이라서 인텔리제이의 학생 프로모션을 사용할 수 있어서 VSCODE에서 이전을 하기로 했다. [[🐥 카카오 테크 캠퍼스]]를 하면서 자바를 쓸 일이 많아졌는데, 이클립스는 쓰고 싶지 않아서 사용하게 된게 크다 근데 막상 사용하니, 너무… 좋은데…?가 되어서 다른 프로젝트들도 인텔리제이에서 작업하려고 한다 테마 설정 IntelliJ를 열고 왼쪽 상단 모서리에 있는 "IntelliJ IDEA"를 클릭하고 드롭다운 메뉴에서 "기본 설정"을 선택하여 기본 설정으로 이동합니다. 기본 설정 창의 왼쪽 사이드바에서 "플러그인"을 선택합니다. 플러그인 창에서 “마켓플레이스” 탭을 클릭합니다. 검색 창을 사용하여 설치하려는 테마를 찾습니다. 카테고리별로 탐색하..
· ETC
M - Mac OS에 설치 된 모든 파이썬 패키지 삭제하는 방법 Mac OS에서 다운로드 받은 모든 파이썬 라이브러리를 삭제하려면 다음 단계를 따르세요. 주의: 이 과정은 모든 파이썬 라이브러리를 삭제하므로 주의하세요. 이 작업은 되돌릴 수 없습니다. 시스템 전체의 파이썬 라이브러리 삭제: 시스템 전체에 설치된 파이썬 라이브러리는 일반적으로 /Library/Python//site-packages 디렉토리에 있습니다. 여기서 은 파이썬 버전을 나타냅니다 (예: 2.7, 3.7 등). 터미널에서 다음 명령어를 실행하여 해당 디렉토리로 이동한 다음 모든 라이브러리를 삭제합니다: cd /Library/Python//site-packages sudo rm -rf * 사용자 계정에 설치된 파이썬 라이브러리 삭제: ..
· ETC
Pyenv 세팅 방법 pyenv는 여러 버전의 Python을 관리할 수 있는 도구입니다. 개인적으로 파이썬을 가지고 노는 것을 좋아하므로, 여러 가지 프로젝트에서 범용성을 위해 pyenv를 자주 사용하게 됩니다 Pyenv 설치 과정 Apple Silicon M1 Mac에서 pyenv를 설치하고 사용하는 방법은 다음과 같습니다. Homebrew 설치 먼저 Homebrew 패키지 관리자를 설치해야 합니다. 이미 설치되어 있다면 이 단계를 건너뛰어도 됩니다. 터미널에서 다음 명령어를 실행하여 Homebrew를 설치합니다: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" pyenv 설치 H..
berom
'개발/환경' 태그의 글 목록