[댓글 CRUD 만들기] 14장 | 댓글 엔티티와 리포지토리 만들기
·
CS/스프링부트3 자바 백엔드 개발 입문
게시판에 댓글을 생성, 조회, 수정, 삭제하는 댓글 CRUD 기능을 구현한다. 14.1 댓글 기능의 개요14.1.1 댓글과 게시글의 관계one-to-many(일대다) 관계: 하나의 게시글에 여러 댓글이 달린다. (댓글 입장에서는 다대일) article 테이블과 comment 테이블📍article테이블📍comment 테이블➡️ article 테이블과 comment 테이블이 id 기준으로 관계를 맺고 있다. 대표키(PK, Primary Key, 기본키): 자신을 대표하는 id처럼 자신을 대표하는 속성대표키는 동일 테이블 내 중복값이 없어야 함외래키(FK, Foreign Key): 연관 대상을 가리키는 속성comment 테이블에는 연관 대상을 가리키는 article_id가 더 있다. 외래키를 따라가면 해당..
[플러스] 03/06(목) 남미의 석유 분쟁에 전운이 감돕니다
·
손에 잡히는 경제
가이아나 위치남미 대륙 북쪽 끝 카르브해 남쪽 수리남과 베네수엘라 사이 존재. 남미 북부 지역은 기본적으로 아마존 정글이 이어지는 지역➡️ 사람들이 주로 해변가에 산다.  관심받는 이유: 석유(110억 배럴 정도 매장)세계 17위나 18위 정도인데, 인구가 많으면 큰 도움이 안될 수도 있다. 근데 가이아나는 전체인구가 80만밖에 되지 않기 때문에 인구도 적고 가진 게 없는 나라에서 대규모 자원이 발견되다 보니 돈이 들어오기 시작해 GDP가 큰 폭으로 오를 수 있다. 석유가 발견되었다고 다 좋은 건 아니고, 질도 중요하고 얼마나 캐내기가 쉬운지도 중요하고, 캐낸 다음 운송하기도 비교적 용이해야 한다. 가이아나 옆의 베네수엘라는 매장량으로 보면 압도적 1위이지만 환영받지 못하는 이유도 베네수엘라에서 캐낸 원..
[NLP] 한국어 형태소 분석기 Kiwi
·
CS/개발
🔗 깃허브https://github.com/bab2min/Kiwi GitHub - bab2min/Kiwi: Kiwi(지능형 한국어 형태소 분석기)Kiwi(지능형 한국어 형태소 분석기). Contribute to bab2min/Kiwi development by creating an account on GitHub.github.com🔗 Kiwipiepy Docshttps://bab2min.github.io/kiwipiepy/v0.15.2/kr/ kiwipiepy API documentation (v0.15.2)Package kiwipiepy Kiwipiepy란? Kiwipiepy는 한국어 형태소 분석기인 Kiwi(Korean Intelligent Word Identifier)의 Python 모듈입니다...
[REST API와 테스트 코드 작성하기] 13장 | 테스트 코드 작성하기
·
CS/스프링부트3 자바 백엔드 개발 입문
코드 수정 시 문제가 발생하므로 서비스 계층 동작 검증을 자동화 하기 위한 테스트 코드 작성법13.1 테스트란프로그램의 품질을 검증하는 것으로, 의도대로 프로그램이 잘 동작하는지 확인하는 과정테스트 도구 활용해 코드를 검증하기 = 테스트 코드(test code) 작성해 실행하기📍테스트 코드 작성법예상 데이터 작성하기실제 데이터 획득하기예상 데이터와 실제 데이터 비교해 검증하기✅ 작성한 코드가 테스트 통과 시 지속적인 리팩토링으로 코드 개선❎ 테스트 통과 못하면 디버깅(debugging)해서 잘못된 부분을 고치기 테스트 코드로 다양한 테스트 케이스를 작성성공하는 경우와 실패하는 경우 모두 고려성공1, 성공2,,, 실패1, 실패2,,, 와 같이 다양한 상황을 예상해 세부적으로 작성테스트 주도 개발(TDD,..
[REST API와 테스트 코드 작성하기] 12장 | 서비스 계층과 트랜잭션
·
CS/스프링부트3 자바 백엔드 개발 입문
REST API에 서비스 계층을 추가해보고 문제 생기면 트랜잭션을 이용해 롤백하는 방법 알아보기12. 1 서비스와 트랜잭션의 개념✔️ 서비스(service)컨트롤러와 리포지토리 사이에 위치하는 계층으로, 서버의 핵심 기능(비즈니스 로직)을 처리하는 순서 총괄 ✔️ 트랜잭션(transaction) 모두 성공해야 하는 일련의 과정; 트랜잭션 단위로 서비스 업무 처리 진행e.g. 식당 예약에서 결제를 실패하면 이전까지 진행해도 모두 취소되어야 한다. -> 트랜잭션트랜잭션이 실패로 돌아갈 경우 진행 초기로 돌리는 것이 롤백(rollback)!  REST 컨트롤러로 서비스 컨트롤러 확인하기// 컨트롤러 역할: 클라이언트 요청받기@PatchMapping("/api/articles/{id}")public Respon..
테스트 프레임워크와 Pytest 알아보기
·
CS/개발
📌 테스트 프레임워크소프트웨어가 원하는 대로 동작하는지 검증하기 위해 테스트 코드 작성, 실행, 관리 자동화하는 도구 및 라이브러리 집합테스트를 일관되고 반복적으로 실행할 수 있다. 테스트 케이스를 자동으로 찾아 실행 후 보고여러 테스트 케이스를 체계적으로 관리, 공통 환경 설정을 제공하는 Fixture기능 제공오류 진단 및 디버깅 지원코드 수정 후 자동 테스트 실행해 기존 기능에 문제 일으키지 않도록 해줌➡️ JUnit(Java), pytest(python) 등📌 Pytestpython에서 가장 많이 사용되는 테스트 프레임워크 중 하나단위 테스트(unit testing)통합 테스트(integration testing)✔️ 주요 특징간편한 테스트 작성: 테스트 함수나 테스트 클래스 이름의 프리픽스(p..
[LLM의 기초 뼈대 세우기] 02 - LLM의 중추, 트랜스포머 아키텍쳐 살펴보기 : 트랜스포머 아키텍처란(2)
·
AI/LLM을 활용한 실전 AI 애플리케이션 개발
2.4 정규화와 피드 포워드 층✔️ 정규화: 딥러닝 모델에서 입력이 일정한 분포를 갖도록 만들어 학습이 안정적이고 빨라질 수 있도록 하는 기법과거: 배치 정규화(batch normalization) - 배치 입력 데이터 사이에 정규화 진행현재: 층 정규화(layer normalization) - 트랜스포머 아키텍처에서 사용하는 특정 차원에서 정규화 수행 ✔️ 어텐션 연산: 입력 단어 사이의 관계를 계산해 토큰 임베딩을 조정하는 역할 ✔️ 피드 포워드 층: 전체 입력 문장을 이해하는 연산(완전 연결 층, fully connected layer) 2.4.1 층 정규화 이해하기데이터를 정규화하여 모든 입력 변수가 비슷한 범위의 분포를 갖도록 조정해 특정 변수를 과도하게 반영하는 것을 방지한다. ✔️ 입력 데이..
[REST API와 테스트 코드 작성하기] 11장 | HTTP와 REST 컨트롤러
·
CS/스프링부트3 자바 백엔드 개발 입문
게시판 데이터를 CRUD 하기 위한 REST API 구현하기11.1 REST API의 동작 이해하기요청 메세지요청 라인: PATCH /posts/1 HTTP/1.1헤더본문응답 메세지상태 라인: HTTP/1.1 200헤더본문REST API 응답 표준으로 사용하는 JSON은 키와 값의 쌍으로 된 속성으로 데이터를 표현한다. JSON 값으로 또 다른 JSON 데이터나 배열을 넣을 수도 있다. REST: HTTP URL로 서버의 자원을 명시하고, HTTP 메서드로 해당 자원에 대해 CRUD 하는 것API: 클라이언트가 서버의 자원을 요청할 수 있도록 서버에서 제공하는 인터페이스11.2 REST API의 구현 과정REST API 구현을 위해서는 REST API의 주소인 URL을 설계해야 한다. 1️⃣ 게시판의 A..
[플러스] 02/27(목) 화웨이 혁신의 비결은 무엇일까?
·
손에 잡히는 경제
중국의 화웨이가 AI 반도체 설계에 있어 두각을 나타내고 있다중국의 바이드라는 인터넷 검색 업체가 미국의 구글을 모방했지만 지금은 구글과 비슷한 기업이 되었는데, 바이드에서 작년 8월 화웨이에서 910b의 어센드라는 AI칩 1600개를 주문했는데, 이런 어센느 칩의 성능이 NVIDIA의 AI 제품인 a100과 비슷한 수준이라고 한다. 📍미국이 그렇게 제재를 해왔는데 몇 년 안에 역량을 끌어올릴 수 있었던 이유화웨이는 미국 제재 전부터 반도체 등 핵심 부품 자립도 높이려고 노력해왔는데 오히려 제재가 화웨이에서 반도체나 핵심 부품의 자립을 앞당겨주는 역할을 했던 것 같다. 물론 단기적으로 화웨이가 시장 점유율이 엄청 떨어지는 등 약해지는 상황도 있었는데 이제는 제 2의 전성기를 준비하는 과정이다.  📍화..
[REST API와 테스트 코드 작성하기] 10장 | REST API와 JSON
·
CS/스프링부트3 자바 백엔드 개발 입문
웹 브라우저뿐만 아니라 다른 기기에서도 정보를 요청하고 응답할 수 있게 하는 REST API와 JSON에 관해 알아보기10.1 REST API와 JSON의 등장 배경웹 서비스를 사용하는 클라이언트: 웹 브라우저, 스마트폰, 스마트워치, 테블릿 등서버: 어떤 기기가 와도 기기에 맞는 뷰 페이지를 응답해야 한다 ➡️ REST API 사용하기API(Application Programming Interface): 애플리케이션을 간편히 사용할 수 있게 하는 미리 정해진 약속자판기) 버튼이 하나의 API인데 콜라 버튼을 누르면 콜라가, 사이다 버튼을 누르면 사이다가 나오는 것 - 버튼에 따라 반환될 음료를 미리 약속한 셈윈도우 API: 윈도우 개발을 위해 미리 정해진 약속자바 API: 자바 개발을 위해 미리 만들어..