본문 바로가기
반응형

Polpid's World568

러닝 타입스크립트 리뷰 최근에 타입스크립트에 관심이 생겨서 공부를 해보려고 했었는데 마침 나는 리뷰어다 책 목록에 "러닝 타입스크립트" 신간이 있어서 읽게 되었다. O'Reilly 책 표지에 밝은 색깔이 들어가 있는것은 정말 오랜만에 본것 같다. 책은 생각보다 쉽게 읽혀진다. 설명과 코드로 이루어진 책이긴 하지만 따라하기도 쉽고 이해하기 쉽게 설명이 되어있다. 특히 코드 부부은 주석과 오류에 대한 내용이 컬러로 표기되어있어서 눈에 더 잘 들어왔다. 소스코드도 다 제공이 되긴 하지만 간단한 코드들이니 직접 해보는것이 좋다. 저자가 책 서문에 말한대로 이책은 한번 가볍게 1독을 한 후에 레퍼런스 처럼 활용하는게 가장 좋은 활용법인것 같다. 간단한 문법과 설명들이지만 다 외울수 있는 양은 아니다. 보다보면 내용이 생각이 안나는 경우.. 2023. 2. 24.
[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.
구글 앱스 스크립트 완벽 가이드 리뷰 구글이 제공하는 다양한 기능들을 사용해 왔지만 공부를 해봐야겠다는 생각을 했던적은 없었던것 같다. 파워포인트나 엑셀과 비슷한 기능을 이용해서 문서작성만 간단히 하고 그 이상을 활용해본적은 없었다. 그래서 이책에서 보여주는 다양한 스크립트를 활용해서 기능을 사용할수 있다는 것을 처음 알게 되었다. 우선 이 책은 600 페이지가 넘는다. 총 23개의 챕터로 이루어져 있는데 목차를 살펴보면 스크립트 관련 내용이 많다. 자바 스크립트와 비슷한 형태이지만 분명 차이점이 있는 언어이다. 그렇기 때문에 프로그래밍을 하거나 자바스크립트를 할줄 아는 분들은 쉽게 이해를 할수 있을 것이다. 그리고 모르는 분들도 책 내용에 처음부터 끝까지 언어에 대한 설명과 예제를 보여주고 있으니 부담 갖을 필요는 없다. 이런 사전 지식들.. 2022. 12. 29.
[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.
똑똑한 코드 작성을 위한 실전 알고리즘 리뷰 오랜만에 다시 읽게 되는 알고리즘 책이다. 이 책에 나오는 주요 알고리즘에 대한 내용은 다음과 같다. 문제해결, 알고리즘 분석 해싱, 힙, 정렬, 이진트리, 그래프 우리가 알고리즘 공부를 할때 기본적으로 배워야 하는 알고리즘 들이다. 약간 전공서적 같은 느낌이 들긴 하지만 그것보다는 내용이 좀더 친절하게 나와 있다. 히자만 읽다보면 어려운 내용들이 많이 섞여 있다. 기초에 관련된 책이긴 하지만 난이도는 있는 책이다. 그리고 주요 코드들은 파이썬으로 되어있는데 파이썬을 모른다고 하더라도 크게 문제가 될것 같지는 않다. 코드 부분에 대한 설명은 거의 라인 단위로 설명을 해주고 있기 때문에 어떤 언어든 프로그래밍을 해본 사람이면 이해할수 있을 것이다. 복습 차원에서 각 장 마지막에 있는 연습문제들은 한번씩 스.. 2022. 11. 24.
BASE 분산 트랜잭션 속성 소프트웨어 아키텍처 Hard Parts 의 내용을 정리한 내용입니다. BASE 분산 트랜잭션 특유의 속성 BA (Basic availavility) 분산 트랜잭션의 모든 서비스 또는 시스템이 분산 트랜잭션에 참여할 수 있으리라고 기대하는것. S (Soft state) 분산 트랜잭션이 진행중이고 원자적 비지니스 요청이 미 완료된 상태. 고객 프로필 정보에서 Profile 테이블에는 데이터카 커밋 됐지만 다른 연관 테이블에는 커밋되지 않은 상태. E (Eventual Consistency) 충분한 시간이 지나면 언젠가는 결국 분산 트랜잭션이 완료되고 모든 데이터가 서로 동기화 된다는 의미. 백그라운드 동기화 패턴 (Background synchronization pattern) - 326p 별도의 외부 서비.. 2022. 11. 11.
소프트웨어 아키텍처 - The Hard Parts 리뷰 아키텍처 관련 책들을 요즘 많이 읽어보고 있다. 책을 읽는다고 완벽하게 습될수 있는 범위는 아니지만 여러번 읽으면 좋아지겠지라는 생각으로 읽고 있다. 이 책은 아래와 같이 등장인물이 나온다. 그리고 그들의 시스템을 변경시켜가는 과정을 아키텍처 이론과정과 함께 설명을 하고 있다. 아마도 우리가 관리 또는 개발하는 시스템을 변경하려 할때 이 등장인물들이 겪는 경험을 하게 되지 않을까 생각이 든다. 등장인물들의 대화를 통해서 요구사항과 현재 시스템의 상황들을 파악할 수 있다. 아마도 이부분이 다른 책들과 큰 차이점인것 같다. 딱딱한 이론만 있는것보다는 시나리오가 있는 이야기가 있다보니 이해를 잘 할수 있다. 각 챕터마다 처음 시작과 끝에 위와 같은 대화들을 주고 받는 내용들이 나온다. 이 이야기 속에서 나오는.. 2022. 10. 29.
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
반응형