일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 머신러닝
- test-helper
- 백준
- 그리디
- 모두를 위한 딥러닝 강좌 시즌1
- 2단계
- 자료구조 및 실습
- Python
- Object detection
- 딥러닝
- 파이썬
- 구현
- ssd
- 실전알고리즘
- docker
- 3단계
- SWEA
- CS231n
- AWS
- 코드수행
- 프로그래머스
- C++
- 이것이 코딩테스트다 with 파이썬
- ubuntu
- 1단계
- STL
- 전산기초
- pytorch
- cs
- MySQL
- Today
- Total
목록TIL (282)
곰퓨타의 SW 이야기
보호되어 있는 글입니다.
보호되어 있는 글입니다.

SOLID 객체 지향 소프트웨어 설계 (OOP)의 핵심 5가지 원 S : 단일 책임 원칙 (Single responsibility principle) O : 개방 / 폐쇄의 원칙 (Open/closed principle) L : 리스코프 (Liskov) 치환 원칙 (Liskov's substitution principle) I : 인터페이스 분리 원칙 (Interface segregation principle) D : 의존성 역전 원칙 (Dependency inversion principle) 파이썬은 유연한 언어이기 때문에 항상 따를 필요는 없다. 1. 단일 책임 원칙 (SRP - Single Responsibility Principle) 컴포넌트 (클래스)가 단 하나의 책임을 져야 한다. 신(god)..

1. 계약에 의한 디자인 Contract 디자인할 때, 예상되는 입출력, 부작용에 대해서 명시하는 부분 DbC (Design by Contract) : 코드에 암묵적으로 기대하는 바를 추가하고, 잘못된 경우 명시적으로 예외 발생 소프트웨어 컴포넌트 간의 통신 중에 반드시 지켜야 할 몇 가지 규칙을 강제하는 것 사전 조건 : 코드 실행 전 확인해야할 것 (ex. 데이터베이스, 파일, 이전에 호출된 다른 메서드 검사 등) 사후 조건 : 함수 변환값의 유효성 검사 불변식 (invariant) : docstring으로 불변식에 대해 문서화 부작용 (side-effect) : docstring에 코드의 부작용 언급 계약하는 이유 : 오류를 쉽게 찾아낼 수 있음 + 잘못된 가정 하에 코드의 핵심 부분이 실행되는 것..
파이썬스럽다 (pythonic) 관용구 : 특정 작업을 수행하기 위해 코드를 작성하는 특별한 방법이다 파이썬에서 관용구를 따른 것을 파이썬스럽다(Pythonic)이라 한다. 1. 인덱스와 슬라이스 첫번쩨 요소의 인덱스는 0부터 시작한다. 파이썬은 음수 인덱스를 통해 끝에서부터 접근이 가능하다. >>> my_numbers = (4,5,3,9) >>> my_numbers[-1] 9 >>> my_numbers[-3] 5 하나의 요소를 얻는 것 외에도 slice를 사용하여 특정 구간의 요소를 구할 수 있다. [x:y] --> x, x+1, ... y-1까지의 요소 (x번째 이상부터 y번째 미만까지) x, y 파라미터가 없는 경우에는 튜플의 복사본을 만든다. >>> my_numbers = (1,1,2,3,5,8,..
1. 서론 - 클린 코드의 의미 프로그래밍 언어의 의미 인간의 아이디어를 컴퓨터에 전달하기 위해 사용하는 언어 (X) 아이디어를 다른 개발자에게 전달하는 것 따라서, 클린 코드는 다른 엔지니어가 코드를 읽고 유지 관리할 수 있는지 여부에 따라 달려있다. - 클린 코드의 중요성 유지보수성 향상 일정하게 예측 가능한 속도로 민첩한 개발과 지속적인 배포 가능 기술 부채의 감소 기술 부채 : 나쁜 결정이나 적당한 타협의 결과로 생긴 소프트웨어적 결함 1. 현재 -> 과거의 방향 : 직면한 문제가 과거의 잘못된 코드로 생긴 건 아닐지 2. 현재 -> 미래 : 현재의 문제를 적절하게 해결하기 위해 시간을 투자하지 않아서 미래에 문제가 발생하는 건 아닐지 이자가 발생하는 부채처럼, 코드를 미래에 변경하는 것이 더 어..
보호되어 있는 글입니다.

해결해야하는 문제는 다음과 같았다. https://programmers.co.kr/learn/courses/30/lessons/12936 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr 아주 오랜만에 코딩해볼겸 풀어보았다! 첫번째 아이디어는 다음과 같다. 1. itertools를 이용하여 모든 순열 경우의 수 구하기 2. 파이썬 내장함수 sort를 통해 sorting하기 3. k-1번째에 해당하는 리스트 return하기 아이디어를 바탕으로 작성한 코드는 다음과 같다. (정확성 테스트 중 두 개의..
보호되어 있는 글입니다.
보호되어 있는 글입니다.