안녕하세요! 다음 코드를 제 스스로 분석해봤는데, 정확한 분석이 맞는지 헷갈려서 질문드립니다. (1) Comma 연산자는 Assignment 연산자보다 서열이 낮은 것으로 알고 있습니다. 1번 예시에서 콤마가 작동하는 시기는 z에 x의 값이 대입되고, y에 값 2가 대입된 뒤인가요? 콤마 연산자는 왼쪽에서 오른쪽으로 계산을 하는데, 이미 대입연산자에 의해 각각 값이 대입된 변수 z와 y를 또 계산한다는 것이 잘 이해되지 않습니다. 이 경우의 콤마 연산자의 계산이란 무엇인지 알려주시면 감사하겠습니다. (2) 1번 예시와 2번 예시의 차이점은 무엇이 먼저 계산되느냐 일까요? 즉 1번 예시에서는 x에 1이 대입되고, 그 값이 다시 x에 대입된 뒤, y에 2가 대입되고, 콤마 연산자가 작동한다면, 2번 예시에서는 x에 1이 대입되고, y에 2가 대입된 뒤, x의 값이 z에 대입되고, 콤마 연산자가 작동하는 건가요? 늘 친절한 답변 감사합니다.
안녕하세요. 강의에서 일반문과 그것의 축약문의 어셈블리 비교를 통해 효율성을 체크했습니다. 그냥 보면 둘은 똑같아 보였는데, 자세히 보니 끝에서 두 자리가 다르더군요. 이건 제 단계에서 크게 신경쓰지 않아도 되는 것 같은데, 그래도 궁금해서 질문드립니다. 일반문과 축약문의 어셈블리가 완전 같지는 않은데, 저 정도는 효율성을 따지는데 있어 굳이 신경 쓰지 않아도 되는 건가요?
안녕하세요 선생님 꼼수관련 질문이 2개 있습니다. 1) 문제가 생긴 프로그램이 multi threading 때문에 context switching이 자주 일어나서 2시간만 지나면 고장나는 것인가요? 2) 이를 하나의 프로세스로 고정시키면 여전히 context switching 이 일어나더라도 cpu core가 완전히 바뀌는게 아니라 좀 더 손쉬운 context switch가 일어나서 부하가 덜간다... 이런 느낌으로 이해하면 맞을까요?
강의에서 GetString 도 free(...) 를 호출하고 = NULL; 을 호출하기에 WRITE 요소가 있어 동기화가 필요하다 얘기해주셨는데 그렇다면 정말 sprintf_s 로 버퍼를 복사해오는 읽기만 있다면 GetString 함수를 동기화할 필요가 없나요? 두 Worker Thread에서 free(...) 를 호출한 이후에 Main Thread 에서 그 값을 버퍼로 복사해오는 읽기 작업을 한다면 제대로된 문자열을 복사해오지 않을 수 있을 것 문제가 발생할 수 있어보여서여 A Thread는 WRITE / B Thread는 READ 만 했을 때 READ함수에는 동기화를 하지 않아도 되는지 궁금합니다.
안녕하세요. 관계 연산자 3번 예시를 공부하다 문자를 입력받으면 무한루프에 빠지는 정확한 이유가 뭔지 궁금해서 질문드립니다. 변수 guess는 double type이기 때문에 문자를 받을 수 없는 것은 이해했습니다. 그런데 왜 문자를 넣으면 무한루프에 빠지는지 모르겠습니다. 디버깅을 해보니 guess는 처음 입력된 '3'이 계속 저장돼 있는데, 이것과 관련이 있는 걸까요?
안녕하세요. 5-11 형변환을 공부하다가 궁금한 점이 생겨 질문드립니다. 13행에서 변수 i에, 강제로 float로 변환된 표현식 'f + 2 * c;'의 값이 저장되는 것으로 이해했습니다. cpu는 다른 자료형들을 연산할 수 없기 때문에 컴파일러가 표현식의 자료형을 동일하게 변환시키는 것은 이해됩니다. 그런데 변할 때 피연산자들 중 상대적으로 더 큰 자료형을 갖는 피연산자에 맞춰 변환되는 것인가요? 즉 13행의 경우는 실수 자료형을 갖는 변수 f가 정수인 '2 * c' 보다 더 큰 자료형이기 때문에 두 피연산자를 더한 값의 자료형이 float가 되는 것인가요? 늘 좋은 답변 감사합니다.
안녕하세요. 연산자의 우선순위에 대해 설명하실 때 강의에서 말하는 ()는 operator가 아니라 primary expression이라고 하셨습니다. 강의의 ()는 operator가 아닌데, 어떻게 연산자 우선순위를 설명할 때 포함될 수 있는지 모르겠습니다. 늘 좋은 강의, 답변 감사합니다.
안녕하세요 선생님 질문이 있습니다. 제가 자바의 intellij에 익숙해서 선생님이 하신것 처럼 _ SECURITY_ ATTRIBUTES#lpSecurityDescriptor 다음에 SECURITY _DESCRIPTOR 로 넘어가시는데 1번째 구조체에서 뭘 참조해서 넘어가신것인가요? 1번째 구조체는 CreateProcess를 타고 들어가서 찾을 수 있었는데 2번째 구조체는 ctrl+shift+f로 밖에 못찾겠습니다. 어떻게 연결되는것인가요? 아니면 연결이 안되고 그냥 별도의 구조체로 존재한다 봐야하나요?
안녕하세요 강사님. 좋은 강의 감사합니다. 강의 잘 보고 있습니다. 질문이 있는데요. 32비트던 64비트던 똑같이 스택 메모리에 쓰레기 값?이 있는 것이 이해가 안되서 질문 드립니다. 0x00000008F9AFF924 03 00 00 00 cc cc cc cc 0x00000008F9AFF92C cc cc cc cc cc cc cc cc 0x00000008F9AFF934 cc cc cc cc cc cc cc cc 0x00000008F9AFF93C cc cc cc cc cc cc cc cc 0x00000008F9AFF944 04 00 00 00 cc cc cc cc 0x00000008F9AFF94C cc cc cc cc cc cc cc cc 0x00000008F9AFF954 cc cc cc cc cc cc cc cc 0x00000008F9AFF95C cc cc cc cc cc cc cc cc 0x00000008F9AFF964 cc cc cc cc 10 00 00 00 0x00000008F9AFF96C 20 00 00 00 30 00 00 00 0x00000008F9AFF974 40 00 00 00 50 00 00 00 진하게 표시한 것이 변수 값입니다. 여기서 이해가 안되는 것이 int a = 3, int b = 4;를 실행하면 스택 메모리에 아래처럼 저장되는게 아니라 위처럼 띄엄 띄엄 저장되나요? 0x00000008F9AFF924 03 00 00 00 04 00 00 00
안녕하세요, 강의를 잘 듣고 있습니다. 모델 필드에 있는 몇몇 필드들이 admin에 나타나지 않더군요 예를 들면, updated_at, created_at 같은 필드들이요 이를 위해서 admin 페이지에 일일히 모델 필드를 list_display에 등록해줘야 하는게 맞나요? from django.contrib import admin # Register your models here. from .models import * admin.site .empty_value_display = "-empty-" admin.site .register(Product) admin.site .register(CartProduct) class OrderAdmin(admin.ModelAdmin): list_display = ['customer', 'transaction_id', 'total_price'] admin.site .register(Category) admin.site .register(UserProfile) admin.site .register(Order) admin.site .register(OrderedProduct) admin.site .register(ShipmentInfo) 그럼 제가 직접만든 모델의 경우에는 그렇다 쳐도.. allauth에 있는 site domain 부분이 나오질 않는거에요 ㅠㅠ... 제가 뭘 잘못 건드렸는 지 모르겠는데, 맨처음 프로젝트할 때에는 allauth의 소셜 어플리케이션 부분에 사이트 도메인을 입력할 수 있는 커다란 박스가 있었는데, 그것만 또 안난옵니다. 제가 뭘 잘못한건지 ㅠㅠ 원래 잘 나오던건데... 이번에 파이참 커뮤니티 에디션에서 유료버전으로 바꾸고, 프로젝트를 만들고 나니 admin에 몇몇 모델의 필드들이 잘 보이지 않습니다. verbose name을 설정된것들이 특히 그런 거 같은데 무엇이 문제인지 도통 모르겠습니다. 그렇다고 allauth를 제가 admin에 등록해야하는걸까요? 2.제가 모르는 무언가가 있는걸까요?
안녕하세요. 아래 섹션 실습 중, 에러가 발생하여 문의드립니다. 섹션 9 : [응용] 윈도우 관리학 - (1)베이그런트를 이용해서 윈도우를 추가하기 Ansible_env_ready.yaml 에 아래와 같이 추가 후, vagrant provision ansible-server을 수행했는데 pvwinrm 설치 과정에서 에러가 발생하였습니다. - name: Install python-pip yum: name: python-pip state: present - name: Install pywinrm pip: name: pywinrm state: present ansible-server에 접속하여 수동으로 pip install pywinrm을 수행했는데 역시 에러가 발생합니다. python 버전을 업그레이드 하라고 메시지가 나오는데 향후 수업 따라하기 시, 영향이 있을 듯 하여 선뜻 테스트하지 못 하고 있습니다. 해결 방법에 대해서 가이드 부탁드리겠습니다. 감사합니다 !
강의 시간 6:20부터 #define ROWS 3 #define COLS 4 int sum2d_1(int ar[ROWS][COLS]); "ROWS를 넣어주더라도 내부적으로는 사용할 수 없고, 이 정보는 정의하는 함수로 전달이 안된다. 근데 배열을 선언할때 symbolic constant를 사용하는 경우가 대부분 그래서 이걸(ROWS) 이용해서 밑에서 접근할 수 있다." 여기서 밑에서 접근할 수 있다는 말이 int main() { int data[ROWS][COLS] = { {1,2,3,4}, {5,6,7,8}, {9,0,1,2} }; printf("%d\n", sum2d_1(data)); return 0; } int sum2d_1(int ar[ROWS][COLS]) { int r, c, tot = 0; for (r = 0; r < ROWS; r++) for (c = 0; c < COLS; c++) tot += ar[r][c]; return tot; } for문에 있는 ROWS가 위에서 define으로 이미 정의되어 있기 때문에 사용할 수 있다는 말인가요??
안녕하세요. 강의를 몽땅.. 다 담아서 열심히 수강하고 있는 한 학생입니다.^^ 학습한 내용을 제대로 이해했는지 확인 하고 싶어 질문 남깁니다. OS도 결국 명령어와 데이터의 조합으로 이루어진 이진수 binary 파일인 프로그램에 불과하며 disk에 저장되어 부팅 시 부트 로더에 의해 RAM으로 LOAD 되는 것이며, 이 때 커널은 항상 고정 크기를 가지며 파편화가 되지 않습니다.(메모리 가상화를 OS가 해주므로) 즉, 커널은 연속된 메모리 공간에 쌓입니다. 프로세스들은 이 커널 영역을 공유 사용하며, 저장된 가상 메모리 테이블 등에 의해 맵핑 되구 syscall을 할 수 있습니다. 또한 VMWare 등의 프로그램을 통해 가상 머신을 돌릴 때도 커널은 고정 크기를 가집니다. VM에서 실행할 때, RAM 용량 설정, Thread 갯수 설정 등의 옵션이 있는데 4코어 8GB 환경이라면 VM에 2코어 4GB를 지정해주면 이를 딱 조절해서 HOST와 Virtual OS는 자원을 반 씩 나눠 쓰는 개념이기 때문이고, 가상 OS 상에서의 프로세스들은 Virtual OS에 의해 가상 메모리를 관리 받습니다. 검색과 고민 끝에 이렇게 이해를 했는데 잘 한 것이 맞는지, 잘못된 부분이나 조언해주실 것이 있다면 부탁드리겠습니다.^^ 항상 잘 듣고 있습니다. 감사합니다.