일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 1436
- 도메인 주도 개발 시작하기
- WebTestClient
- 한빛미디어
- 스프링
- 혼공컴운
- AWS 비용 최적화 바이블
- GitHub
- MySQL
- cicd
- 2817
- 자바스크립트
- pinia
- 알고리즘
- HTTP
- vue-router
- 이것이안드로이드다
- JavaScript
- Java
- Git
- Vue
- 구글 엔지니어는 이렇게 일한다
- 러닝GO
- 네트워크
- VueDevTools
- 헤드퍼스트 디자인패턴
- 이벤트루프
- 이것이자바다
- 백준
- Junit5
- Today
- Total
목록전체 글 (46)
이시안 개발 블로그
2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨..
오늘은 DOM에 대해 공부했습니다. DOM의 생성 Document Object Model의 약자로HTML 문서를 파싱한 결과를 말합니다. 브라우저의 요청에 의해 응답된 HTML 문서는 파싱되어 브라우저가 해석할 수 있게 됩니다. 위와 같이 HTML 문서가 파싱되면 각각의 노드들을 트리 자료구조로 구성하게 됩니다. 이 트리 구조를 DOM이라고 합니다. DOM을 생성하는 과정에서 CSS를 로드하는 태그를 만나게 되면 CSSOM을 생성하게 되고 script 태그를 만나면 자바스크립트 코드를 파싱하기 위해 자바스크립트 엔진에 제어권을 넘기게 됩니다. 이때 자바스크립트 엔진이 코드를 해석하고 실행하게 되며 DOM API를 조작하는 코드가 있다면 DOM, CSSOM이 변경되고 다시 렌더링하는 과정을 거치게 됩니다..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 한빛미디어의 "헤드퍼스트 디자인패턴 개정판"을 리뷰하게 되었습니다. 헤드 퍼스트 디자인 패턴(개정판) 유지관리가 편리한 객체지향 소프트웨어 만들기! “『헤드 퍼스트 디자인 패턴(개정판)』 한 권이면 충분합니다!” m.hanbit.co.kr 디자인 패턴 패턴은 특정 컨텍스트 내에서 주어진 문제의 해결책이다. 어떤 컨텍스트 내에서 일련의 제약조건에 의해 영향을 받는 문제가 발생했다면, 그 제약조건 내에서 목적 달성을 위한 해결책이 되는 디자인을 적용하면 된다. 책에서는 디자인 패턴에 대해 위와 같이 설명하고 있습니다. 디자인 패턴의 구조는 패턴이 적용되는 상황을 가리키는 컨텍스트, 컨텍스트의 목표 또는 제약조건을 뜻하는 문제, 그리고 해결책으로 ..
오늘은 IIFE와 모듈에 대해 정리해보겠습니다. IIFE (즉시 실행 함수) (function () { // 코드 } )() 위와 같은 형태를 취하는 것이 IIFE인데요. 저는 봤을 때 자바의 익명 객체와 비슷한 건가라고 생각했습니다. 자바의 익명 객체는 재사용성이 없는 객체를 1회용으로 쓰기 위해 사용되는 데, 자바스크립트의 IIFE도 그런 면으로 보면 비슷한 것 같습니다. // 기명 즉시 실행 함수 (function foo() { // code ... }()); // 익명 즉시 실행 함수 (function () { // code ... }()); 자바스크립트의 IIFE는 이름을 가질 수도 있고, 이름 없는 함수로도 정의해서 사용할 수 있습니다. 소괄호 내부에 함수를 작성해야 하며 함수 블록을 닫는 중..
오늘은 표현식 (Expression)과 문장 (Statement)에 대해서 정리해보겠습니다. 표현식 (Expression) 단순하게 식이라고도 하며 값을 만들어내는 문장입니다. // 리터럴 100; 'Hello World' // 식별자 foo arr[1] obj.name // 연산자 표현식 1 + 11; bar !== foo // 함수 sum() obj.getName() 위의 예제는 모두 표현식입니다. 모두 값을 생성하거나, 값으로 평가될 수 있다는 공통점을 가지고 있습니다. 표현식은 리터럴, 식별자, 연산자, 함수 호출 등 수많은 방법으로 만들 수 있으며 값으로 평가될 수 있다는 특징이 있습니다. 또한 값으로 평가될 수 있으므로 표현식을 다른 표현식에서 사용할 수도 있습니다. 문장 (Statement)..
자바스크립트는 var, let, const로 변수를 선언할 수 있습니다. var와 let, const는 스코프가 다르게 동작하며 변수와 함수 모두 관련이 있는 매우 중요한 요소입니다. 오늘은 스코프에 대해 정리해보겠습니다. 스코프 var a = 'global'; function foo(){ var a = 'inner'; console.log(a); // 'inner' } console.log(a); // 'global' 스코프는 유효 범위로 모든 식별자(변수, 함수, 클래스 등)가 선언된 위치에 따라 다른 코드가 참조할 수 있는 지 결정됩니다. 외부에서 선언한 변수 a와 함수 내부에서 선언한 변수 a는 식별자 이름은 같지만 엄연히 다른 스코프를 가지고 있습니다. 이 경우 자바스크립트 엔진이 코드를 실행할..
자바스크립트의 모든 값은 타입이 있고 타입은 변환될 수 있습니다. 이것을 타입 변환또는 형변환(Type Conversion)이라고 하며 형변환에 대해서 알아보겠습니다. 타입 변환 타입 변환은 명시적 타입 변환, 암묵적 타입 변환으로 나눌 수 있습니다. 이때 타입 변환이 일어나도 기존 원시 값이 직접 변경되는 것은 아닙니다. 이전에도 알아봤듯이 자바스크립트의 기본 데이터 타입은 변경 불가능한 값이므로 타입 변환은 기존 원시 값으로 다른 타입의 새로운 원시 값을 생성한다고 이해하면 되겠습니다. 명시적 타입 변환 명시적 타입 변환은 개발자의 의도에 의한 타입 변환을 말합니다. let x = 10; let str = String(x); console.log(str); // 문자열 10 console.log(x)..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 한빛미디어의 "러닝 Go"를 리뷰하게 되었습니다. 러닝 Go 개발 숙련도와는 상관없이 누구나 Go 언어 개발자처럼 생각할 수 있다. 더 나아가 경험이 풍부한 Go 개발자들이 채용한 디자인 패턴과 선택한 이유를 소개한다. Go 언어를 이용해 명확하고 관용적 www.hanbit.co.kr Go 언어 아시는 분들은 아시다시피 Go 언어는 귀여운 마스코트가 있는 프로그래밍 언어입니다. Java, C, Python 등 많은 프로그래밍 언어 중 비교적 최근에 Google에서 개발했습니다. Go 언어의 특징으로는 빠른 속도, 동시성 제어, 간결한 문법 등이 있습니다. 다른 프로그래밍 언어들처럼 활발한 커뮤니티가 아직 형성되어 있지는 않지만 분명히 매력적인..