본인이 작성했던 코드 중 공유하고 싶은 코드를 이유와 함께 마크다운 코드블락을 사용해 올려주세요
언어 상관없음
어떤 로직이든 상관없음
단, 길이가 길지 않은 함수 단위가 좋습니다
def name_to_json(cursor):
row = [dict((cursor.description[i][0], value) for i, value in enumerate(row)) for row in cursor.fetchall()]
return row
위 코드는 DataBase에 연결하여 cursor.fetchall() 함수로 받아온 쿼리 결과를 json 형식으로 만들어 반환해주는 함수입니다.
Layered Architecture(계층 아키텍처)에 대해서 설명해 주세요
레이어드 아키텍쳐 패턴에서의 구성 요소(component)들은 각 레이어에 수평적으로 구조화되어있다. 레이어드 아키텍처 패턴은 정확히 한 패턴에 몇개의 어떤 레이어가 있어야 하는지를 명시하지 않지만, 가장 보편적인 레이어드 아키텍처 패턴은 4개의 레이어로 구성되어있다; presentation, business, persistence, database이다.
Dependency Injection(의존성 주입)의 개념과 함께, 왜 필요한지 작성해 주세요
Dependency Injection(의존성 주입)의 개념
외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.
Dependency Injection(의존성 주입)이 필요한 이유
복잡한 프로젝트일 경우 지속적이고 효율적인 유지보수를 위해서 의존성 주입이 필요하다고 생각이듭니다.
본인이 사용하는 언어의 Functional Programming(함수형 프로그래밍) 스펙을 예제와 함께 소개해 주세요
순수 함수들을 조합하여 전체 프로그램을 구현하는 방식으로 말 그대로 프로그램 내에서 데이터 연산 및 처리를 수학적인 개념에서 이해하여 다루려는 개념
side effect 차단
모든 것을 객체로 취급
보다 쉽고 안전한 동시성 작업
일급 함수
일급 함수는 아래와 같은 조건을 만족하는 함수로 대표적으로 kotlin, java script 함수들이 일급 함수에 속합니다. 파이썬 역시 모두 객체로 이루어져 있기 때문에 함수 역시 객체이고 따라서 파이썬의 함수 또한 일급 함수입니다.
변수나 데이터 구조 내부에 할당 가능
파라미터로 전달 가능
반환 값(return value)으로 사용 가능
할당에 사용된 이름과 무관히 고유하여 구별이 가능하고 동적 프로퍼티 할당이 가능
def factorial(n):
'''factorial func -> n : int'''
if n == 1 :
return 1
반환값으로 사용
return n * factorial(n-1)
변수로 할당
fac = factorial
<function factorial at 0x10d30eb00>
인수로 전달
[fac(i) for i in range(1,6) if i %2 ]
[1, 6, 120]
2. 고차 함수
람다 계산법에서 만들어진 개념으로 일급 함수의 부분집합으로 볼 수 있습니다.
- 함수에 함수를 인수로 전달 가능
- 함수의 반환 값으로 함수를 사용 가능
순수 함수
함수형 프로그래밍에 꼭 필요한 개념입니다.
동일한 입력에는 항상 동일한 결과를 반환
함수의 실행이 프로그램 전체 실행과는 무관하다.(즉 side effect가 없다)
a = 10
def test(b):
a = 20
print(a)
print(b)
test(10)
20
10
print(a)
10
(코드 작성) 다음 스펙을 만족하는 delay 함수를 작성해 주세요 (hint: Promise 사용)
본인이 작성했던 코드 중 공유하고 싶은 코드를 이유와 함께 마크다운 코드블락을 사용해 올려주세요
언어 상관없음 어떤 로직이든 상관없음 단, 길이가 길지 않은 함수 단위가 좋습니다
Layered Architecture(계층 아키텍처)에 대해서 설명해 주세요
Dependency Injection(의존성 주입)의 개념과 함께, 왜 필요한지 작성해 주세요
본인이 사용하는 언어의 Functional Programming(함수형 프로그래밍) 스펙을 예제와 함께 소개해 주세요
일급 함수
반환값으로 사용
return n * factorial(n-1)
변수로 할당
fac = factorial
인수로 전달
[fac(i) for i in range(1,6) if i %2 ]
test(10)
print(a)
(코드 작성) 다음 스펙을 만족하는 delay 함수를 작성해 주세요 (hint: Promise 사용)
결과값
강의를 통해서 기대하는 바, 또는 얻고 싶은 팁을 적어주세요