IT/개발 14

blot.new를 아시나요?

개발에 대한 흥미가 조금 (많이) 식은 이 타이밍에 blot.new를 알게 되었다. AI는 chat.gpt와 copliot밖에 제대로 안써보았을 땐, 아직은 괜찮다고 생각했다. 많이 의존하고 있으면서도 사용자의 기본 바탕이 없다면 구축하는 것에 대한 AI의 한계가 존재한다고 생각했다. 그리고 blot.new를 사용하고 있는 지금 이 시점에서도 아직은 AI의 한계가 존재한다고 생각한다. 하지만 '아직은'이라는 기간이 꽤나 앞당겨졌다는 것을 느꼈다. https://bolt.new bolt.new project bolt.new Bolt.new란?blot.new의 첫 홈페이지에서 말해준다. What do you want to build?만들고 싶은 걸 입력하면 그대로 다 만들어준다. 큰 설명 없이 동영상으로 대..

IT/개발 2024.11.29

[TypeScript] Typescript 장점과 타입

TypeScript TypeScript 특징 자바스크립트의 확장된 언어, 자바스크립트에 타입을 입힌 언어 컴파일 필요: 브라우저에서 실행할 때 한 번 변환이 필요함 TypeScript의 장점 에러 사전 방지 JavaScript에서 잡을 수 없는 데이터의 모습, 오타 등을 알 수 있음 ex) JS Dock을 이용한 type 정의 /** User 객체 타입 정의 * @typedef {object} User * @property {string} name * @property {string} email */ /** * @returns {Promise } */ function ~ 코드 가이드 및 자동 완성 function add(a : number, b : number): number{ return a + b; ..

IT/개발 2022.04.08

[DB] SELECT ~ FOR UPDATE

SELECT ~ FOR UPDATE 선택한 행에 대해 LOCK을 설정하는 기능, update와 delete에서만 row level lock을 걸 수 있다. > 쉽게 말해, 내가 이 행을 update 할 것이니 사용하지 말라고 조건을 주는 것 옵션 1. SELECT FOR UPDATE: SELECT시, 다른 사람이 LOCK 중이면 무한정 기다림 2. SELECT FOR UPDATE NOWAIT: SELECT시, LOCK을 제어할 수 없으면 에러처리, 누군가 LOCK 중이면 해당 행에 대한 LOCK을 포기 3. SELECT FOR UPDATE WAIT 5(초단위): SELECT시, LOCK을 제어할 수 없으면 5초동안 계속 LOCK을 재시도, 5초가 지나면 포기

IT/개발 2021.11.05

[Spring] Spring Data JPA 사용 방법

pom.xml에 라이브러리 추가 org.springframework.boot spring-boot-starter-data-jpa org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 - H2: 인메모리 DB 테이블 매핑 @Entity(name = "member") public class Member{ @Id private Long id; private String name; @Builder public Member(String name){ this.name = name; } } Member (PK) bigint id varchar name - @Entity: JPA가 관리하는 클래스 > name: 속성 지정, 사용할 엔티..

IT/개발 2021.10.29

[Spring] JPA란

JPA 자바 진영의 ORM 기술 표준 명세 ORM(Object Relational Mapping) 객체-관계 매핑, 객체지향프로그래밍(OOP)의 클래스와 RDB의 테이블을 자동으로 매핑하는 것을 의미 객체는 객체대로, RDB는 RDB대로 설계하여 ORM이 중간에서 매핑하는 형태 https://geonlee.tistory.com/207 장점 - 완벽한 객체지향적인 코드: 클래스의 메서드를 통해 데이터베이스 조작 - 재사용성, 유지보수, 리팩토리 용이 - DBMS 종속성 ❌ 단점 - 객체-관계 간의 불일치: 세분성, 상속성, 일치, 연관성, 탐색 동작 과정 - 애플리케이션과 JDBC 사이에서 동작 조회 저장 장점 - SQL 중심적인 개발에서 객체 중심으로 개발 - 생산성 > CRUD 간편 저장: jpa.pe..

IT/개발 2021.10.29

[Spring] Spring Cloud 개념 및 핵심 컴포넌트

Spring Cloud https://happycloud-lee.tistory.com/207 - MSA의 개발, 배포, 운영에 필요한 아키텍처를 쉽게 구성할 수 있도록 지원하는 Spring Boot 기반 프레임워크 - 분산 시스템 상에 필요한 여러 패턴들을 표준 패턴화 시켜 손쉽게 개발 할 수 있도록 지원 🔴중요 컴포넌트 : Spring Cloud Netfix의 Zull, Eureka, hystrix, ribbon EOS, Spring Config Spring Config Spring Cloud Config 서버를 사용하여 Spring Boot Application의 환경설정 파일을 한 곳에 저장, 해당 서버에 접근하여 환경 설정 정보를 가져옴 장점 - 모든 Application의 환경 설정 정보를 한 ..

IT/개발 2021.10.01

[SpringBoot] Transaction 사용하기

Transaction sql 실행 시, 하나의 단위로 묶어서 처리하는 방법 ex) 티켓을 구매하기 위해서 A(티켓수) sql과 B(사람수) sql이 모두 실행되어야 성공일 때 A와 B는 하나의 트랜잭션 안에서 실행됨 ▶️ A 또는 B 실패 시 두 sql 실행X TransactionTemplate SpringBoot에서 사용하는 Trasaction //transation @Autowired TranactionTemplate transactionTemplate; public void outTransaction(){ try{ transactionTemplate.execute(new TransactionCallbackWithoutResult(){ @Override protected void doInTransac..

IT/개발 2021.09.24

[SpringBoot] MyBatis 간단 기초

MyBatis 스프링부트에서 sql 쿼리문을 쉽게 작성하기 위한 프레임워크 xml 파일을 이용해서 일반적인 sql 작성 사용방법 1. application.properties //mapper하위 디렉토리에 모든 xml을 다 사용함 mybatis.mapper-locations:classpath:mybatis/mapper/**/**.xml 2. Mapper XML select id, pw from Login where id=#{_id} - where문 뒤에는 변수명으로 _id가 파라미터명이 됨 - resultType은 해당하는 패키지 밑에 있는 DTO가 됨 3. DAO //xml에서 같은 이름 실행 @Mapper public interface LoginDao{ List list(@Param("_id") St..

IT/개발 2021.09.22