본문 바로가기
반응형

Development301

파이썬 문법 : 제너레이터 함수 이터러블 객체 순서가 있는 자료형 문자열, 리스트, 튜플, 딕셔너리, range 객체 __iter__(), __next__() 메소드가 정의되어있다. 제너레이터 함수 이터레이터를 만드는 함수이다. yield 사용한다 제너레이터 표현식을 사용해서 만들 수 있다. 메모리 사용이 효율적이다. List 같은 경우 결과 값을 메모리에 저장한다. 제너레이터의 경우 식만 저장할뿐 값을 저장 하지 않는다. __next__ 함수가 호출 될 때에 결과값을 만든다 # yield 사용 def gen_func(*args): for arg in args: yield arg month = gen_func('1월', '2월', '3월', '4월') print(month.__next__()) # 1월 print(month.__next.. 2023. 3. 9.
파이썬 문법 : 내부 함수, 클로저 내부함수 함수 안에서 정의 되는 함수 클로저(closure) 함수가 종료되어도 자원을 사용할 수 있는 함수 클로저 조건 내부함수 외부함수 변수를 참조해야 한다. 외부함수가 내부함수를 반환 해야 한다. def outer(name):# 외부함수 def inner():# 내부함수 print(name, "하이")# 외부함수 변수 참조 return inner# 내부함수 반환 callfunc = outer("tom") callfunc() # OUTPUT tom 하이 클로저 살펴보기 print(dir(callfunc)) # ['__annotations__', '__builtins__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__de.. 2023. 3. 6.
파이썬 문법 : method 인스턴스 메소드 인스턴스 속성에 접근하는 메소드 self 를 파라미터로 받는다. 클래스 메소드 클래스 속성에 접근하는 메소드 클래스를 의미하는 cls 를 파라미터로 받는다 @classmethod 를 붙인다 class Unit: count = 0 def __init__(self, name, weight, height, hidden): self.name=name self.weight=weight self.height=height self.__hidden=hidden Unit.count +=1 print(f"{self.name} Unit 생성") def __str__(self): return f"name={self.name} weight={self.weight} height={self.height}" # 인스.. 2023. 3. 3.
파이썬 문법 : class 속성들 인스턴스 속성 객체마다 다르게 갖고 있는 속성 코드에서 self 로 표기된 속성들이 인스턴스 속성이다. 클래스 속성 모든 객체가 공유하는 속성 count 가 클래스 속성 접근시에는 클래스이름.속성 으로 접근 (ex : Unit.count) 비공개 속성 클래스 안에서만 접근 가능한 속성 __hidden 이 비공개 속성이다. 외부에서 변경시 Unit.__hidden 으로는 접근이 불가능 하다 네이밍 맹글링에 의해서 접근은 가능하다 (unit1._Unit__hidden) class Unit: count = 0 def __init__(self, name, weight, height, hidden): self.name=name self.weight=weight self.height=height self.__hid.. 2023. 3. 2.
파이썬 문법 : 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.
728x90
반응형