묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결처음 만난 AWS
wordpress 관련
로드밸런싱 수업중에 wordpress DNS로 들어가면 강의와는 다르게 제가 글을 입력한 페이지로 나오지 않게 됩니다... 왜그럴까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA flush 와 commit 의 차이가 뭔지 이해가 안갑니다.
제목 그대로입니다. 블로그 찾아보니 flush 는 영속성 컨텍스트의 내용을 DB에 동기화 시키는 것, 이라고 하고 커밋은 트랜잭션을 종료하는데 쓴다고하더라구요!. @Transactional public void likePost(final Member currentMember,final Long postId){ try{ postLockRepository.getLock(postId.toString()); final Post post = findPost(postId); //post 의 작성자와 좋아요를 누르려는 사람의 ID 값이 같을 떄 예외 if (post.getMember().getId() == currentMember.getId()) { throw new NotFoundException(ErrorCode.MESSAGE_NOT_FOUND); } //이미 눌러져 있을 때 deleteLikePost 수행, 없다면 saveLikePost 수행 likePostRepository.findByMemberIdAndPostId(currentMember.getId(), post.getId()) .ifPresentOrElse(likePost -> { deleteLikePost(likePost, post);}, () -> { saveLikePost(currentMember, post); System.out.println("pp"); }); } finally{ postLockRepository.releaseLock(postId.toString()); } } private void saveLikePost(final Member member,final Post post){ LikePost lp= LikePost.builder() .post(post) .member(member) .build(); likePostRepository.save(lp); System.out.println("gg"); post.increaseLikeCount(); postRepository.saveAndFlush(post); System.out.println("kk"); }이 코드에서 saveLikepost 를 실행하면 post 에 대한 좋아요 가 하나 증가합니다. 그리고 saveAndFlush를 통하면 update 쿼리가 바로 나가더라구요!. 이 같이 쿼리를 발생시키고 flush 를 했으니 영속성 컨텍스트에 있는 post 의 like_count 는 1이 증가되어야 합니다. 또한 likePostRepository.save() 도 역시 insert 쿼리가 나가고요!질문 요약: 저희가 알고있는 개념대로라면 영속성 컨텍스트에 있는 @Transactional 안에 있는 Save를 한 대상(LikePost) 와 @Transactional 안에 있는 SaveFlush 대상 역시 FLUSH를 통해 DB와 동기화 시킨다고 생각했습니다. (DB에 동기화시켰으니까 insert 하는 대상은 DB에 생겨야 하고, update 한 거는 update 가 제대로 반영이 되어야 한다고 생각했습니다) 그런데 위 과정에서 디버깅을 해보니(하이버네이트로 쿼리가 날라가는 것은 확인이 되었습니다) 실제 DB에 데이터가 들어가지 않고 @Transactional 이 끝나야 DB에 반영이 되더라고요!! 제가 동기화에 대해 이해를 잘 못하고 있는 걸까요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Docker의 mysql과 스프링 연동이 안됩니다 (윈도우)
docker pull mysql:8.3.0 $ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 3305:3305 mysql:8.3.0 ... use stock_example로컬에 mysql이 이미 깔려있어서 포트번호를 3305로 바꿔서 만들었어요. 위와같이 도커 초기설정 후 만든 yml 파일입니다spring: jpa: hibernate: ddl-auto: create show-sql: true datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3305/stock_example username: root password: 1234 logging: level: org: hibernate: SQL: DEBUG type: descriptor: sql: BasicBinder: TRACE 이렇게하고 Application을 실행했는데 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:438) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-5.0.1.jar:na] at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:191) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) ~[spring-orm-6.1.5.jar:6.1.5] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) ~[spring-orm-6.1.5.jar:6.1.5] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.1.5.jar:6.1.5] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.1.5.jar:6.1.5] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) ~[spring-orm-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.5.jar:6.1.5] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) ~[spring-context-6.1.5.jar:6.1.5] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) ~[spring-context-6.1.5.jar:6.1.5] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.5.jar:6.1.5] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.4.jar:3.2.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.4.jar:3.2.4] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.4.jar:3.2.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.4.jar:3.2.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.4.jar:3.2.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.4.jar:3.2.4] at com.example.stock.StockApplication.main(StockApplication.java:10) ~[main/:na]Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 이런 오류가 나네요 ㅠㅠ 보면 연결이 안되는거 같은데 어디서 문제일까요..
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
환경설정 압축파일 해제 불가
2-0. vagrant를 사용하지 않고 구축할 수 있는 실습환경https://www.inflearn.com/course/lecture?courseSlug=%EB%A6%AC%EB%88%85%EC%8A%A4-bash-%EC%8B%A4%EC%A0%84%ED%8E%B8&unitId=151860요 강의에 올려주신 환경구축 압축 파일 실행 시 지원되지 않는 유형이라는 창이 뜨면서 해제가 불가능합니다.virtualbox는 버전 맞추어 별도로 다운을 받으면 되는데 실습환경인 cent1, cent2, cent3를 사용할 수가 없어 강의를 듣지 못하고 있습니다 .. 혹시 파일을 새로 올려주셨는데 제가 못 찾고 있는 부분이라면 안내부탁드립니다!
-
미해결운영체제 공룡책 강의
퀴즈 1번 2번
1번 답이 2인데 이해가 안가요..혹시 답이 1인데 잘못되거나 아니면 2^1 = 2일까요?2번은 최소한의 논리 게이트 집합은 NOT, AND, OR 게이트고, 5번 nand는 not+and니까 답이 아니지않나요?
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편
0:33 에서 캐릭터 방향을 바꿨을 때
카메라 화면 방향이 바뀌지 않은 이유는 a,d 키가 아니라 방향키로 캐릭터를 제어해서 그런거죠? a,d 키 누르면 카메라 화면이 90도 바껴서요
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
check에 controller의 의미?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Test void checked() { Controller controller = new Controller(); assertThatThrownBy(() -> controller.request()) .isInstanceOf(Exception.class); } @Test void checked2() { Service service = new Service(); assertThatThrownBy(() -> service.logic()) .isInstanceOf(Exception.class); }컨트롤러를 만들어서 하지 않고 그냥 서비스에서 테스트해도 되는데, 컨트롤러를 만들어서 하는 이유는 뭔지 궁금합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
이넘 타임 선언 질문
textRPG 직업고르기 강의에 관해서 질문합니다.enum 타입으로 ClassType을 선언해서 직업을 열거하고.Main 함수에서 ClassType choice = ClassType.None;라고 선언해주는데 ClassType.None; 은 무슨의미일까요..? 왜 .None 으로 지정해주는건지 이해가 안됩니다 🥲
-
미해결Do it! SQL 입문
실습환경 만들기 오류
SQL server에 로그인을 하려고 하는데, 위와 같은 오류가 뜹니다 혹시 어떻게 해결해야 할까요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
storage 이미지파일 업로드가 안됩니다
안녕하세요 firebase storage에 png파일이 upload가 안됩니다 앱은 에러없이 잘 구현되는데 db에만 추가가 안되는것같습니다 코드는 https://github.com/jsistop16/dating-app 여기에 있습니다감사합니다
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
Error: Cannot assume IAM Role 에러 관련 질문 드립니다.
질문은 부담없이 어떤거든 해주세요!에러 캡처:에러 로그:Planning failed. Terraform encountered an error while generating this plan.╷│ Warning: Deprecated Parameters││ with data.terraform_remote_state.vpc,│ on remote_state.tf line 1, in data "terraform_remote_state" "vpc":│ 1: data "terraform_remote_state" "vpc" {││ The following parameters have been deprecated. Replace them as follows:│ * role_arn -> assume_role.role_arn│││ (and one more similar warning elsewhere)╵╷│ Error: Cannot assume IAM Role││ IAM Role ARN not set상황 설명:강의 38:27 부분 따라하는 과정에서 plan 명령어 입력 시 첨부드린 사진과 같이 에러가 발생합니다.참고로,terraform/services/hello/devartd_apnortheast2를 cp -R로 복사하여,terraform/services/hello/neopind_apnortheast2 이와 같이 저만의 디렉터리를 만들어 작업 중입니다.
-
미해결비개발자를 위한 RPA 강의 (UiPath 입문편)
For each row 액티비티 관련
강수확률 데이터 스크래핑이 안 되어, 기온으로 대체하여 만들었는데 오류가 뜹니다. 어떤 부분이 문제인걸까요?? 데이터스크래핑 2.워크플로우3. 오류
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
screen 하나 당 하나의 notifier provider를 사용하는 것이 좋나요?
회사 프로젝트에서 screen 하나에 여러 개의 notifier provider가 상위, 하위 위젯마다 따로 따로 포함되어 있습니다. 이런 구조가 괜찮은 건지 잘 모르겠어서 질문 드립니다....
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
LoadAllAsync에서 result.PrimaryKey.Contains(".sprite")) 부분을 안타는데 왜그럴까요?
public void LoadAllAsync<T>(string label, Action<string, int, int> callback) where T : Object { var opHandle = Addressables.LoadResourceLocationsAsync(label, typeof(T)); opHandle.Completed += (op) => { int loadCount = 0; int totalCount = op.Result.Count; foreach (var result in op.Result) { if (result.PrimaryKey.Contains(".sprite")) { LoadAsync<Sprite>(result.PrimaryKey, (obj) => { loadCount++; callback?.Invoke(result.PrimaryKey, loadCount, totalCount); }); } else { LoadAsync<T>(result.PrimaryKey, (obj) => { loadCount++; callback?.Invoke(result.PrimaryKey, loadCount, totalCount); }); } } }; }해당 함수는 이렇게 작성되어있고 .sprite 로 보아 확장자를 .sprite 를 찾는것같은데 어드레서블 그룹에는 .png 로 되어있습니다 혹시 이것때문에 그러는걸까요?
-
미해결Next + React Query로 SNS 서비스 만들기
React-query 부분에서 질문이 있습니다.
강의 언제나 잘보고 있습니다.따로 작업하다가 난감한게 있어서 문의드립니다.예를 들어 ["ABC"] 라는 캐시가 있다는 가정하에A페이지, B페이지에서 해당 캐시를 사용합니다.이때 질문이 있습니다. A,B 페이지에서 useQuery로 데이터를 불러올 경우실수로 A와 B가 다른 queryFn이 정의 되어있을 때, InvalidateQueries를 해도 데이터가 미스매칭될 수 있는 가능성이 존재할까요?prefetchQuery 사용 시,A페이지와 B페이지가 ABC라는 데이터가 공통으로 필요할 경우,A페이지에서 prefetchQuery를 읽어서 B로 가면 A의 ABC를 캐시해서 B에서도 사용 가능한 걸로 알고있는데요. 이럴때 만일 B페이지로 바로 접근이 가능할 경우, B 페이지에서도 prefetchQuery를 적용해야 둘다 SSR이 제대로 적용되는걸까요?
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 3~4
교안 PPT 자료 요청 드립니다. 시계열분석(1) 부터
안녕하세요? 강의 잘 보고 있습니다.도움이 많이 됩니다. 시계열분석(1) 이전은 PPT파일로 교안을 받아서강의를 보면서 추가 정리하면서 보고 있습니다.그런데, 시계열분석(1) 부터 zip 파일로 되어 있고,압축을 풀어보니, 대부분 xml 로 구성되어 있습니다. 전체 강의 교안을 받을 수 있을까요?(ppt)멜주소: ygjang@hotmail.com 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
No Persistence provider for EntityManager named hello
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]실전예제1을 따라하다가이런 에러가 나는데 이유를 모르겠어요,, 어떻게 하면 해결할 수 있을까요? 그리고 h2DB 연결도 안되어서 찾아봤더니url을 jdbc:h2:~/jpashop 이렇게 하면 된다고 해서 이렇게 해서 db접속을 했고,persistence.xml에도 url을 위와 동일하게 설정해두었습니다.프로젝트 압축파일 구글드라이브에 올려놓았습니다!도움 부탁드립니다.https://drive.google.com/file/d/1S5ytUHGS0cpr7LSvlFF5E8qyiTwjlOs-/view?usp=sharing
-
미해결모바일 웹 퍼블리싱 포트폴리오 with Figma
안녕하세요 강의들은 후 개인포폴용으로 모바일앱 만들고있는데요..!
와이어프레임 만들 때 구조를 어떻게짜야하는지 .. (박스를 어떻게 쳐야하는지 ) 감이 영안와서요 ㅠ.ㅠ 박스친거처럼 묶어서 구조짜도되는지 여쭤보고싶은데, 혹시 메일로도 질문 받으실까용 ?ㅠ
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
typescript와 webpack/babel 웹 브라우저 관계
강의를 듣다보니 궁굼한 내용이 있어서 문의 드립니다. typeacript가 컴파일러를 통해 javascript로 변환되고javsscript가 컴파일러를 통해 바이트 코드로 변환되고..질문 내용바이트코드는 노드js가 해석하는 컴퓨터 언어 파일인가요? 웹브라우저가 해석하는 파일인가요?typeacript와 webpack 라이브러리 관련해서둘다 필수 라이브러리인데 같이 사용할때 설정 파일의 차이점을 모르겠습니다.웹펙을 사용하는 프로젝트인경우 자바스크립트 버전을 변경해서 번들링을 하게 되는데, 웹펙을 사용하면 이때 typeacript의 target 자바스크립트 버전은 무의미 하다고 봐도 되나요 ?typescript config 옵션 중에 모듈 관련된 옵션들이 있는데 웹펙을 사용하면 모듈 옵션은 무의미 하다고 봐도 되나요 ? 답변해주신 내용중에 typescript로 cra 실행 시 기본 컴파일 설정값이 컴파일을 하지 않게 되어 있고, babel 별도 설정을 통해 javascript 컴파일을 한후 런타임을 한다 하셧는데 그러면 typescript는 vscode 자체에서 타입 체크 정도의 기능한 한다고 이해해도 될가요?babel 설정을 하지 않은 프로젝트에서 타입스크립트 프로젝트를 웹 브라우저에 띄울 수 있나요 ?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
list의 insert, erase에서 매개변수는 왜 iterator를 복사형으로 받나요?
요약1. 왜 참조형을 사용하지 않는지 궁금합니다.2. 일반 참조형을 사용했을때는 왜 컴파일 오류가 발생하는지, const 참조형을 사용하면 컴파일 오류가 사라지는지 궁금합니다.const iterator& 또는 iterator&를 사용하지 않은 이유를 알고싶습니다.내부에서 iterator의 데이터인 _node의 값이 변경되어야 하기 때문에 const를 사용하지 않는건가? 싶어서const를 제외해보았더니, 그냥 참조 &의 경우 li.end()에서 반환하는 iterarotr값을 인자로 받지를 못하는것 같습니다.이것은 왜 그런지 궁금합니다.