묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨백엔드 취업을 위한 프로젝트 구조 와 데이터베이스 다루기 [MySQL, Mongo]
로직이 수정된 코드 실행 후 db생성이 안됩니다.
Mongo를 통한 eCommerce API 작성하기에서 인덱스 생성 유틸 함수 디버깅하기편에서 코드를 많이 바꾸셨는데 이코드를 실행하니까 eCommerce db가 생성이 안되는데, 안되는게 맞는건가요?
-
해결됨도대체 왜? 도대체 어떻게! DB 설계와 데이터 다루기
[공유][워크밴치사용관련]한글깨짐
[erd로 보는 스토리와 테이블이라는 등장인불] (2:02)워크벤치 사용시, 한글 테이블명, 필드명으로 하니 깨져서 나와서, 혹시 저와 같이 한글이 깨지는 분이 계시면 참고하시라고 올립니다. ㅇ Edit > Modeling > Fonts > Configure Fonts For : Korean 으로 변경, 하단 Location 의 Table Figure Title 의 Font 부분을 더블클릭해서 '맑은 고딕 12' 로 수정 입력 후 저장하고 워크밴치 종료 후 재실행
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강의 내용을 따라가던 도중에 의문이 생겨서 질문드립니다.
안녕하세요. 태현님, 좋은 강의 감사합니다. 오늘 BookService 코드를 같이 타이핑하던 도중 의문이 생겼습니다. 뭔가 점점 BookService에서 의존을 주입받는 레포지토리가 점점 늘어나고 있음이 그 원인이었는데요. 보통 커머스 서비스의 앱에서 주문 상세 버튼을 누르면 다음과 같은 정보들이 나오는데요.가게 정보메뉴 정보,주문 자체의 정보(주문 일시, 주문번호)메뉴와 옵션 선택 정보쿠폰 적용 주문자의 개인정보(주소 및 연락처)등등.. 물론 내부적으론 어떻게 해결이 되어있겠지만 벌써 주문 상세를 보여주는 기능을 처리하기 위한 서비스에서 엄~청 많은 레포지토리를 가져와야할 것 같은? 느낌이 듭니다. 이런 경우엔 의존 주입을 받는 객체의 갯수의 상한선을 따로 두고 개발하실까요?아니면 이런 문제를 해결하는 방법론 같은 것이 이미 있나요?혹은 제 생각엔 짤막하게 배운 디비 지식으로 주문과 같은 것은 반정규화로 테이블을 합쳐서 그 테이블과 대응되는 하나의 레포지토리로만 가져오나요?감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
이미지 조회 404
리액트로 이미지를 조회하려는데 자꾸 404 Not Found가 반환되요.포스트맨으로 동일한 조건으로 요청을 하면 제대로 이미지가 반환이 되네요. async function getIamge(filename){ await axios.get(`http://localhost:8080/imageFiles/${filename}`) .then((action)=>{ let data = action.data; let copy = [...images,data]; setImages(copy); }) .catch((error)=>{ console.log('서버 응답 코드:', error.response.status); console.log('서버 응답 데이터:', error.response.data); console.log('서버 응답 헤더:', error.response.headers); }) }이런식으로 요청을 했습니다. img태그로 직접 엔드포인트로 요청을 보냈을 때도 똑같은 상황입니다. @GetMapping("/imageFiles/{filename}") @CrossOrigin(origins = "*") public ResponseEntity<Resource> downloadExecute(@PathVariable("filename") String filename) throws IOException { log.info("Full Path = {}", fileDir + filename); String str = URLEncoder.encode(filename, "UTF-8"); Path path = Paths.get(fileDir + filename); Resource resource = new InputStreamResource(java.nio.file.Files.newInputStream(path)); System.out.println("resource : "+ resource.getFilename()); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_TYPE, "application/octect-stream") .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename="+str+";") .body(resource); }이미지를 보내주는 서버측 엔드포인트입니다. @Configuration public class CorsMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") //.allowedOrigins("http://localhost:3000") .allowedOrigins("*") .allowedMethods( HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.HEAD.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name() ); registry.addMapping("/imageFiles/**") .allowedOrigins("*") .allowedMethods( HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.HEAD.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name() ); } } cors설정도 해봤는데 결과는 똑같았습니다. 뭐가 문제일까요 ㅠ
-
해결됨도대체 왜? 도대체 어떻게! DB 설계와 데이터 다루기
[가상데이터 생성]
안녕하세요. 워크벤치로 하다보니 동일한 쿼리문에 에러가 나는 경우가 더러 있네요. 구글링으로 보완해가면서 테스트 중입니다. 카페 사용관련 가상데이터 설명 (21:06분) 내용 중에 '1일2회 이상 등록된 전화번호 및 결제일자를 삭제 하는 쿼리문 실행시, "" 요런 메시지가 나와서, 구글링을 해보니, 삭제시 자기 테이블을 조회할 수 없기 때문이라고 나와서 수정을 했는데요. 요렇게 하면 제대로 수행이 되는 것 같습니다. 근데 궁금한 건... 강의내용의 쿼리문은고객의 해당일자 전체를 삭제하는 것 같은데요.하루 최초 또는 마지막 건수를 남기고 나머지를 삭제하는 쿼리문을 좀 알 수 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
PATCH와 PUT의 차이점
14강 유저 업데이트 부분에서 PATCH가 아닌 PUT을 사용하는 이유가 궁금합니다!! 제가 알기로는 PATCH는 일부 수정이 가능하고, PUT은 완전 덮어쓰기라고 알고 있는데, PATCH가 아닌 PUT을 사용하는 이유가 무엇인가요?? 만약 PATCH 사용이 불가능한게 아니라 가능할 경우 코드가 어떻게 되는지도 궁금합니다! 항상 감사합니다!!
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강 마지막 부분 질문 있습니다.
제가 람다식, 익명클래스, 제네릭에 대한 개념이 확실하게 안 잡혀서 코드이해가 너무 안 되길래 개념부터 다시 찾아보고 공부하고 있는데요 ㅠㅠㅠ 이렇게 공부하는 게 조금 과할 수 있지만 완벽하게 이해를 하고 넘어가고 싶습니다.제가 궁금한 점은query함수를 실행하면 sql이 적용된 결과데이터베이스 전체가 mapRow함수의 파라미터 rs로 들어가게 되는 것 같은데 데이터베이스의 자료형이 ResultSet인가요?rowNum 변수의 필요성입니다. mapRow메서드를 오버라이딩을 해줄 때 rowNum사용을 전혀 안 하고 있는 것 같은데, 어떤 값이 rowNum으로 들어가고 어떻게 작동하는 건가요?mapRow메서드의 반환값은 UserResponse객체 형태인데 결과적인 getUsers메서드의 반환값이 어떻게 List<UserResponse> 형태로 변환될 수 있나요? query함수의 역할인가요?감사합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.js 실행순서
app.js 실행순서여러개의 라우터 app.get()이 있고미들웨어,listen이 있을경우1.listen 실행2.미들웨어 실행(next가 있어야 라우터가 실행된다)3.이때 라우터는 클라이언트가 전송한 주소를 위에서 부터 밑으로 확인해서 적합한 라우터 실행이런 순서라면 listen이 젤위에 있어야하는거 아닌가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Entity와 MySQL 매핑 관련 질문 드립니다.
안녕하세요.Spring Boot 3.2.2 + MySQL 8.0 환경에서 JPA 학습 중 질문이 있습니다. Entity가 Enum 타입인 경우, MySQL Column 매핑은 어떤식으로 되어야 Best Practice 일까요?학습 과정 중에서는 `@Column(columnDefinition = "char(1)")` Annotation으로 매핑 문제를 해결했습니다. 실무에서는 어떤 방식으로 정의하는지 알고 싶습니다. (e.g. Column 타입을 varchar(255)로 정의해서 사용한다. 아니면 DB 타입에 맞춰 Entity 정의하여 사용한다.)Entity에서 사용된 Enum의 경우 'Y', 'N' 값만 정의되어 있습니다.public enum BasicStatus { Y, N }MySQL Field 타입은 char(1)로 정의되어 있습니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Destination extends BaseDatetimeEntity { // ... 중략 @Enumerated(EnumType.STRING) @Column(columnDefinition = "char(1)") private BasicStatus apartment; } Table을 직접 DDL로 생성 후, ddl-auto 옵션을 validate로 설정하여 서버를 실행하면 "Schema-validation: missing table [destination_seq]" 에러가 발생합니다. 해당 문제를 해결하기 위해 어떻게 접근하면 될까요? 그리고 실무에서는 Table 생성 시, JPA를 통한 생성을 하는 지 DDL로 생성하는지 궁금합니다. (DB 학습이 부족한 상황에서 질문 드리는 점 양해 부탁드립니다.) Entity @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; // ... 중략 @OneToMany(mappedBy = "member") private List<Destination> destinations = new ArrayList<>(); } @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Destination extends BaseDatetimeEntity { @Id @GeneratedValue @Column(name = "destination_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; // ... 중략 }DDLcreate table member ( member_id bigint unsigned auto_increment comment '회원 ID', # ... 중략 primary key (member_id) ); create table destination ( destination_id bigint unsigned auto_increment comment '배송지 ID', member_id bigint unsigned not null comment '회원 ID', # ... 중략 primary key (destination_id), foreign key (member_id) references member(member_id) );Error Log org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [destination_seq] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1773) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1231) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:949) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java:41002) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:42008) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.2.jar:3.2.2] at kr.co.asasac.Application.main(Application.java:10) ~[main/:na] Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [destination_seq] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1820) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1769) ~[spring-beans-6.1.3.jar:6.1.3] ... 18 common frames omitted Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [destination_seq] at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateTable(AbstractSchemaValidator.java:134) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.tool.schema.internal.GroupedSchemaValidatorImpl.validateTables(GroupedSchemaValidatorImpl.java:46) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:97) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:75) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:295) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at java.base/java.util.HashMap.forEach(HashMap.java:1429) ~[na:na] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:142) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.__build(SessionFactoryBuilderImpl.java:450) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:41010) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.__build(EntityManagerFactoryBuilderImpl.java:1507) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:40002) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.__createEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:40003) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.__createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:45002) ~[spring-orm-6.1.3.jar:6.1.3] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.1.3.jar:6.1.3] ... 22 common frames omitted감사합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JPA에 관련해서 현업 관련 질문이 있습니다.
간혹 유튜브 영상이나 ORM과 관련된 담론이 있는 글들을 보면 JPA의 속도 문제를 문제점으로 삼는 분들을 보았습니다. 그리고 JPA로는 한계가 오는 점들은 네이티브 쿼리를 사용해서 해결을 할 수 있다는 점, 그리고 태현님께서도 특정 상황에서는 JdbcTemplate을 사용해서 문제를 해결할 수 있다는 점을 강의에서 말씀 해주셨는데요. 하지만 그 '특정 상황'의 예시가 잘 떠오르지가 않는데 어떤 것이 있을까요? 배민의 영상에서도 동욱님은 JPA와 QueryDSL을 사용해서 몇 억건의 데이터도 잘 처리하셨고, 영한님께서도 책을 개정판을 내지 않는 이유로 이미 많이 성숙한 기술이라서 극적인 변화가 없는 기술이라고 하셨으며 어떤 유튜버분도 말씀하시길 'JPA라는 기술이 문제 자체를 일으킨다기 보단 개발자가 JPA에 대한 이해가 부족해서 문제가 발생한다.' 라고 하셔서 더 미궁속으로 빠집니다. 혹시 태현님께서도 이런 상황을 겪으신 적이 있으신지, 있다면 어떻게 해결하셨는지 궁금합니다!
-
미해결
JPA physical-strategy 변환이 안되는 이유가 어떤게 있을까요???
안녕하세요. 스프링부트3 기반으로 api 프로젝트를 셋팅 중 입니다. 그런데 셋팅 중 physical-strategy 이 제대로 동작하지 않아서 이것저것 해보다가도움을 구해보고자 글을 올리게 되었습니다. 우선 프로젝트 환경은스프링부트 = 3.2.2하이버네이트 = 6.3.1.FinalJava = corretto17입니다. application.yml 은 이렇게 설정되어 있습니다. Entity는 카멜케이스로 작성이 된 상태 입니다. DB는 스네이크로 네이밍이 되어 있는 상태입니다. 그런데 JPA 조회 쿼리를 날리면계속 카멜케이스로 조회가 되면서 오류가 발생해서이것저것 해보는데 해결이 안되서 도움을 구해보고자 합니다. 혹시 뭔가 놓치고 있는게 있을까요???
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강 yml 파일에서
yml파일 작성할 때 driver-class-name이 Cannot resolve class 가 cj부터 Driver까지 뜨네요.build.gradle의 의존성은 다음과 같구요, 아래 질문들 보고 Ctrl Shift N 해봤을 때 Driver.java 파일도 잘 있는데 이것 때문에 서버 실행이 안됩니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java:8.3.0' }
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
my sql 접속오류
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c에러 해결하기위해 권한 방화벽등 구글링으로 해결하려 했지만 계속 접속오류가 나네요힘들어요데이터베이스 Access denied for user 'root'@'localhost' (using password: YES)힘들다 갑자기 이 오류가 뜬다 권한에 관한 오류인거 같다그래서 데이터베이스 sql을 명령 프롬프트에서 들어가기위해 관리자 권한으로 실행'mysql 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.ㅋㅋㅋㅋㅋㅋ새로운 오류이거는 환경변수에 들어가 Path설정 해결~이제 다시 접근 mysql 127.0.0.1 -u root -p로 접근하니 오류-u root -p 오해결이제 권한을 부여해준다 root에게GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;GRANT ALL PRIVILEGES ON *.*: 모든 데이터베이스의 모든 테이블에 대한 모든 권한을 부여합니다.'root'@'localhost': 'root' 사용자에게 'localhost'에서의 접속에 해당하는 권한을 부여합니다. 만약 원격에서의 접속도 허용하려면 **'%'**로 변경할 수 있습니다.WITH GRANT OPTION: 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여합니다.
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
도커 질문이 있습니다.,
강의자료와 똑같이 진행했는데 도커의 포트폴리오를 실행하면 1초뒤에 바로 종료됩니다. 원인이 뭘까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
옵셔널 체이닝 문법에서 에러가 나요
옵셔널 체이닝을 인식할수가 없는데 vscode에서 어덯게 새팅해야하나요? 그리고 ctrl + s 하면 저 부분이 자꾸 띄워지는데 띄워지는것도 어덯게 해결이 가능할까요?찾아보니깐 루트에다가 jsonconfig.json 추가하면 된다고 하는데 해봣는데 안돼고, 어디서는 onsave 어디 건들면 된다는데 해봤는데도 안되더라고요... 혹시 선생님께서 아실까요?C:\Users\dongw\Desktop\nodejs\nodeJsSNS\routes\page.js:11res.locals.followerCount = req.user ? .Follower.length;^SyntaxError: Unexpected token '.'at internalCompileFunction (node:internal/vm:73:18)at wrapSafe (node:internal/modules/cjs/loader:1176:20)at Module._compile (node:internal/modules/cjs/loader:1218:27)at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)at Module.load (node:internal/modules/cjs/loader:1117:32)at Module._load (node:internal/modules/cjs/loader:958:12)at Module.require (node:internal/modules/cjs/loader:1141:19)at require (node:internal/modules/cjs/helpers:110:18)at Object.<anonymous> (C:\Users\dongw\Desktop\nodejs\nodeJsSNS\app.js:20:20)at Module._compile (node:internal/modules/cjs/loader:1254:14)Node.js v18.16.0
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
내장 톰캣에 대해 궁금한게 있습니다.
스프링부트에부터는 내장 톰캣을 사용하는거엔 익숙해져 있는데,과거에는 RedHat JBoss와 같은 외장 WAS들을 사용했다고 하던데 이로 인해 발생하는 단점 같은 것은 없을까요? 예를 들어 기술 지원을 더이상 받지 못한다던가.. 외장 WAS들이 가지고 있는 장점이 사라진다거나 성능의 차이같은 것은 없는지 궁금합니다. 검색을 해보았을 땐 내장 톰캣이 아파치 톰캣 개발자들도 내장 톰캣의 사용에 문제가 없다라고 했다던지, 성능 차이가 크지 않다는 자료들은 찾았는데 아직 여전히 스프링부트를 사용하지 않는 회사들이 많다고 알고 있습니다. 강의 내용처럼 이렇게 편리하다면 스프링부트의 버전업은 몰라도 스프링'만' 쓰는 회사들이 시스템을 스프링부트로 업그레이드 하지 않을 이유는 없을 것 같아서요! 친절한 강의 감사드립니다. 태현님!
-
미해결백엔드 개발자 성능 개선 초석 다지기
LRU 알고리즘 질문
memoryStoreEvictionPolicy 에 가장 최근에 액세스된 항목을 먼저 제거하는 LRU 알고리즘을 사용했습니다. 라고 자료에 나와있는데, 제가 알기로 LRU 알고리즘은 가장 오랫동안 사용되지 않은 데이터를 삭제하는 것으로 알고 있습니다. 자료에서 설명하신 의미가 잘 이해가 되지 않아서 질문 드립니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
모니터링 관련 질문
스카우터를 사용하면 트랜잭션 마다, 소요시간을 볼 수 있고, 로그도 확인이 가능한 것이 굉장히 매력적으로 느껴졌는데요실무에서도 많이 사용하는 툴 인가요? AWS 환경에서도 한 번 적용을 해보고 싶은데, AWS와도 같이 사용하는 편인가요?그리고 서버가 여러 대 있는, 스케일 아웃 환경에서는 어떤 식으로 사용되나요? 인스턴스마다 스카우터를 설치를 하고, 모니터링을 하는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
수정이라는 작업을 할 때 PUT을 더 사용하는 이유가 있을까요?
HTTP 메서드에 처음 공부할 때 수정의 경우에는 PUT과 PATCH를 사용한다고 배웠는데요. PUT의 경우에는 통째로 갈아끼우는 방식의 갱신이고PATCH의 경우에는 부분 수정이 가능하다고 배웠습니다.이 강의에서는 USER의 정보중에 이름만받고 있어서(PUT은 전체 필드를 명시해주어야 한다고 배웠습니다.) PATCH가 더 적당한 방식이 아닌가라는 생각이 들었습니다. PATCH가 아닌 PUTMapping을 사용하신 이유가 있으실까요? 그리고 이와 관련된 블로그 글들이 많은데 저마다 내리는 결론이 달라서 조금 혼란스럽습니다. 강사님의 생각을 듣고 싶습니다.좋은 강의 만들어주신 태현님을 존중하고 존경하며 이만 글 줄이겠습니다!
-
미해결MySQL 성능 최적화
AUTO INC Lock 하고 뮤택스 락 차이 관련해서 질문 드립니다.
제가 알기로는 뮤택스나 Auto inc Lock 둘다 Lock 기법을 이용해서 사용하는 것으로 알고 있습니다. 그런데 Auto Inc Lock 경우 뮤택스 락과 어떤 것이 차이가 있어서 뮤택스가 더 가볍다는 건가요? 제가 알기로는 Lock 기법이뮤택스세마포어모니터이렇게 3가지가 있다고 알고 있습니다.(간단히 설명하자면....) 일반적으로 뮤택스 경우 Lock 기법을 이용해특정 임계영역을 하나의 스레드로 작동해서 동시성 문제를 해결하고자 하는것인데 그외 세마포어, 모니터 경우 부가 기능 세마포어: 특정 임계영역에 몇개의 스레드를 허용 할것인지그리고 뮤택스 경우 해당 스레드가 Lock을 얻었으면 직접 Lock 을 해지해야 되는 반면 세모포어는 다른 스레드가 직접 다른 스레드 Lock을 해지 가능 모니터: 특정 스레드가 Lock을 획득하고 임계영역에 들어왔을때 어떠한 조건으로 인해 wating 상태로 변환되고 그 다음 스레드가 Lock 획득 후 임계영역으로 들어온다. 이렇게 알고 있습니다. 그럼 여기서 Auto Inc Lock 경우 어떤 Lock 기법을 이용하길래 뮤택스보다 느리다는 건가요?