본문 바로가기
SMALL

정리34

3. 코딩과 디버깅에 대하여 "코딩의 중요성을 간과하지 말라"▶ 좋은 코드를 짜기 위한 원칙1. 간결한 코드를 작성하기코드가 짧으면 짧을수록 오타나 단순한 버그가 생길 우려가 줄어들고, 디버깅도 쉬워진다. 2. 적극적으로 코드 재사용하기코드 모듈화가 가장 직접적인 방법.같은 코드가 반복된다면 이들을 함수나 클래스로 분리해 재사용하자. 3. 표준 라이브러리 공부하기간결한 코드를 작성하기 위한 중요한 원칙 중 하나. 공부를 잘 해두자. 4. 항상 같은 형태로 프로그램을 작성하기자주 작성하는 알고리즘이나 코드 등에 대해서는 한 번 검증된 코드를 작성하고 이것만을 꾸준히 사용하자. 5. 일관적이고 명료한 명명법 사용하기모호하지 않은 변수명과 함수명을 사용하는 버릇을 들이고, 사용하는 언어의 표준 라이브러리에서 사용하는 명명 규약을 익히자... 2025. 3. 2.
2. 문제 해결 개관 "문제 해결 능력을 기르는 것은 골프 샷을 배우는 과정과 같다."▶ 문제 해결 과정문제를 읽고 이해하기 : 문제가 원하는 바를 완전히 이해하고, 사소한 제약 조건도 파악하자.재정의와 추상화 : 자신이 다루기 쉬운 개념을 이용해서 문제를 자신의 언어로 풀어쓰자.추상화 - 현실의 본질만을 남겨두고 축약하여 다루기 쉽게 표현하는 것계획 세우기 : 문제를 어떤 방식으로 해결할지 결정하고, 사용할 알고리즘과 자료 구조를 선택하자.계획 검증하기 : 설계한 알고리즘이 모든 경우에 요구 조건을 정확히 수행하는지를 증명하고, 수행에 걸리는 시간과 사용하는 메모리가 문제의 제한 내에 들어가는지 확인하자.계획 수행하기 : 구현이 부정확하거나 비효율적이면 프로그램은 동작하지 않으므로 중요하다.회고하기 : 자신이 문제를 해결한.. 2025. 2. 28.
1. 문제 해결과 프로그래밍 대회 ▶ 프로그래밍은 문제 해결이다.프로그래밍을 하면서 고려해야하는 사항프로그래밍 언어의 특성프로그램이 동작할 하드웨어와 운영체제에 관한 지식사용하고 있는 라이브러리들에 대한 유의사항프로그램이 사용할 수 있는 최대 메모리사용자를 생각한 시간 제한재사용성이 높은 간결한 코드 작성이러한 제약 조건과 요구사항을 이해하고 최선의 방법을 찾아내는 능력을 갖춰야 좋은 프로그래머가 될 수 있음.▶ 프로그래밍 대회대회에서 배울 수 있는 것들군더더기 없는 프로그램으로 문제를 해결하는 데에만 집중할 수 있음명시적인 시간 제한과 메모리 제한으로 알고리즘을 신중하게 개발할 수 있음정답과 오답의 여부가 훨씬 명확히 가려지기 때문에 빠르고 객관적인 피드백을 받을 수 있음제출한 프로그램의 실행 시간이나 메모리 사용량 관련 정보가 실시간.. 2025. 2. 27.
7. Deadlock -The Deadlock Problem Deadlock(교착상태) 그림과 같이 누군가 희생을 하지 않고 자원(길목)을 가지고 있으면서 상대방의 자원(다른 길목)을 요구하는 상황 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 (ex : I/O device, CPU cycle, semaphore 등) 프로세스가 자원을 사용하는 절차 (Request, Allocate, Use, Release) Deadlock Example 1 시스템에 2개의 tape drive가 있다. 프로세스 P1과 P2 각각이 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있다. Deadlock Example 2 Binary semaphor.. 2023. 5. 25.
9장_텍스트 감정 분석하기 한국어 텍스트를 분석하기 위한 방법과 영화 리뷰에 대하ㄴ 감정을 판단하는 딥러닝 모델 생성이 목표 1. 텍스트 감정 분석이란 소셜이나 포털에서 사용자가 작성한 글을 직접적인 의미의 '좋다', '싫다'로 구분할 수 있음 시장을 분석할 때 주가, 금리나 일자리 늘어남을 긍정/부정 신호로 구분할 수 있음 2. 순환 신경망을 이용한 감정 분석 [딥러닝을 위한 감정 분석의 이해] 감정분석에는 어휘기반 사전 구축, 지도학습 등의 방법이 있지만 이번 장에서는 딥러닝 기법을 사용할 것 단어를 벡터화하고 이를 순환신경망 중 LSTM기법을 사용하여 감정분석을 수행 위의 그림과 같이 문장이 제시 되었을 때 띄어쓰기 단위로 단어 임베딩하면 4개의 벡터가 생성됨. 4개의 입력값은 순환 신경망의 각 시점마다 순차적으로 입력 코드.. 2023. 3. 28.
8장_워드투벡을 이용한 자연어 처리 이전 내용에서는 기존의 단어 임베딩(Word Embedding)을 원핫 인코딩(one-hot encoding)방식을 사용함. https://yuna96.tistory.com/133 7장_한글 자연어 처리 자연어 처리 기술(NLP, Natural Language Processing) : 사람이 말하는 언어를 기계적으로 분석해 컴퓨터가 이해할 수 있는 형태로 만드는 기술 1. 자연어 처리 분야 정보 검색(Information Retrieval Service) 가장 yuna96.tistory.com 이 방식은 단어 사전이 무한대로 길어지는 단점이 있으며 대부분 0으로 표시되어 의미 없는 메모리를 차지함. 또한 단어 간의 의미론적 차이와 연관 관계를 이해할 수 없음 이러한 문제를 해결하기 위해 단어를 다차원 공.. 2023. 3. 19.