목록전체 글 (7)
기억의 저장소
부스트캠프에 베이직 과정이 신설되었는데, 베이직 과정이 끝난 후의 후기를 써볼려고합니다.베이직 과정이 먼저 무엇인지 설명하자면 2주동안 하루마다 미션이 나오게 되고 이를 해결해야되는 과정입니다.어떤 미션이 나오는지는 이야기하면 안될거 같아 넘어가겠지만 정말 다양한 경험을 하게 해주는 과정입니다또한 베이직 과정은 채점을 하지 않는 것이 특징인데요. 꼭 통과해야하는 테스트나 그런 것들이 없이 내가 열심히 몰두 한 과정을 제출하기만 하는 과정입니다. 성공이아닌 실패를 바라는 사람이 되다베이직 과정을 통해 마인드가 많이 바뀌게 되고 많이 배우게 되었는데 그 중에서 제일 좋았던 점을 한개 써볼려고합니다예전 저는 실패를 하면 안된다라는 강박관념에 과정보다는 구현과 결과에 포커스가 되어 있던 사람이었습니다. 이로 인..
Google Java Style Guide는 Java를 작성할때 어떤 스타일로 작성하면 좋을지에 대해 작성해놓은문서입니다. 왜 이런 문서를 만들어 놓았을까요? 제 생각은 코드를 보는데 편안해지며 이로 인해 다른 사람이 봐도 편안한 코드가 생성되므로 협업이란 방식으로 돌아가는 프로그래밍 세계에서 꼭 필요하므로 작성해 놓았다 생각합니다. 다른 사람이 봐도 편안한 코드는 Java 코드의 가독성과 일관성을 높이기 위해 사용됩니다. 모든 개발자가 동일한 스타일로 코드를 작성하고, 코드 구성이 일관되며 혼란스럽지 않도록 합니다. 이러한 규칙을 따르면 코드를 읽고 유지보수하기 쉬워지며, 다른 사람과 협업할 때 코드의 일관성을 유지하는 데 도움이 됩니다. https://google.github.io/styleguide..
"원티드 프리온보딩 백엔드 8월 코스" 를 듣고 정리한 글입니다. 처음에 회사에 들어갔을때 다른 사람이 만들어 놓은 메서드를 보고 이해가안간다면 히스토리를 파악하고 구조를 파악하면 이해하는데 도움이됩니다. 도커도 마찬가지로 어떠한 상황에서 만들어졌고 어떠한기반위에서 만들어졌는지 알게되면 좀더 깊게 이해할 수 있다 생각 하여 아래와 같은 구조로 도커를 설명하게 되었습니다. 도커가 왜 나오게 되었을까? 맨 처음에는 사진 제일 왼쪽에 있는 Bare Metal 환경 처럼 서버 OS에 맞는 소프트웨어를 올려 실행하게 되었습니다. 그런데 컴퓨터가 윈도우인데 어떤 프로그램이 리눅스 환경에서만 돌아가는 상황이 생기게 되었고 서버를 나누는 방식이든 어떻게든 해결했을것입니다. 서버를 나누기 싫은 개발자는 가상화 기술이라는..
프로젝트를 주제를 정하던 중 gpt를 이용한 답변 서비스를 만들자는 기획이 나오게 되었다. 이 주제에 맞게 gpt를 사용해야 했으므로 gpt를 사용하는방법과 사용하면서 겪은 문제에 대해 정리해 보려한다. gpt에는 정말 다양한 모델이 있는데 이미지를 만들기위한것 텍스트 등등이 존재합니다. API key 발급 받기 https://platform.openai.com/account/api-keys 맨 처음은 key를 발급받아야한다 . GPT API를 사용할때 인증된 사용자인지 판별하기 위해 Key가 필요하므로 발급받아야한다. Chat gpt는 2023-08-09 현재 작성 기준으로는 5달러의 무료 크레딧을 줍니다. 그런데 만약 이미 전부터 gpt를 사용하고 있던 사용자라면 크레딧이 이미 만료되었을 확률이 아주..
예외처리란 예외 처리(Exception handling)란 프로그램이 실행되는 도중에 발생하는 예기치 않은 상황 또는 오류를 처리하는 프로그래밍 기술입니다. (런타임 오류 runtime error 또는 예외 exception)이라고 불린다고합니다. 예외 처리는 프로그램의 안정성과 신뢰성을 향상시키기 위해 사용됩니다. 예외 처리를 통해 오류가 발생했을 때 프로그램이 강제로 종료되는 것을 방지하고, 오류를 처리하거나 적절한 조치를 취할 수 있도록 합니다. 일반적인 예외처리 단계 예외 발생 : 오류가 발생합니다. 예상치 못한상황이거나 미리 예측하여 처리하지 않은 상황입니다. 예외 객체생성 : 해당 예외를 표현하는 예외객체가 생성됩니다. 예외 처리 : 프로그래머는 예외 처리 메커니즘을 사용하여 예외를 처리합니다..
JPQL이란 무엇이냐 JPA가 아무리 좋다고 하더라도 도메인에 따른 디테일한 쿼리는 생성하지 못한다. 공통적인 쿼리를 생성해줄뿐.. 그래서 JPQL이란것을 만들게 되었다.JPA가 객체 중심 개발을 하는것처럼 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공하며 JPQL을 한마디로 정의하면 객체 지향 SQL이라 말할 수 있다. (SQL을 추상화해서 사용한다는것은 즉 객체지향적으로 개발한다는것이다) (SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지않게함) 그렇다고해서 SQL문법과 아예 다른것은 아니고 쿼리를 작성할때 객체명이나 객체필드명을 쓰는등의 방식이 조금 다르다. 문법 기본적인 문법 일반적인 SQL 문법과..
글 작성 이유 JPA가 왜 나오게 되었고 어떻게 발전하여 어떻게 쓰이냐를 정리하려한다 JPA가 왜 나왔는지 알기전에 객체지향 프로그래밍과 관계형 디비의 차이를 알자 객체지향 프로그래밍 VS 관계형 데이터베이스 연관관계 객체는 참조를 사용하여 연관관계를 표현한다. 디비는 외래키를 사용하여 연관관계를 표현한다. 연관관계를 표현하는게 달라 디비에 맞춰 연관관계를 모델링하게되었음 객체의 장점은 객체 그래프 탐색인데 어디까지 쿼리를 날려야할지 모르므로 이것을 사용하지 못하였다. (엔티티신뢰성이 떨어짐 값이 있나 없나 쿼리를 봐야 알 수 있음) 참조객체 사용 > 객체 그래프 탐색 > 예전에 신뢰성문제 해결(여러 테이블이 있을때 조인해서 어디까지 가져온건지에 대한 신뢰) 객체지향 설계의 목표는 자율적인 객체들의 협력..