안녕하세요? 강의 잘 듣고 있습니다 강의 내용을 쭉 들으면서, 결과적으로 서비스계층에 어떻게 하면 순수한 비즈니스 로직을 남겨둘수 있을까? 에 대한 고민을 풀어주셨다고 생각합니다. 그런데 저 개인적으로 드는 의문은, 일반적으로 JPA를 사용한다면 jpa ORM Entity가 서비스계층에 출몰하게 될텐데, 이는 곧 서비스계층이 JPA기반의 스택에 의존하게 된다는 것 아닌가요? 예를 들어 DB를 MYSql -> Mongo로 바꾼다고 했을 때, 서비스계층에서의 코드변화도 필요할 것 같은데, 이러한 부분에 대해서 어떻게 생각하시는지가 궁금합니다.
안녕하세요 jdbc 를 통해 데이터를 읽어오는 점에 대해 질문이 있습니다. @Bean public ItemReader<Customer> jdbcCursorItemReader() { return new JdbcCursorItemReaderBuilder<Customer>() .name("jdbcCursorItemReader") .fetchSize(10) .dataSource(dataSource) .sql( "select id, firstName, lastName, birthDate from customer where firstName like ? order by lastName, firstName") .beanRowMapper(Customer.class) .queryArguments("A%") .build(); } 여기서 fetchSIze 는 db 에서 한번에 가져올 레코드 수이고 @Bean public ItemReader<Customer> jdbcPagingReader() throws Exception { Map<String ,Object> paramMap = new HashMap<>(); paramMap.put("firstName", "H%"); return new JdbcPagingItemReaderBuilder<Customer>() .name("jdbcPagingReader") .dataSource(dataSource) .fetchSize(3) .pageSize(3) .queryProvider(pagingQueryProvider()) .parameterValues(paramMap) .beanRowMapper(Customer.class) .build(); } 여기 페이징 방식에는 fetchSize, pageSize 두개를 둘 다 사용할 수 있던데 차이가 정확인 뭔가요? pageSize는 설정 시 쿼리에 Limit 설정 수가 추가되어 나가는 것은 확인했습니다.
안녕하세요. 나중에 프로젝트 진행하실 땐 lock stack을 TLS로 관리해서 스레드마다 스레드 id가 관리되도록 하신다 말씀하셨습니다. 여기에서 생긴 궁금증입니다. 스레드 id가 부여될 때, 감소하지 않고 증가하는 nameToId().size()로 만들어지는 이상 모든 id가 고유할 거라고 생각합니다. id를 통해서 lockHistory에서 value(set객체)를 꺼냅니다. lockHistory는 TLS에서 관리되지 않는 전역 객체입니다(애초에 그러면 안 되겠죠. 전역적으로 사이클 여부를 탐지해야 하니까요!). 스레드 id가 유일한 이상 lockStack을 TLS에서 관리하나 전역으로 관리하는 것이 차이가 없을 것 같은데, 강의 후반에 새로 영상을 추가하시어 '스레드마다 잡고 있는 락이 다르기 때문에 TLS로 관리해야 한다'고 말씀하신 이유가 궁금합니다! id가 전역적으로 1,2,3,4,5,6..이렇게 증가하거나 스레드 별 공간에서 {1,2..} {1,2...} {1,2...} 의 차이 정도로만 생각되어 어떤 본질적인 차이가 있는지 알고 싶습니다! p.s 수업에서 진행한 테스트 코드에서도 문제가 없었던 이유도 궁금증에 한몫을 했습니다.
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 맛비님 Season1 프로젝트부분인 STOP_WATCH를 공부하고 있는데 절차대로 모두 하고 vitis에서 build 후 run을 실행하면 다음과 같은 에러가 나오는데 해결을 계속 해보다가 결국 안되서 어떤 부분이 잘못되면 해당 에러가 나올 수 있을지 여쭤봐도 될까요? vivado와 vitis는 2023.2 버전을 사용중이고 해당 보드(Cora-z7)를 다른 사람 컴퓨터로 테스트 해봤을 땐 괜찮았습니다.
[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
안녕하세요 코랩 실습 과정 중 하드웨어 가속기 선택할 때 V100이 비활성화 되어있을경우 어떤 것을 선택해야 하는지 문의 드립니다. 아울러 모델튜닝 실습 중 tokenizer.default_chat_template 부분에서 에러가 뜨는데 다음 단계로 넘어갈 수 있도록 하는 방법이 있을까요? 이후 패스하고 넘어간다고 해도 PEFT - LoRA부분에서도 에러가 뜹니다. 혹시 위 부분에서 pip install flash-attn===1.0.4 부분을 처리하지 않아서 오류가 난 것일까요?
[질문 내용] 회원 리포지토리는 인터페이스와, 메모리 구현체로 이루어져 있습니다. 그런데 회원 서비스는 회원 리포지토리와는 반대로 클래스로만 이루어져 있는데 왜 회원 리포지토리는 회원서비스처럼 클래스로 만들지 않고 인터페이스와 메모리구현체 클래스로 나뉘었는지 궁금합니다.
<질문요약> Gitpod 환경에서 실습을 진행 중인데, 데이터베이스에 연결은 되지만, 엔티티가 Persist 되질 않습니다. [필자 개발환경] 군대 사지방에서 GitPod 클라우드 개발환경에서, VS Code IDEA 기반 Java 프로젝트를 생성해 JPA 기본편 강의를 듣고 있습니다. Gitpod 프로젝트 셋팅 값 - Java 17 버전 - Gradle java 프로젝트 [이슈사항] build.gradle 파일 plugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.inflearn' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.hibernate:hibernate-core' // JPA 하이버네이트 implementation 'javax.xml.bind:jaxb-api' implementation 'com.h2database:h2' runtimeOnly 'com.h2database:h2' // H2 DB 드라이버 같은 역할 testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } persistence.xml 파일 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="jakarta.persistence.jdbc.user" value="sa"/> <property name="jakarta.persistence.jdbc.password" value=""/> <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:~/jpa-basic"/> <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.JtaPlatform" /> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create" /> </properties> </persistence-unit> </persistence> > 위와 같이 build 파일과 resources/META-INF 폴더에 persistence.xml 파일까지 셋팅을 해주었습니다. JpaMain 클래스 / Member 클래스 구현한 후, JpaMain 클래스 실행 시 EntityManager 로 H2 Database에 Connection은 되지만, 아래와 같은 에러코드로 Persist 가 되지 않습니다. 여건 상 클라우드 환경에서 개발할 수 없기에, 이를 수행할 수 있는 방법을 알려주시면 감사드립니다.
여건이 되신다면 postgre 설치에 대해서 window 에서 설치하는 법 조금 더 리뷰 가능하신가요? connection 에러가 발생해서 진도를 못나가네요. ㅠㅠ 우여곡절을 거쳐서 Server 는 생성했지만, npm run start:dev 실행후 [Nest] 62440 - 2024. 10. 03. 오후 8:22:15 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... error: "matzip-app" �����ͺ��̽� ���� at Parser.parseErrorMessage (C:\rna\server\node_modules\pg-protocol\src\parser.ts:369:69) at Parser.handlePacket (C:\rna\server\node_modules\pg-protocol\src\parser.ts:188:21) at Parser.parse (C:\rna\server\node_modules\pg-protocol\src\parser.ts:103:30) at Socket.<anonymous> (C:\rna\server\node_modules\pg-protocol\src\index.ts:7:48) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Socket.Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:191:23) 이에러가 계속 뜹니다. 도대체 몇시간 째 검색을 하고 있는지. ....