부트스트랩 CSS 적용 안됨
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 부트스트랩 css 적용이 계속 안되서 에러가 발생하는데 영상에서 하신 방법들(Resources 우클릭 - Reload from disk 등) 그대로 하더라도 적용이 안되네요!ㅠㅠ 미리 감사드립니다.
- spring-boot
- 웹앱
- JPA
- java
- spring
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 부트스트랩 css 적용이 계속 안되서 에러가 발생하는데 영상에서 하신 방법들(Resources 우클릭 - Reload from disk 등) 그대로 하더라도 적용이 안되네요!ㅠㅠ 미리 감사드립니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] h2는 1.4.199를 사용합니다 User 테이블이 생성되어야 할 것 같은데 생성 실패하는 이유가 뭘까요? (User 테이블이 아니라 강의를 똑같이 따라한 Member에서 id를 @GeneratedValue해도 같은 오류가 나타납니다) persistence.xml <? xml version ="1.0" encoding ="UTF-8" ?> <!--jpa 설정 파일 --> <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 ="javax.persistence.jdbc.driver" value ="org.h2.Driver" /> <property name ="javax.persistence.jdbc.user" value ="sa" /> <property name ="javax.persistence.jdbc.password" value ="" /> <property name ="javax.persistence.jdbc.url" value ="jdbc:h2:tcp://localhost/~/test" /> <property name ="hibernate.dialect" value ="org.hibernate.dialect.H2Dialect" /> <!-- 옵션 --> <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> User.java package hellojpa ; import javax.persistence.* ; @Entity public class Users { @Id @GeneratedValue (strategy = GenerationType. IDENTITY ) private String id ; @Column private String name ; public Users () { } public String getName () { return name ; } public void setName (String name) { this . name = name ; } public String getId () { return id ; } public void setId (String id) { this . id = id ; } } 오류내역 Hibernate: create table User ( id varchar(255) generated by default as identity, name varchar(255), primary key (id) ) 1월 01, 2022 6:05:00 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " create table User ( id varchar(255) generated by default as identity, name varchar(255), primary key (id) )" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " create table User ( id varchar(255) generated by default as identity, name varchar(255), primary key (id) )" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlString(AbstractSchemaMigrator.java:559) at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlStrings(AbstractSchemaMigrator.java:504) at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.createTable(AbstractSchemaMigrator.java:277) at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:71) at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:207) at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:114) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:183) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:310) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at hellojpa.MappingMain.<clinit>(MappingMain.java:9) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "\000d\000a CREATE TABLE USER[*] (\000d\000a ID VARCHAR(255) GENERATED BY DEFAULT AS IDENTITY,\000d\000a NAME VARCHAR(255),\000d\000a PRIMARY KEY (ID)\000d\000a )"; expected "identifier"; SQL statement: create table User ( id varchar(255) generated by default as identity, name varchar(255), primary key (id) ) [42001-204] at org.h2.message.DbException.getJdbcSQLException(DbException.java:521) at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) at org.h2.message.DbException.getSyntaxError(DbException.java:265) at org.h2.command.Parser.readIdentifier(Parser.java:6080) at org.h2.command.Parser.readIdentifierWithSchema(Parser.java:6040) at org.h2.command.Parser.readIdentifierWithSchema(Parser.java:6069) at org.h2.command.Parser.parseCreateTable(Parser.java:10325) at org.h2.command.Parser.parseCreate(Parser.java:7811) at org.h2.command.Parser.parsePrepared(Parser.java:1140) at org.h2.command.Parser.parse(Parser.java:1068) at org.h2.command.Parser.parse(Parser.java:1037) at org.h2.command.Parser.prepareCommand(Parser.java:965) at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:624) at org.h2.server.TcpServerThread.process(TcpServerThread.java:288) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.lang.Thread.run(Unknown Source) at org.h2.message.DbException.getJdbcSQLException(DbException.java:451) at org.h2.engine.SessionRemote.done(SessionRemote.java:607) at org.h2.command.CommandRemote.prepare(CommandRemote.java:85) at org.h2.command.CommandRemote.<init>(CommandRemote.java:51) at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:477) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1292) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:217) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:205) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) ... 15 more 1월 01, 2022 6:05:00 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/test] Process finished with exit code 0
미해결
탄탄한 백엔드 NestJS, 기초부터 심화까지
Error: Cannot find module 'app.model' Require stack: - D:\Study\Inflearn\NestJS\Express\letsStart\dist\app.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (D:\Study\Inflearn\NestJS\Express\letsStart\dist\app.js:4:19) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'D:\\Study\\Inflearn\\NestJS\\Express\\letsStart\\dist\\app.js' ] } npm run start:dev 했을때 이와같은 오류가 발생하고 postman도 마찬가지로 localhost:8000으로 get 검색시 찾지 못하는데 어느 부분에서 잘못됬는지를 모르겠습니다. 코드는 오타 없이 강사님이 작성한것과 동일합니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. OrderItem의 생성 메소드 (createOrderItem)에서 setOrder를 하지 않은 이유가 OrderItem을 Order가 관리하는 형태여서 그런건가요? 이유가 무엇인가요?
해결됨
15일간의 빅데이터 파일럿 프로젝트
1. java 버전으로 1.8을 설치한다고 하셨는데 1.8로 설치하는 이유를 알고 싶습니다. 2. 환경 변수에 이미 JAVA_HOME이 있으면 어떻게 해야하나요? 3. 이클립스 installer를 다운받고 실행했더니 다음과 같이 뜨는데 어떤 것을 설치해야하나요 4. vitualbox download 하는 부분에서 no longer supported라고 명시되어있음에도 다운받아서 사용하는 이유를 알고 싶습니다. 5. 파일질라를 사용하는 대신에 scp 나 rsync 명령어를 사용하여 진행할 수 있을까요
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요! 강의 너무 잘 듣고 있습니다. 듣다가 잘 모르겠는 점이 있어서 질문을 드립니다. 기존 서비스 테스트코드에서는 @BeforeEach로 의존주입을 했는데, 통합테스트에서는 아래와 같이 @Autowired로 끌어온다고 하셨습니다. 테스트코드인데도 SpringConfig코드에서 아래의 서비스와 레포지토리 객체를 실제로 끌어오는 건가요?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 명시적 조인 예시로 보여주신 다음 JPQL에 궁금한적이 있습니다. select m.username from Team t join t.members m 위 코드에서 alias m은 무엇에 대한 별칭인가요? 1. t.members as m 위 코드 처럼 team과 members를 묵시적으로 조인한 결과 릴레이션을 m이라 칭한다는 의미인가요?? 아니면... 2. (Team t join t.members) m 위 코드처럼 t와 t.members 를 조인한 릴레이션을 m이라 칭한다는 의미인가요?? PPT를 보면 "FROM 절에서 명시적 조인을 통해 별칭을 얻는다" 라고 하셨는데, 명시적 조인을 통해 => 즉 2번 을 통해 m을 얻는다는 의미 인가요? 이게 한줄로 써있다 보니까 햇갈리는것 같습니다 ㅠ.ㅠ
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
8:30 에 윈도우 버전으로 어떻게 바로 템플릿위치로 넘어가나요?
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니요 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요 강의잘보고있습니다 다름이 아니라 제가 취업준비하려는 회사가 jsp를 사용하는데 jpa활용2편 까지의 기능을 타임리프 대신 jsp로 적용하여 구현할수있는지 궁금합니다 구현하려면 코드수정이 컨트롤러 에서도 일어나야하는지 궁금합니다!
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요. 강의를 보다가 질문 드립니다. 회원가입 중복처리 부분에서, 김영한님 말대로 회원가입하는 사람수가 매우 많으면 validateDuplicateMember만으론 부족하여, 결국 동시성문제가 발생 할 수밖에 없습니다. 그래서 name에 대하여 unique제약조건이 필수인데요. 그런데 생각해보면 그럴거면 굳이 validateDuplicateMember를 할 필요없이 그냥 unique제약조건을 걸어놓기만 해도 충분합니다. 제가 보기에는 에러처리를 괜히 두번해주는 느낌을 받았거든요. 여기서 이렇게 해주는 이유는 1. 단순 예시를 보여주기 위함. 2. 도메인에 unique제약 조건을 거는 것만으론 테스트를 통과하지 못함(@Commit을 추가하지 않는 이상). 이부분이 테스트 할때 좀 거슬리긴 하더라구요. 3. 좀 더 빠른 반응성? 4. db쪽 예외는 나중에 앞단에서 처리해주기 까다로움. 5. 그 외 다른 이유가 있음. 이정도 생각해보았는데요. 어떤 이유에서 인지 알려주시면 감사하겠습니다.
미해결
탄탄한 백엔드 NestJS, 기초부터 심화까지
혹시 NESTJS의 CQRS 패턴과 graphql(with dataloader and federation) 강의도 해주실 수 있나요??
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. <dependencies> <!-- H2 데이터베이스--> <dependency> <groupId> com.h2database </groupId> <artifactId> h2 </artifactId> <version> 2.0.202 </version> </dependency> <!-- JPA 하이버네이트--> <dependency> <groupId> org.hibernate </groupId> <artifactId> hibernate-entitymanager </artifactId> <version> 5.6.1.Final </version> </dependency> </dependencies> @Entity public class Member { @Id @GeneratedValue (strategy = GenerationType. IDENTITY ) private Long id ; ... } public class EntityMapping { public static void main (String[] args) { EntityManagerFactory emf = Persistence. createEntityManagerFactory ( "hello" ) ; EntityManager em = emf.createEntityManager() ; EntityTransaction tx = em.getTransaction() ; tx.begin() ; try { Member member = new Member() ;; member.setUsername( "AAA" ) ; em.persist(member) ; tx.commit() ; } catch (Exception e){ tx.rollback() ; e.printStackTrace() ; } finally { em.close() ; } emf.close() ; } } 실행하면 콘솔에서 Hibernate: drop table if exists Member CASCADE Hibernate: create table Member ( id bigint generated by default as identity, name varchar(255) not null, primary key (id) ) 와 같이 테이블이 생성되고 Hibernate: /* insert hellojpa.Member */ insert into Member (id, name) values (null, ?) insert 쿼리는 위와 같이 데이터베이스로 호출하는것이 보입니다. [오류로그] 12월 23, 2021 10:44:53 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: NULL not allowed for column "ID"; SQL statement: /* insert hellojpa.Member */ insert into Member (id, name) values (null, ?) [23502-202] javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:780) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:760) at hellojpa.EntityMapping.main(EntityMapping.java:18) Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:43) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3279) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3885) at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:84) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645) at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282) at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263) at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317) at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:330) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:123) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:774) ... 2 more Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ID"; SQL statement: /* insert hellojpa.Member */ insert into Member (id, name) values (null, ?) [23502-202] null이 들어 갈수 없다고 나오는데 강의중에는 어떻게 오류가 안나고 되는지 궁금합니다.
해결됨
Slack 클론 코딩[백엔드 with NestJS + TypeORM]
현재 nestjs로 Stackoverflow와 유사한 교내 웹 개발 커뮤니티를 개발하는 학생입니다. 전체 질문글을 조회하는 기능을 개발하다가 한 가지 궁금점이 발생하여 질문하게 되었는데요! 주제넘게 설명을 드리자면 '전체 질문글 조회'는 velog나 stackoverflow와 같은 사이트의 루트페이지를 생각해주시면 될 것같습니다. 모든 질문글을 조회하는 과정에서 하나의 질문글에 여러 개의 카테고리가 저장되어 있을 경우 해당 질문글에 연관 돼있는 카테고리가 배열에 담겨 반환되는 것이 아닌 같은 질문글에 다른 카테고리를 가진 똑같은 질문글들이 조회됩니다. 즉, 다시 말해 질문글은 같지만 카테고리만 다른 데이터가 카테고리의 갯수만큼 조회됩니다..!! 이건 저희 프로젝트 erd입니다. 다음은 같이 querybuilder를 이용하여 left join을 한 코드입니다. 아래 사진은 위 querybuilder를 통해 도출된 결과입니다 위의 내용은 전체 조회에서 필요한 하나의 질문글에 대한 정보들은 조회한 사진입니다. 제가 원하는 출력 결과는 위의 카테고리가 따로 조회되는 것이 아닌 ```typescript TextRow { username: '송유현', '댓글내용': '댓글1', '제목': 'typeorm이 뭐에요', '내용': '제곧내', '좋아요': 3, '생성시간': 2021-12-21T15:00:00.000Z, '태그': [ [ '킥킥'] , ['typeorm'] ] }, ``` 의 형태로 출력하고 싶습니다..
미해결
실전! Querydsl
JPA(ORM) 장점 1) RDB에 종류와 관계없이 사용 가능하다. 추후 DB 변경이나 코드 재활용에 용이하다. 2) 비지니스 로직에 집중할 수 있다. 3) 테이블 생성, 변경 등 엔티티 관리가 간편하다. 4) 쿼리에 집중할 필요 없어 빠른 개발이 가능하다. 단점 1) 어렵다. 단방향, 양방향, 임베디드 관계 등 이해해야할 내용이 많으며, MyBatis(SQL Mapper) 장점 1) JPA에 비해 쉽다. SQL 쿼리를 그대로 사용하기에 복잡한 Join, 튜닝 등을 좀더 수월하게 작성 가능하다. 2) SQL의 세부적인 내용 변경 시 좀 더 간편하다. 3) 동적 쿼리 사용 시 JPA보다 간편하게 구현 가능하다. 단점 1) 데이터 베이스 설정 변경 시 수정할 부분이 너무 많다. (Oracle의 페이징 쿼리를 MySQL에서 사용 불가능!) 2) Mapper작성부터 인터페이스 설계까지 JPA보다 많은 설계와 파일, 로직이 필요하다. 3) 특정 DB에 종속적이다. Querydsl 장점 1) 쿼리를 자바 코드로 작성 2) 문법 오류를 컴파일 시점에 잡을 수 있음. 3) 쉬운 SQL 스타일 문법(복잡한 쿼리 작성 용이) 질문 : Querydsl 초반부만 듣고 있는 수강생입니다. 1) 서비스가 MVC + MYBatis에서 JPA + querydsl 바꾸는 점에 있어 생기는 기본적인 문제들이 있을까요? 2) QueryDSL 이 MyBatis 를 대신해 커버 가능할까요 ?
해결됨
코딩으로 학습하는 GoF의 디자인 패턴
안녕하세요. 싱글톤에서 Early, Lazy 초기화의 차이를 공부하기 위해 클래스 로드에 개념을 처음으로 딥하게 공부해보고 있습니다. 클래스 로드와 사용에 따른 초기화간 heap 메모리 할당이 되는지도 공부하기 위해 위와 같이 트래킹해봤습니다. 저는 트래킹 결과를 보고 아래와 같이 해석했습니다. 1. 사용하지 않으면 early, lazy 모두 초기화되지 않는다. 2. early 는 getInstance() 메소드로 진입할 때 초기화 된다. lazy 는 getInstance() 메소드가 끝날 때 Holder 를 통해 초기화 된다. 하지만 강의에는 early 초기화시 사용하지 않아도 생성된다고 말씀해주셨습니다. 그렇다면 캡쳐 1에서 인스턴스가 보여야된다고 생각했는데 보이지 않아 혼동이 와서 질문 드립니다. 혹시 제가 개념이 헷갈리거나 트래킹을 잘못하고 있는 것일까요..? ㅠㅠ public class App { public static void main ( final String [] args) { singleton () ; } private static void singleton () { final EarlyInitializationSingleton early = EarlyInitializationSingleton . getInstance () ; // 캡쳐 1 final LazyInitializationSingleton lazy = LazyInitializationSingleton . getInstance () ; // 캡쳐 3 System . out . println ( "end" ) ; // 캡쳐 5 } } public class EarlyInitializationSingleton { private static final EarlyInitializationSingleton INSTANCE = new EarlyInitializationSingleton () ; private EarlyInitializationSingleton () { } public static EarlyInitializationSingleton getInstance () { return INSTANCE ; // 캡쳐 2 } } public class LazyInitializationSingleton { private LazyInitializationSingleton () { } private static class LazyInitializationSingletonHolder { private static final LazyInitializationSingleton INSTANCE = new LazyInitializationSingleton () ; } public static LazyInitializationSingleton getInstance () { return LazyInitializationSingletonHolder . INSTANCE ; // 캡쳐 4 } }
해결됨
코딩으로 학습하는 GoF의 디자인 패턴
안녕하세요. 기선님. 좋은 강의 감사합니다. 이번 수업을 들으면서 궁금한 점이 생겨 질문 남깁니다. 1:34초쯤 Settings enum 클래스에 number 필드 및 게터 세터를 생성하셨는데, 이러한 상황에서도 동기화 블록없이 커스터마이징된 enum 객체가 쓰레드-세이프한건가요? 답변 부탁드립니다. 감사합니다.
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요 강사님! solution함수에서 파라미터 n은 사용하지 않으셨는데 그럼 없어도 상관없는건가요?
미해결
Slack 클론 코딩[백엔드 with NestJS + TypeORM]
안녕하세요 제로초님. 강의 잘 봤습니다. 그런데 제가 vscode에서 nestjs 프로젝트를 하면서 브레이킹 포인트로 디버깅을 하고 싶은데 브레이킹 포인트가 안 먹혀서 질문드립니다. 인터넷에서 보고 launch.json 파일도 만들어서 해봤는데 계속 타입스크립트로 디버깅이 안되더라고요. 방법을 알려주시면 감사하겠습니다.
해결됨
코딩으로 학습하는 GoF의 디자인 패턴
안녕하세요. 싱글톤 하나만 들었는데도 안일하게 사용하고 있던 지식들이 채워지는 너무너무 좋은 강의입니다. 강의를 들으면서 공부하는 데 질문이 있어 남깁니다. --- 1. 저는 공부하는 자료에 대해서 가능하면 블로깅을 남기고 있습니다. 남에게 설명할 수 있는 수준이 되어야만 진정으로 이해하는 것이라고 생각하기 때문입니다. 혹시 강의 내용을 블로깅하는데 있어 제약사항이 있을까요? ex) - 강의 장표 캡쳐 불가 - 강의 장표의 질문 노출 불가 2. 동영상 뿐만이 아니라 강의 장표에 많은 질문들로 한번 더 생각할 기회를 주시는 것 같아 너무너무 감사합니다. 물론 제가 먼저 찾고 공부하는 것이 우선이지만, 제가 답을 냈을 때 비교를 할 수 있는 답이 있으면 더 좋을 것 같은데 혹시 공개되어 있을까요? 다시 한번 좋은 강의 너무너무 감사합니다!!!!
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 아래 처럼 에러가 뜹니다. Could not find gradle.plugin.com.ewerk.gradle.plugins:querydslplugin:1.0.10 로딩이 안되네요. buildscript { dependencies { classpath( "gradle.plugin.com.ewerk.gradle.plugins:querydslplugin:1.0.10" ) } } plugins { id 'org.springframework.boot' version '2.6.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } apply plugin : "com.ewerk.gradle.plugins.querydsl"