본문 바로가기

분류 전체보기

(432)
[부스트 코딩 뉴비 챌린지 2020] week6_LIVE 강의 1. 자료구조 되짚어보기 - 원래 배열이 크기가 고정되어 있지만, realloc을 이용하면 배열의 크기를 변경할 수 있다. - 다른 언어에서는 어떻게 쓰이는지 한 번 보자! 자바나 C++에서 ArrayList와 Vector도 realloc의 개념을 확장시킨 것이다. - 이중 연결 리스트, 환형 연결 리스트라는 것도 알아보자. - 재귀를 for문으로도 구현을 할 수도 있다. - 트리를 꼭 연결 리스트로 만들 필요 없다. 배열로도 만들 수 있으므로 한 번 만들어보자! 해시테이블은 중요한 자료구조이다. 현업에서 가장 많이 쓰인다. 해시 함수를 늘릴 수록 충돌이 적어지지만, 메모리를 많이 차지하게 되는 trade off가 발생한다. 현업에서도 trade off가 많이 고려하므로 이를 잘 고려하자. 문자열을 저장..
[제주코딩베이스캠프] 웹개발 30분 요약 - 6. 30분 요약시리즈 - CSS 학습 리스트 내부/외부/인라인 CSS 선택자(Selector), 속성(Property), 값(Value) 선택자의 네 가지 종류 Font 속성과 box의 크기 조절 padding과 margin box의 속성들: box-sizing, border-radius, border, opacity 가운데 정렬하기 Font 변경하기 색상 1. 내부/외부/인라인 CSS (1) 내부 CSS hello world 다음과 같이 입력하는 경우 아래와 같은 결과가 나온다. 하지만 html에 스타일을 작성하게 되면 문서의 복잡성과 유지보수의 문제도 있다. 그렇다면 html에서 style부분을 다른 css파일로 만들고 이를 연결해보자. (2) 외부 CSS h1{color:red}; hello world 이렇게 작성하면 동일한 결과..
[부스트 코딩 뉴비 챌린지 2020] C언어: %p와 %x의 차이점은? 메모리의 주소값을 표현할 때 보통 16진수로 나타낸다. 16진수를 나타낼 때 형식 연산자로 %x를 사용한다. 하지만, 메모리 주소값을 알고 싶을 때 사용하는 형식 연산자 %p도 존재한다는 것을 우리는 알고 있다. 그렇다면 형식 연산자 %p와 %x의 차이점은 무엇일까? 간단한 예제를 통해 알아보자. #include int main(void){ int a = 10; printf("x : %x\n", &a); printf("p : %p\n", &a); printf("x : %x\n", a); printf("p : %p\n", a); } ERROR p : 0x7ffe9385607c x : 64 ERROR 맨 아래 출처의 예에 의하면 위의 네 값은 모두 나온다. 하지만 나의 경우, 출력에 위와 같은 에러가 발생하..
[부스트 코딩 뉴비 챌린지 2020] C언어: 포인터에 자료형은 왜 붙일까? 이번주 6주차 마지막 미션 회의를 하면서 가진 의문이다. 팀원 중 한 분이 int형 포인터는 할당되는 메모리 크기가 int크기인 4임을 의미하는 게 맞냐는 질문을 했다. 하지만 포인터 변수는 가리키는 변수의 메모리 주소를 저장하고 있으므로 운영체제에 따라 항상 4 / 8바이트의 정해진 크기를 갖는다. 그렇다면 포인터 변수 앞에 자료형은 왜 붙일까? 그냥 간편하게 포인터 자료형이라고 따로 만들면 될텐데 말이다. 포인터에 저장되는 메모리 주소값은 정수형으로 동일(4 or 8 bytes)하지만, 선언하는 자료형에 따라 메모리에 접근하는 방법이 달라진다고 한다. 즉, 아래와 같이 포인터를 역참조하게 되면 선언한 자료형의 크기에 맞춰 값을 가져오거나 저장하게 된다. 즉, long long 포인터는 8바이트 크기만..
[제주코딩베이스캠프] 웹개발 30분 요약 - 5. 30분 요약시리즈 - HTML 학습 리스트 개발환경 tag list와 style image, 유튜브 불러오기 input form table과 style meta tag lorem의 또다른 기능 HTML 5의 구조 블록 레벨과 인라인 레벨 개발 환경 파이썬에서와 동일하게 구름IDE에서 새 컨테이너를 생성한다. 전과 다른 점은 '소프트웨어 스택 선택'을 할 때 'HTML/CSS/JS'로 선택한다. 실행 후, html 파일을 열고 "Open Preview"를 누르면 아래와 같이 작성한 코드를 바로 결과로 볼 수 있다. 새 파일을 만든 후, "! tab"을 누르면 아래와 같이 기본 코드가 작성된다. 1. Tag : 헤드. h1부터 h6까지 있다. : 문단. paragraph ✔︎ 공백이 있어도 HTML에서는 병합되기 때문에 반영되지 않는다...
[제주코딩베이스캠프] 웹개발 30분 요약 - 4. 30분 요약시리즈 - Python 2부 학습 리스트 반복문 (while, for) 진행형 리스트 다중 인자 순회 리스트 enumberate() pass continue 조건문 (if, elif, else) 클래스 class / instance object 매직 메소드 built in function 반복문 (1) while while True or False a = 10 while a 9: break a += 1 # hell..
[제주코딩베이스캠프] 웹개발 30분 요약 - 3. 30분 요약시리즈 - Python 1부 학습 리스트 작업 환경 Juptyer 사용법 자료형 문자열 메소드 연산 : 산술, 비교, 논리, 비트 함수 리스트, 튜플, 딕셔러니, 셋 1. 작업 환경 환경은 구름IDE에서 Jupyter로 한다. 이처럼 구름IDE에 접속해서 하는 방법이 있고, 컴퓨터에 아나콘다 설치 후 Jupyter notebook 실행하여 할 수도 있다. 컨테이너를 만들고 '프로젝트 > 실행(Shift + F5)'을 하면 Jupyter notebook이 실행된다. 그 다음 위 화면의 url을 클릭하면 Jupyter notebook에 들어가게 된다. 여기서 'New > python3' 를 클릭하면 Jupyter notebook 작업 환경이 나온다. Jupyter 사용법 ctrl + enter : 실행 In [n], Out [n] 의 ..
[부스트 코딩 뉴비 챌린지 2020] week5_Q&A : 메모리 해제와 메모리 할당 Q. 메모리를 해제하는 함수인 free와 메모리를 초기화 하는 함수인 memset가 있습니다. 먼저 메모리를 해제한다는 것과 메모리를 초기화 한다는 것의 차이가 무엇인지 궁금합니다. 만약 둘의 의미가 비슷하다면 free함수와 memset함수의 차이는 무엇인가요? A. free와 memset은 의미가 완전히 다릅니다. malloc으로 할당된 메모리를 memset을 이용하여 초기화하면, 할당된 메모리에 담긴 값이 모두 특정한 값으로 바뀌게 됩니다. 반면, malloc으로 할당된 메모리를 free를 이용하여 해제하면, 그 메모리는 쓰레기통에 들어간다고 생각하시면 될 것 같습니다. 즉, 다시는 그 메모리에 의도적으로 접근할 수 없다는 뜻입니다. 우연히 접근할 수는 있겠지만 일반적으로는 해제된 메모리는 다시 이용..

반응형