본문 바로가기

끄적끄적

(16)
정적언어 & 동적언어 정적타입언어(statically typed language) : 컴파일 시 변수의 타입이 결정되는 언어 따라서, 변수에 들어갈 값의 형태에 따라 직접 변수의 타입을 명시해줘야한다. String name = "cho" int num = 123 위의 예시와 같이 '타입' 즉 자료형을 컴파일 시에 결정하는 것이다. 컴파일 시에 자료형에 맞지 않는 값이 들어있으면 컴파일 에러가 발생함. 정적언어 예) Java, C++ , Pascal 등이 있다. 동적타입언어(dynamically typed language) : 런타임 시 자료형을 결정 , 타입 없이 변수만 선언하여 값을 지정할 수 있다. name = "cho"; num = 123; 지금 변수에서는 문자열, 숫자 상관이 다 선언이 가능하다. 장점) - 유연성이 ..
Redux의 상태관리의 주요 개념, 상태관리 비교 redux의 주요 개념 store 저장소, 즉 전역상태를 저장하는 공간. 자바스크립트 객체 형태로 저장되어 있으며 오직 Reducer를 통해서만 접근 가능하다. 보통은 최상단의 index.js에 정의하며 여러개의 context를 만들 수 있는 ContextAPI와 다르게 redux의 store은 1개만 존재한다. Action reducer에게 보내는 Store에 대한 행동을 정의하는 객체이다. 상태에 어떠한 변화가 필요할 때 액션을 발생시키며 "이렇게 상태를 변경해줘"라고하는 주문서의 역할을 한다고 보면 이해하기 좋다. Action을 reducer에게 전달하기 위해서는 dispatch메소드를 사용해야한다. dispatch는 store의 내장함수 중 하나인데, 액션 객체를 넘겨줘서 상태를 업데이트 한다. ..
React memoization 1. React.memo() component를 메모 자체적으로 props값을 비교해서 변경이 없다면 DOM비교작업을 하지 않는다. 대신 변경되는 props를 받는다면 memo소용이 없다. // 방법 1 const solution = React.memo(() => { return () }) // 방법 2 export default React.memo(solution) 2. useCallback() 함수를 메모 React는 얕은 비교를 해서 원시타입은 판단 가능하지만, 참조 타입은 렌더가 될때마다 참조 메모리 주소가 달라진다. => 다른 값으로 인지하고 렌더가 일어난다. => JS에선 함수가 객체로 취급(참조형)되므로 렌더링이 될때마다 새로운 함수 생성. deps에 들어있는 값이 변경되지 않는다면 이전의 ..
typescript interface 내가 공부하기 위해 기록. interface 만들 때 대문자로 보통 시작. type Square = {color:string, width:number} //1.이것도 가능하다. //2. object 타입 지정 시 interface 사용가능 interface Square {color:string, width:number} let 네모 = { color: 'red', width:100 } typeAlias와 쓰는 법은 비슷하다. 다른 점? 중복 선언 가능/불가능 //interface 는 중복 선언 가능 interface Student {name: string} interface Student {score: number} //type은 중복 선언 불가능 즉, 동일한 이름으로 중복선언이 가능하고 Student ..
좋은 TIL은 뭘까?(38) 이력서에 쓴 걸 설명하지 못한다면 안쓰는것만 못한다.내가 안다는 것을 증명해야한다. 이 증명을 TIL로 정리하면서 기록하자. 프로젝트 코드 달랑 보여주면 끝이다? =(NOPE !)=>{ 성장,성실함 또 내가 까먹질 않았는지를 보여줘야한다.} 잘 쓴 TIL => 많은 TIL은 성실함을 보여줄 수 있다. 예전보다 많이 성장했구나를 알 수 있다. TIL를 안쓰면 내가 어떤 시행착오를 거쳤고 어떤 코드를 가져와서 공부를 했는지를 알 수 없다. 미래에 또 같은 오류를 만난다면 똑같이 시행착오를 거칠 수 밖에 없다. 그러니까 나의 공부의 종착점은 TIL이라고 생각하자. 나의 TIL이 잘 쓰고 있는건가? 내가 설명이 가능하면 제대로 쓰고 있는 거다. 이력서에는 여러분의 성장이 담긴다 -면접질문은 이력서에서 나온다. ..
CSS-flex 미루고 미뤘던 flexbox속성 공부를 드디어 했다.🤪 사실 어제 웹퍼블리싱 강의를 저녁에 듣는데 이게 뭔가..? 하고 있었다. 나름 html,css를 쥐어짜내서 원하는 모양대로는 만들 수 있을꺼라 생각했는데 전혀..?ㅋㅋㅋㅋ 네이버 검색바 만들기, 네비게이션바 만들기하고 있는데 일단 class,id부터 헷갈려... 살려주..ㅓ 그러다가 이렇게 효율없이 보고만 있지말고 🤔뭐라도 얻어가자는 마음에 가장 많이 보이는 속성들을 둘러보니까 진짜 기본으로 있는게 이 flexbox속성이였다 (+물론 justify,align도 항상 붙어서) 그래서 직감적으로 알았다지.. 아 flexbox 공부할때가 됬구나.. 애매하게 알고 있던거 이번에 정리를 쫌 하자는 마음에 시작을 했다..! (서론이 기네..;;) 일단 기본적인..
4주차 부족한부분 공부 4주차 서버만들기 flask: 서버를 구동시켜주는 패키지 => 프레임워크같은거 flask시작코드 from flask import Flask app = Flask(__name__) @app.route('/') => localhost:5000 def home(): return 'This is Home!' @app.route('/mypage') => localhost:5000/mypage def mypage(): return 'This is my page' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True) => 이렇게만 적고 '실행'해보면 서버가 실행된다. localhost:5000실행하면 글이 나옴 그리고 거기에 /mypage실행하면 'T..
3주차 부족부분 공부 파이썬에서 딕셔너리(dictionary)란 사전형 데이터를 의미하며, key와 value를 1대1로 대응시킨 형태입니다. -------------------------------------------------------------------------- BeautifulSoup Requests는 정말 좋은 라이브러리이지만, html을 '의미있는', 즉 Python이 이해하는 객체 구조로 만들어주지는 못한다. 위에서 req.text는 python의 문자열(str)객체를 반환할 뿐이기 때문에 정보를 추출하기가 어렵다. 따라서 BeautifulSoup을 이용하게 된다. 이 BeautifulSoup은 html 코드를 Python이 이해하는 객체 구조로 변환하는 Parsing을 맡고 있고, 이 라이브러리를 이용..