컴퓨터지식 5

[python] lambda function

1. lambda 형식 lambda 매개변수 : 표현식 예시 (lambda x,y : x+y)(10,20) 1.1 map() 시퀀스(리스트, 튜플 등)의 모든 요소에 함수를 적용한 결과 반환 형식 map 함수 : 리스트 예시 list(map(lambda x: x**2, range(5))) [0, 1, 4, 9, 16] li = [1, 2, 3, 4, 5] list(map(lambda x: x * 2, li)) [2, 4, 6, 8, 10]1.2 reduce() 시퀀스(문자열, 리스트, 튜플 등)의 원소들을 누적적으로 함수에 적용 형식 reduce 함수 : 시퀀스 예시 from functools import reduce reduce(lambda x, y: x + y, [0, 1, 2, 3, 4]) 10 l..

컴퓨터지식 2023.12.04

DSL(Domain Specific Language)

DSL 특정 도메인(산업, 분야등 특정 영역)에 특화된 언어 Dave Thomas “문제 영역의 해결에는 그 영역의 언어를 전제로 둬야하며, 거기에서 프로그래밍 솔루션을 꺼내는 것이 중요하다.” 내부 DSL 호스트 언어 구문을 이용하여 자체적으로 의존하는 무언가를 만드는 경우에 해당 내부 DSL에서는 API와 DSL의 경계가 모호해 비슷하게 생각하는 경향 존재 → 좀 더 일반 사용자가 알아보기 쉬운 API가 내부 DSL로 생각하면 됨 호스트 언어 능력과 지금까지 사용하던 도구를 그대로 사용할 수 있다는 점, 처리 결과를 쉽게 예측할 수 있어서 해당 언어를 잘 알면 원활한 사용 가능 내부 DSL 형태 메타 프로그래밍의 형태로 언어에 미니 언어를 만들 수 있음 💡MetaProgramming : 자기 자식 혹..

컴퓨터지식 2023.08.30

[SECURITY] OWASP Top 10

OWASP(Open Web Application Security Project) : 오픈소스 웹 애플리케이션 보안 프로젝트 A01 : Broken Access Control (접근 권한 취약점) 엑세스 제어는 사용자가 권한을 벗어나 행동할 수 없도록 정책을 시행합니다. 만약 엑세스 제어가 취약하면 사용자는 주어진 권한을 벗어나 모든 데이터를 무단으로 열람, 수정 혹은 삭제 등의 행위로 이어질 수 있습니다. A02 : Cryptographic Failures (암호화 오류) Sensitive Data Exposure(민감 데이터 노출)의 명칭이 2021년 Cryptographic Failures(암호화 오류)로 변경되었습니다. 적절한 암호화가 이루어지지 않으면 민감 데이터가 노출될 수 있습니다. A03: ..

컴퓨터지식 2023.07.24

마이크로서비스 아키텍처과 모놀리틱 아키텍처의 장단점

MSA(micro service Architecture)↔Monolithic Architecture MSA는 Monolithic Architecture와 반대되는 개념이다. 여러 기업들이 서비스를 MSA기반으로 변경하는 과정을 수행했고, 현재에도 진행 중인 기업들이 많은 것으로 알고 있다. 아키텍처를 수정하는 것은 기반 자체를 변경하는 과정이기에 많은 인력과 시간을 요구로 하는 작업인데 왜 많은 기업에서 MSA기반의 서비스를 지향하는 것인지에 대해 알아보기 위해 두 아키텍처의 장단점을 정리하였다. Monolithic Architecture 장단점 장점 개발 초기에 단순한 아키텍처 구조로 인해 개발에 용이 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않음 배포가 간단함 확장성 로드밸런스를 이용하여..

컴퓨터지식 2023.07.08