디버깅 창이 사라졌습니다.
미해결
홍정모의 따라하며 배우는 C언어
왼쪽 하단에 Autos 창이랑, Call Stack 창이 사라졌습니다.. 혹시 어떻게 다시 살리나요?
- c
- 디버깅
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
홍정모의 따라하며 배우는 C언어
왼쪽 하단에 Autos 창이랑, Call Stack 창이 사라졌습니다.. 혹시 어떻게 다시 살리나요?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
EntityManager는 빈 스코프가 프록시로 설정된다고 알고있습니다. 하지만 결국은 원본 엔티티매니저를 사용하는것이라고 이해했습니다. 그러면 요청이 들어오면 엔티티매니저를 사용하는데 엔티티매니저 내에 영속성 컨텍스트가 있고 싱글톤으로 유지된다면 영속성컨텍스트가 다른 요청이랑 공유되는게 아닌가요? 싱글톤으로 등록되어 있는데 영속성컨텍스트가 공유되지 않는 이유가 궁금합니다. 엔티티매니저가 빈인데 어떻게 요청마다 생성되는것인지 궁금합니다.
미해결
홍정모의 따라하며 배우는 C언어
강의 중 파일이름을 직접 코드에 치지않고 scanf를 사용 할 수 도 있다고 해서 scanf를 사용해보았는데 에러가 뜨네요. 방식이 틀린걸까요? #include <stdio.h> #include <stdlib.h> //exit() int main() { int c; char str[40]; FILE* file = NULL; char file_name[] = scanf("%s", str); file = fopen(file_name, "r"); if (file == NULL) { printf("Failed to open file.\n"); exit(1); } while ((c = getc(file)) != EOF) putchar(c); fclose(file); return 0; } 감사합니다!!
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Object 클래스의 clone() 메서드는 깊은 복사가 아니라 얕은 복사로 알고 있습니다. 강의에서의 선생님의 말씀대로 clone() 메서드는 깊은 복사가 맞나요?
해결됨
홍정모의 따라하며 배우는 C언어
안녕하세요. 일단 저는 MacOS 환경에서 Visual Studio Code에 extention을 설치해서 듣고 있습니다. int main() { struct { bool option1 : 7; // bool : 0; // 자료형만큼의 크기가 더 할당됨. 패딩이 많이 들어가도 상관없으니 강제로 메모리를 더 달라. bool option2 : 1; // unsigned long long option3 : 16; } bbf; printf("%zu bytes\n", sizeof(bbf)); struct { unsigned int option1 : 32; // unsigned int : 0; unsigned int option2 : 1; // bool option3 : 1; } uibf; printf("%zu bytes\n", sizeof(uibf)); return 0; } 근데 예제를 따라하다가 bool option1 : 7; 을 하니까 교수님과는 달리 제 환경에선 에러가 나더라고요... 에러 메시지는 " error: width of bit-field 'option1' (7 bits) exceeds the width of its type (1 bit) " 였습니다. 그래서 나름 찾아봤는데 "In the C programming language, the width of a bit-field cannot exceed the width of the underlying type, and whether int bit-fields that are not explicitly signed or unsigned are signed or unsigned is implementation-defined. For example, int b:3; may have the range of values 0..7 or -4..3 in C, but only the latter choice is allowed in C++." (출처 : https://en.cppreference.com/w/cpp/language/bit_field ) 구글 번역을 참고해서 보니까 (영어를 잘하지 않아서 혹시 제가 잘못 이해한 부분이 있다면 알려주시면 감사하겠습니다.) 대충 비트필드의 넓이를 기본형식의 넓이가 초과할 수 없다는 것 같은데... unsigned int option1 : 32; 는 되는데 unsigned int option1 : 33; 하니까 비슷한 에러 " width of bit-field 'option1' (33 bits) exceeds the width of its type (32 bits) " 가 나오네요. int는 그렇다쳐도 bool의 크기는 1바이트니까 비트필드 안에서 7비트 선언하는게 왜 에러가 나오는지 혹시 알 수 있을까요? (구조체 안에 bool option1 : 1; 로만 정의하면 또 괜찮아요..)
해결됨
홍정모의 따라하며 배우는 C언어
안녕하세요. 궁금한 점 있어 질문드립니다. 예제와 비슷한 코드를 구성해 질문하겠습니다. 14행은 입력의 첫 글자를 제외한 나머지 글자들을 지워주는 코드로 이해했습니다. 제가 이해한 바로는 프로그램을 실행한 뒤, 콘솔창에 hello를 입력하면, 입력 버퍼에 'h', 'e', 'l', 'l', 'o', '\n'가 저장되고, 제일 먼저 'h'가 char c에 반환됨 이후 putchar을 통해 c에 반환됐던 'h'가 출력됨 나머지 입력 버퍼에 있던 글자들은 두 번째 while문 조건식을 충족하지 못해(\n 제외) 입력 버퍼에서 사라짐 (escape sequence를 입력하기 전까지)새로운 입력 반복 이렇게 이해했습니다. 여기서 3번이 조금 헷갈립니다. 첫 글자를 char c에 반환하고 putchar()로 실행한 뒤, 입력 버퍼에 있던 나머지 글자들은 두 번째 while문 안의 getchar()에 의해 한 글자씩 반복되며 입력 버퍼에서 사라지는 건가요? 그리고 첫 번째 while문은 char c로 값을 반환하는데, 두 번째 while문은 글자를 반환하는 변수가 없는 것 같습니다. 그렇다면 c에 반환된 첫 글자를 제외한, 입력 버퍼에 있던 글자들은 어딘가 반환되지 않고 그냥 사라지는 데이터들인가요? 최대한 제가 모르는 점을 정리했는데, 제대로 전달이 됐는지 모르겠네요 ㅜㅜ.. 늘 친절한 답변 감사합니다!
미해결
실습으로 배우는 선착순 이벤트 시스템
강의에서 설명해주시기로는 쿠폰 개수를 가져오는 것부터 쿠폰 생성까지 lock을 걸어야 한다고 설명 주셨는데 이전 강의인 재고 관리 이슈와는 다르게 row가 아닌 table에 lock을 걸기 때문에 성능 이슈가 발생한다고 보면 될까요?
미해결
IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)
https://www.acmicpc.net/problem/12865 #include <iostream> #include <algorithm> using namespace std; int N, K; int W[101]; int V[101]; int DP[101][100001]; int main() { scanf("%d%d", &N, &K); for (int i = 1; i <= N; i++){ scanf("%d %d", &W[i], &V[i]); } for (int i = 1; i <= N; i++) { for (int j = 1; j <= K; j++) { if (j < W[i]) { DP[i][j] = DP[i-1][j]; } else DP[i][j] = max(DP[i-1][j],DP[i-1][j-W[i]]-V[i]); } } printf("%d", DP[N][K]); } 안녕하세요? 정올 문제로 배낭문제 수강하고 똑같이 있는 백준문제를 발견하고 작성한 코드인데 채점을 하면 틀렸다고 뜹니다. 혹시 이유를 알 수 있을까요?
미해결
Do it! 알고리즘 코딩테스트 with JAVA
안녕하세요? 강의를 듣다가 궁금한 것이 생겨 질문 드립니다. 자바의 정렬 기본 알고리즘 시간 복잡도와 이진 탐색 시간 복잡도가 nlogn인 건 이해했는데, 코드부를 보면 이중 반복문이 나오고 있습니다. 앞 서 강의에서 반복문을 기준으로 이중 반복문이면 n의2승이라고 말씀하셨는데, 이 중 반복문을 썼는데도 nlogn이 되는 건 반복문이 진행되는 동안 절반씩 찾기 때문인가요?? 만약 이중 반복문으로 시간 복잡도가 올라간다면 이중 반복문을 쓰지 않고, 해결하는 방법을 알려주실 수 있으실까요?
미해결
나도코딩의 자바 기본편 - 풀코스 (20시간)
1. interface클래스내에 정의된 메써드는 public abstract이고, 변수는 public static final이 자동으로 앞에 정의가 된다고 하셨는데 이건 고정인건가요? 다른 형태로 봐꿀 수 있나요? 봐꿀 수 없다면 왜 그러한지가 궁금합니다. interface 클래스를 implements해주고 추상클래스를 extends 해주는 것은 둘 다 상속인건가요? 둘다 부모 클래스가 되는건가요?
해결됨
홍정모의 따라하며 배우는 C언어
안녕하세요. 궁금한 게 있어 질문드립니다. int main() { char str1[] = "String11"; char *str2 = "String22"; printf("%s %s\n", str1, str2); // String11 String22 printf("%p %p\n", str1, str2); // 0x16fc27078 0x1001dbf69 printf("%s\n", str2); // String22 printf("%c %p\n", *str2, str2); // S 0x1001dbf69 int arr1[] = {1, 2, 3}; int arr2[] = {4, 5, 6}; int *arrptr = arr2; // printf("%d %p\n", arr1, arr1); // 1876390008 0x16fd77078 printf("%d %p\n", *arr1, arr1); // 1 0x16f307078 printf("%d %p\n", *arrptr, arrptr); // 4 0x16f4eb068 int n = sizeof(arr1) / sizeof(int); for (int i = 0; i < n; i++) { printf("%d ", arr1[i]); } return 0; } int형 배열은 반복문을 통해 원소를 하나씩 꺼내어 출력해줘야 하는데, char str1[] = "String11" 에서 문자열 배열은 String11이라는 문자 하나하나가 모여서 문자열을 이루고 있음에도 불구하고 str1을 %s포맷으로 printf함수로 출력하면 왜 반복문을 사용하지 않아도 문자열이 그대로 나오나요? 그리고 char *str2 = "String22" 에서도 char형 포인트 변수 str2에는 문자열 "String22"중에서 첫번째 문자인 'S'의 메모리 주소가 저장되어 있을 텐데 str2도 마찬가지로 'S'만 나오는 것도 아니고 왜 문자열 전체가 그대로 나오는건가요..?
해결됨
홍정모의 따라하며 배우는 C언어
안녕하세요. 강의를 들으며 궁금한 점이 생겨 질문드립니다. 1번 예제를 보고, 저는 getchar() 함수가 '입력 받은 문자를 해당 아스키코드에 대응하는 정수로 해석해 변수에 그 값을 저장'한다고 이해했습니다. 그렇다면 그 값을 int로 해석한 뒤 char type 변수에 다시 저장하는 것인데, 이 지점이 잘 이해되지 않습니다. char 범위의 값을 int 형식으로 해석한 뒤 다시 변수에 저장하기 때문에 메모리에 있어 아무 문제가 없는 걸까요?? int로 해석하는 것이 'int 형식으로 값을 변환함'으로 이해하는 것이 맞을까요?? buffer라는 임시 공간이 활성화 되는 시점은 getchar() 함수를 통해 문자열을 입력한 뒤, 반복문에 들어가는 때인가요? 아니면 getchar() 함수로 입력받는 그 순간 buffer가 활성화 되는 건가요? 늘 친절한 답변 감사합니다!
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() throws Exception { //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); assertThat(member).isEqualTo(findMember); System.out.println("findMember == member: " + (findMember == member)); } } 위 코드에서 디비에 넣은 멤버와 찾은 멤버가 같은지를 비교를 isEqualTo를 사용을 하셨는데 이것은 제가 알기론 value부분만 같다면 true라는것으로 알고 있습니다. 같은 영속성 컨텍스트 안에서의 객체가 같은지 확인하려면 isSameAs가 맞지 않은지 의문이 생겼습니다!
해결됨
Windows 시스템 프로그래밍 - 기본
안녕하세요 선생님 프로세스 힙 상태 확인 예제 코드 결과에서 나온 region은 allocation size 인 64KB 인것 같은데 왜 block은 32KB인가요? 전 강의에서는 Allocation size (64KB), page size (4KB) 이렇게 나온것 같은데 그냥 새로운 논리적 구분 범위가 또 있다고 생각하면 되나요?
해결됨
Java/Spring 주니어 개발자를 위한 오답노트
어디까지 추상화 해야 하는가? 강의에서 2분 17초에 toDomain()으로 바꿔서 반환을 했는데 이렇게하면 JPA 엔티티가 아니라서 변경감지를 사용하지 못하는거 아닌가요? 이러한 방식으로 작성한다면 업데이트가 필요할 때는 어떤식으로 처리하나요?
미해결
홍정모의 따라하며 배우는 C언어
안녕하세요. 잘 듣고 있습니다. char cakes[7] = { 'A' ,}; 이런식으로 배열 초기화시 마지막에 쉼표를 넣는 경우가 있는데 무슨 뜻인가요? 해당 내용이 궁금해서 '배열과 포인터' 같은 연관 강의를 빠르게 찾아봤는데, 없었습니다. 혹시 해당 내용 설명한 강의가 있나요?
미해결
홍정모의 따라하며 배우는 C언어
강의에서 1:00에서 변수 max에다가 float가 가질 수 있는 가장 작은 값을 입력하는데 FLT_MAX에다가 -를 붙이는데 FLT_MIN을 사용하지 않는 이유가 뭔가요? 또 정수형의 경우 예를들어 char형이면 char형의 최댓값은 127이고 최솟값은 -128이어서 최댓값인 127에 -를 붙여도 최솟값이 안되는데 실수의 경우는 다른가요? 그냥 최대값인 FLT_MAX에 -를 붙이면 최솟값이 되나요? 항상 감사합니다!!!
미해결
홍정모의 따라하며 배우는 C언어
강의 초반부분 0:20 부분을 보고 코드를 짜보았습니다. #include <stdio.h> int main() { char ch; int characters = 0, words = 1, lines = 1; printf("Enter text : "); while ((ch = getchar()) != '.') { if (ch == ' ') words++; else if (ch == '\n') lines++; else characters++; } printf("Character = %d, Words = %d, Lines = %d", characters, words, lines); return 0; } 이 후 강의를 끝까지 다 봤는데 교수님의 코드와 저의 코드는 상당히 달랐습니다. 교수님은 flag라는 _Bool자료형을 사용했습니다. 코드를 한줄 한줄 읽어가면서 flag가 어떤식으로 작동하는지는 쪼오끔 알았는데 flag를 사용하는 이유를 모르겠습니다. 강의를 보면 프로그래머들이 자주 사용하는 형식이라고 하는데 flag의 장점이 뭔가요? 항상 감사합니다!!!
미해결
더 자바, 코드를 조작하는 다양한 방법
일단 새로운 프로젝트 만들고 premain 추가해주는 것 까진 강의를 그대로 따라하시면 됩니다. manifest plugin 부터 조금 차이가 있어서 거기부터 설명하면, build gradle 에 다음과 같이 추가한다. tasks.named('jar') { manifest { attributes( 'Implementation-Title': project.name, 'Implementation-Version': project.version, 'Premain-Class' : "com.java.magicianAgent.MagicianAgent", 'Can-Redefine-Classes' : true, 'Can-Retransform-Classes' : true) } } 터미널에서 다음 명령어를 통해 build 한다 ./gradlew clean build build.libs file 안에 있는 jar file 을 확인한다. (옵션) 강의에서와 마찬가지로 zip file 로 변경하면 확인가능합니다. 저같은 경우 SNAPSHOT.jar 과 SNAPSHOT -plain.jar 이렇게 2개가 생겼는데 SNAPSHOT.jar 은 제가 spring boot 로 실행서 그런지 관련 설정들이 보이고 SNAPSHOT -plain.jar 이 맞는거 같더라구요. jar file 의 절대 경로를 복사해 VM option 에 추가한다. 여기서부터는 다시 강의와 같습니다. VM option 이 안보이시면 오른쪽에 Modify options 클릭하면 add vm options 라고 보이실 겁니다. 이상한거나 궁금한거 있으시면 말씀해주세요. gradle 을 쓰시는 모든 분들도 마술을 성공시킵시다 하하
해결됨
CUDA 프로그래밍 (3) - C/C++/GPU 병렬 컴퓨팅 - 메모리 구조
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 너무 좋은 강의 다시 한번 감사드립니다. 다름이 아니고, video에서 각각의 frame별로 filter를 처리하는 부분을 cuda도 구현하는 코드를 짠다고 가정할 때, 각 프레임은 W x H x C ( rbg) 의 차원을 가지고 있고 영상이기 때문에 영상은 W x H x C x T 의 차원을 가지고 있을 겁니다. 그렇다면, cudaMalloc3D나 cudaMemecpy3D 부분을 사용해서 각 frame을 처리하고 ( device ) 나머지는 for 문 ( host ) 으로 시간에 따라 frame을 device로 보내도록 구현하였습니다. 그런데 혹시 시간 부분 까지 device에서 처리할 수 있는 방법이 있는 지가 궁금합니다.