소개
잔재미코딩, Dave Lee
주요 경력: 쿠팡 수석 개발 매니저/Principle Product Manager, 삼성전자 개발 매니저 (경력 약 15년)
학력: 고려대 일어일문 / 연세대 컴퓨터공학 석사 (완전 짬뽕)
주요 개발 이력: 삼성페이, 이커머스 검색 서비스, RTOS 컴파일러, Linux Kernel Patch for NAS
저서: 리눅스 커널 프로그래밍, 리눅스 운영 체제의 이해와 개발, 누구나 쓱 읽고 싹 이해하는 IT 핵심 기술, 왕초보를 위한 파이썬 프로그래밍 입문서
풀스택/데이터과학 관련 무료 자료를 공유하는 사이트입니다.
IT 학습에 도움이 되는 팁/ 짧은 무료 강의를 공유하고자, 조금씩 시작하고 있습니다~
최신 현업과 IT 강의를 병행하며, 8년째 꾸준히 견고한 풀스택과 데이터과학 강의를 만들고 있습니다.
강의
전체11로드맵
전체2수강평
- 좋은 강의 감사합니다. 다른강의도 열심히 완강해보겠습니다!
youtaey9327
2024.07.22
0
게시글
질문&답변
2024.07.25
Sakila PDF 파일 오류
안녕하세요. 답변 도우미입니다. 저희가 금일 바로 다운받아서 확인해봤는데, 우선 정상적으로 동작합니다. 파일명에 02 라고 붙은 부분이 좀 이상해보여요. 저희가 제공해드린 것은 02 앞에 _ 가 없거든요. 어쨌든 새로 다시 압축해서 업로드해드렸습니다. 감사합니다.
- 0
- 1
- 40
질문&답변
2024.07.25
SQL table에 있는 Default 의미
안녕하세요. 답변 도우미입니다. Default 는 SQL 테이블을 생성할 때 각 필드에 대해 기본값을 설정할 수 있는 옵션입니다. 이 기본값은 해당 필드에 값을 명시적으로 지정하지 않았을 때 자동으로 입력되는 값입니다. ### Default의 의미 - 기본값 : 특정 필드에 데이터가 삽입되지 않았을 때 자동으로 설정되는 값입니다. - 예를 들어, age 라는 필드의 기본값을 18 로 설정하면, 새 레코드를 삽입할 때 age 필드에 값이 주어지지 않으면 자동으로 18 이 입력됩니다. ### Default가 항상 NULL인 이유 - 기본적으로, 필드의 Default 값은 명시적으로 설정하지 않으면 NULL 로 설정됩니다. 즉, 해당 필드에 값이 지정되지 않으면 NULL 이 저장됩니다. - Default 값이 NULL 로 설정된 것은 필드가 특별히 기본값을 필요로 하지 않음을 나타냅니다. ### NOT NULL과 Default의 관계 - 필드에 NOT NULL 제약 조건을 설정하면, 해당 필드에 NULL 값을 저장할 수 없습니다. - 그러나 Default 값은 여전히 설정되지 않으면 NULL 일 수 있습니다. 이 경우, 값을 입력하지 않고 새 레코드를 삽입하려고 하면 오류가 발생합니다. - 따라서 NOT NULL 필드에는 기본값을 명시적으로 설정하는 것이 좋습니다. ### 예시 아래는 테이블을 생성하는 예시입니다. ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, age INT DEFAULT 18, email VARCHAR(100) DEFAULT NULL ); ``` 이 예시에서: - username 필드는 NOT NULL 로 설정되어 있어 값이 반드시 입력되어야 합니다. - age 필드는 값을 입력하지 않으면 기본값으로 18 이 입력됩니다. - email 필드는 값을 입력하지 않으면 NULL 이 입력됩니다. 따라서 테이블을 조회하면 다음과 같이 나올 수 있습니다: ```plaintext Field | Type | Null | Key | Default | Extra ---------|---------------|------|-----|---------|------ id | INT | NO | PRI | NULL | auto_increment username | VARCHAR(50) | NO | | NULL | age | INT | YES | | 18 | email | VARCHAR(100) | YES | | NULL | ``` 위의 표에서: - username 은 NOT NULL 이지만 Default 값이 설정되지 않았으므로 기본값이 NULL 로 나타납니다. - age 는 기본값이 18 로 설정되어 있습니다. - email 은 NULL 을 허용하며 기본값도 NULL 로 설정되어 있습니다. 요약하자면, Default 값은 해당 필드에 값이 제공되지 않았을 때 자동으로 입력되는 값이며, 기본적으로는 NULL 로 설정됩니다. NOT NULL 필드의 경우, 기본값을 명시적으로 설정하는 것이 실수를 방지할 수 있습니다. 감사합니다. 잔재미코딩 드림
- 0
- 1
- 34
질문&답변
2024.07.25
크롤링해서 엑셀로 넣는 걸 만들어 봤는데..
안녕하세요. 답변 도우미입니다 우선 본 강의 내용에 대한 질문/답변 외에, 각자 작성하시는 코드를 디버깅해드리거나, 함께 작업해드리는 것은 아무래도 본 강의가 평생 강의이기도 해서, 무리가 있어요. 이 부분은 양해부탁드려요. 각자 작성하신 코드라 저희도 한참 코드를 이해해봐야 하고, 개발을 해봐야 하거든요 ㅎㅎ 가볍게만 의견을 드리면, 작성하신 코드에서 data1 에 대해 enumerate 를 사용하고 있지만, data1 에는 section.featured-posts 가 한 개만 있어서 반복문이 제대로 작동하지 않을 가능성이 큽니다. section.featured-posts 섹션 내에서 각각의 상품을 선택해야 합니다. 이를 위해 다음과 같이 코드를 수정해 보세요. ```python import requests from bs4 import BeautifulSoup import openpyxl # 엑셀 파일 생성 excel_file = openpyxl.Workbook() excel_sheet = excel_file.active excel_sheet.append(["rank", "name", "date"]) # 웹 페이지 요청 res = requests.get(" https://davelee-fun.github.io/ ") soup = BeautifulSoup(res.content, "html.parser") # featured-posts 섹션 선택 featured_section = soup.select _one("section.featured-posts") # 각 상품 선택 products = featured_ section.select ("div.card") # 상품 정보를 엑셀에 추가 for index, product in enumerate(products): product_name = product.select _one("h4.card-text") product_date = product.select _one(" span.post -date") excel_sheet.append([index + 1, product_name.get_text(), product_date.get_text()]) # 엑셀 파일 저장 excel_ file.save ("oh.xlsx") excel_file.close() ``` 위 코드에서는 section.featured-posts 섹션 내의 div.card 요소들을 선택하여 각 상품의 이름과 날짜를 추출합니다. 이를 통해 모든 featured 상품들을 엑셀에 저장할 수 있습니다. 감사합니다. 잔재미코딩 드림
- 0
- 1
- 35
질문&답변
2024.07.25
강의 소리가 많이작아요.
안녕하세요. 답변 도우미입니다. 우선 불편을 드려 죄송합니다. 여러 차례 수시로 재촬영도 하다보니, 영상마다 다소간의 볼륨 차이가 있는 부분은 있습니다. 하지만, 저희가 오늘도 테스트를 해봤는데요. 해당 영상이 살짝 볼륨이 작은 느낌이 있어서, PC 볼륨을 좀더 올렸더니 선명하게 들리더라고요. 괜찮으시면 가볍게 PC 볼륨을 올려보시면 어떠실까요? 감사합니다.
- 0
- 1
- 39
질문&답변
2024.07.23
인덱스 관련 질문!
안녕하세요. 답변 도우미입니다. 인덱스는 데이터베이스에서 조회 성능을 향상시키기 위해 사용되며, 인덱스의 이름 설정은 주로 관리와 이해를 쉽게 하기 위함입니다. 이를 좀 더 상세히 설명드리겠습니다. 1. 인덱스의 역할 : - 인덱스는 데이터베이스 테이블의 특정 열에 대한 빠른 검색을 가능하게 합니다. 예를 들어, 학번을 저장하는 std_id 열에 인덱스를 설정하면, 해당 열을 기준으로 하는 조회 속도가 빨라집니다. 2. 인덱스 이름 설정의 목적 : - 가독성 : 인덱스의 이름을 std_id_index 와 같이 설정하면, 데이터베이스 관리자가 해당 인덱스가 std_id 열에 대한 것임을 쉽게 이해할 수 있습니다. - 관리 편의성 : 여러 인덱스가 존재하는 경우, 각 인덱스를 식별하고 관리하는 데 도움이 됩니다. 인덱스의 이름을 통해 어떤 열에 인덱스가 설정되어 있는지 명확히 알 수 있습니다. - 디버깅 및 유지보수 : 문제가 발생했을 때, 인덱스 이름을 통해 빠르게 문제를 파악하고 해결할 수 있습니다. 예를 들어, 다음과 같은 SQL 문을 사용하여 std_id 열에 인덱스를 생성한다고 가정해봅시다: ```sql CREATE INDEX std_id_index ON students(std_id); ``` 이 경우, std_id_index 라는 이름의 인덱스가 생성되며, 이는 students 테이블의 std_id 열에 대한 인덱스임을 명확히 나타냅니다. 따라서 인덱스 이름은 주로 데이터베이스의 가독성과 유지보수성을 높이기 위해 설정되며, 실제 조회 성능에는 직접적인 영향을 미치지 않습니다. 인덱스를 설정하면 데이터베이스는 내부적으로 인덱스를 활용하여 조회 성능을 향상시킵니다. 감사합니다. 잔재미코딩 드림
- 0
- 1
- 35