본문 바로가기
반응형

Development297

파이썬 문법 : map, filter 함수 map 함수 map(함수, 순서가 있는 자료형) map 의 결과는 map object 이기 때문에 사용하기 편한 list 형태로 변환한다. def remove_blank(x): return x.strip() items=[' mouse', ' monitor '] items=list(map(remove_blank, items)) print(items) # output # ['mouse', 'monitor'] # 람다함수로 표기할 경우 items=list(map(lambda x:x.strip(), items)) filter 함수 filter(함수, 순서가 있는 자료형) def func(x): return x < 0 print(list(filter(func, [-3, 0, 2, 7, -7]))) # output.. 2023. 2. 28.
파이썬 문법 : 람다 함수 람다함수를 사용하면 코드가 간결해진다 메모리 사용이 효율적이다. # 람다함수 선언 방법 lambda a : a-1 # 호출방법 1 : 그대로 호출 print ((lambda a:a-1)(10)) # 호출방법 2 : 변수에 담아서 호출 minus_ten = lambda a : a-10 print (minus_ten(100)) # 람다함수 if 문 사용 def is_positive_num(a): if a > 0: return True else: return False lambda a : True if a > 0 else False 개인적으로 함수 자체를 호출하는 방법보다는 변수에 담아서 호출하는게 가독성에는 더 좋아보인다. 2023. 2. 27.
파이썬 문법 : 키워드 가변 매개변수 kwargs kwargs 는 keyword arguments 매개변수 앞에 ** 가 붙는다 딕셔너리 로 인식한다. def comment_info(**kwargs): print(kwargs) for key,value in kwargs.items(): print(f'{key}:{value}') comment_info(name='test1', age=10) output {'name': 'test1', 'age': 10} name:test1 age:10 추가 사항 : 추가적으로 *args 는 임의의 개수의 argument 를 의미한다. kwargs 와는 달리 tuple 로 인식한다. 2023. 2. 27.
파이썬 문법 : 튜플 튜플은 () 로 정의된다 튜플은 값을 바꿀수 없다. t1 = () t2 = (1,) t3 = (1,2,3) t4 = 1,2,3 t5 = ('a', 'b', ('ab', 'cd')) 1개의 요소만 가질때에는 콤마(,) 를 붙여야 한다. 괄호가 생략 가능하다 개수가 정해지지 않은 매개 변수로 사용된다. (* 가 매개변수 앞에 붙는다.) = 위치가변 매개변수 def print_fruits(*args): print(args) for arg in args: print(arg) print_fruits('apple', 'banana', 'melon') output ('apple', 'banana', 'melon') apple banana melon 2023. 2. 27.
[typescriipt] Union , Narrowing Union : 값이 허용된 타입을 두개 이상의 가능한 타입으로 확장하는 것 let physicist = Math.random() > 0.5 ? "TEST" : 100; 실제 위와 같은 코드에서는 아래와 같이 판단한다. Narrowing : 값이 허용된 타입이 하나 이상의 가능한 타입이 되지 않도록 좁히는것 let animal: number | string; animal = 'tiger'; number 와 string 으로 선언했지만 값 할당을 통해서 string 타입으로 확인되었기 때문에 string 관련 메소드만 사용 가능 하다. 아래와 같이 조건문을 통해서도 타입이 결정될수 있다. let physicist = Math.random() > 0.5 ? "TEST" : 100; typeof physicis.. 2023. 2. 15.
네트워크 관련 내용들 개요네트워크IPV4첫번째 옥텟의 앞자리 숫자를 가지고 구분호스트 비트 수는 1개의 네트워크 안에 있는 IP 수를 의미한다.A Class맨 첫번째 앞자리 비트가 0네트워크 비트 2^7호스트비트 2^24B Class맨 첫번째 앞자리 비트가 10네트워크 비트 2^14호스트 비트 2^16C Class맨 첫번째 앞자리 비트가 110네트워크 비트 2^21호스트 비트 2^8Route Table트래픽이 어디로 가야 할지 알려주는 테이블구성IGW - Router - Route Table - NACL - VPC SubnetNACLNACL - statelessSecurity Group - stateful 2023. 1. 13.
[javascript] JSX ? html 태그로 표현되어있는 문법을 createElement 로 변환해준다. const vdom = 헤더 첫번째 두번째 위에 있는 코드가 아래와 같이 변환이 된다. "use strict"; const vdom = /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("h1", null, "\uD5E4\uB354"), /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", { style: "color:red" }, "\uCCAB\uBC88\uC9F8"), /*#__PURE__*/React.createElement("li", { s.. 2023. 1. 13.
[javascript] webpack.config.js 설정 개요 node.js 문법을 써야 한다. entry 에 있는 명령어를 읽어서 변환과정을 거쳐서 output 으로 전달함. entry -> module -> plugin -> output 으로 전달됨 const HtmlWebpackPlugin = require("html-webpack-plugin"); const path = require("path"); module.exports = { mode: "development", entry: "./src/app.js", output: { path: path.resolve(__dirname, "dist"), filename: "bundle.js", }, devServer: { compress: true, port: 9999, }, module: { rules: [.. 2023. 1. 13.
[javascript] 배열 연산의 형태 여러가지 배열 연산 형태 함수 형태나 쓰임이 많다보니 코드를 봤을때 대체 무슨 의미인지 파악이 어려워서 공부하다가 형태를 기억하면 좋을것 같아서 남겨놔봤다. type Book = { title: string; copyright?: string; author?: string; }; const books: string[] = [ "헨리 6세", "리처드 3세", "실수 연발", "말괄량이 길들이기", "헨리 8세", ]; // foreach 문 books.forEach((book: string, idx: number, books: string[]) => { console.log(book, idx); }) // map 사용1 const bookObject: Book[] = books.map((book:stri.. 2022. 12. 23.
[Javascript] 함수 형태 매일 봐도 까먹는 자바스크립트 함수형태들... function fn(x){ return x + 100; } const result = fn(10); # 이름없는 함수 const fn2 = function (){ return 100; }; fn2(); # 즉시 실행 함수 (function(){ console.log('test') })(); # Arrow 함수 const fn3 = () => { return 100; } const fn4 = () => 100; # Generator 함수 # 최초 호출하면 함수가 실행되지 않고 실행 준비상태로 만듬. # 그리고 객체를 반환하며 이 객체에는 함수를 실행할 도구가 담겨져 있다. # 도구를 이용해서 함수를 실행하고 멈추고 할수 있음. function* fn5(){ .. 2022. 12. 20.
BASE 분산 트랜잭션 속성 소프트웨어 아키텍처 Hard Parts 의 내용을 정리한 내용입니다. BASE 분산 트랜잭션 특유의 속성 BA (Basic availavility) 분산 트랜잭션의 모든 서비스 또는 시스템이 분산 트랜잭션에 참여할 수 있으리라고 기대하는것. S (Soft state) 분산 트랜잭션이 진행중이고 원자적 비지니스 요청이 미 완료된 상태. 고객 프로필 정보에서 Profile 테이블에는 데이터카 커밋 됐지만 다른 연관 테이블에는 커밋되지 않은 상태. E (Eventual Consistency) 충분한 시간이 지나면 언젠가는 결국 분산 트랜잭션이 완료되고 모든 데이터가 서로 동기화 된다는 의미. 백그라운드 동기화 패턴 (Background synchronization pattern) - 326p 별도의 외부 서비.. 2022. 11. 11.
Python 가상환경 Python Virtualenv 프로젝트별 종속성 문제를 해결하기 위해서 가상환경을 제공한다. 동시에 여러개의 프로젝트 진행시 각각의 파이썬 버전이 다를경우 사용한다. virtualenv 환경 구성 pip install virtualenv D:\STUDY\study_python>virtualenv py3.8-env created virtual environment CPython3.8.5.final.0-64 in 6461ms creator CPython3Windows(dest=D:\STUDY\study_python\py3.8-env, clear=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, whee.. 2022. 10. 27.
728x90
반응형