목록전체 글 (141)
공부하는 스누피
Dual-Mode OS와 사용자는 컴퓨터 시스템의 자원을 공유하기 때문에 시스템 안전성을 위해 특정 실행 모드에 맞는 기능만 수행할 수 있도록 한다. 운영체제 코드를 실행하는 것과 사용자 코드를 실행하는 것을 구분해서 두 가지 모드로 만들었고, mode bit가 현재 모드를 나타낸다. 0이면 운영체제 코드를 실행하는 커널 모드(kernel mode), 1이면 사용자 응용 프로그램을 실행하는 사용자 모드(user mode)이다. 용도에 따라 2개 이상의 모드를 사용할 수도 있다. 이를 Multimode operation이라 부른다. 사용자 모드 사용자를 위해 실행되는 작업은 사용자 모드이다. 이 모드에서 작업을 수행하던 중에 운영체제 기능을 써야 할 때가 오면, 시스템 콜을 통해 사용자 모드에서 커널 모드..

교착상태 (Deadlock) : 한 스레드 집합 안의 모든 스레드가 집합 안의 다른 스레드에 의해서만 발생될 수 있는 이벤트를 무한정 기다리는 상태 ex) mutex lock을 release하는 이벤트는 다른 스레드에 의해서만 발생될 수 있음. 자원을 사용하는 순서 1. 자원 요청 ex. critical section 진입 전 2. 자원 사용 ex. critical section 영역 3. 자원 방출 ex. 작업 완료 후 자원 반납 Livelock - 스레드가 실패한 행동을 계속해서 시도할 때 발생한다. - Race condition 발생 시 자신의 lock을 즉시 release하지만, 교착 상태의 상대도 똑같이 release하기 때문에 같은 행동을 반복한다. Deadlock 조건 1. 상호 배제 Mut..
람다란? 람다식(또는 람다)은 추상 메서드를 하나만 가진 인터페이스의 인스턴스이다. 자바 8부터 등장했으며, 기존 익명 클래스와 비슷한 역할(함수형 프로그래밍)을 하지만 훨씬 간결하다. // 익명 클래스 Collection.sort(arr, new Comparator(){ ... }); // 람다식 Collection.sort(arr, (o1, o2)->{...}); 익명클래스 vs 람다 람다 익명 클래스 인스턴스에 접근할 수 있는가? X O this 키워드 바깥 인스턴스 익명클래스 인스턴스 자신 => 따라서 익명 클래스는 함수형 인터페이스가 아닌 타입의 인스턴스를 만들 때 사용하는 것이 좋다. 주의할 점 타입을 쓰지 않았을 때 IDE에서 에러가 났을 때를 제외하고, 람다의 모든 매개변수 타입은 생략한다..
www.aladin.co.kr/shop/wproduct.aspx?ItemId=190252994 모던 웹을 위한 HTML5+CSS3 바이블 HTML5, CSS3를 배우는 것보다 더 중요한 것은 그것을 이용해 웹 페이지를 구현하는 것이다. 이 책은 HTML5 표준과 CSS3 표준을 사용하여 웹 페이지를 구현하는 방법을 중심으로 설명한다. 웹 페이지 레 www.aladin.co.kr 정가 32,000원, 윤인성 저 (요즘 티스토리 이미지 오류가 잦아져서 링크로 대신한다) 지금까지 웹 개발을 중심으로 개발 커리어를 쌓아 나가고자 나름대로 노력했지만, 생각해보면 제대로 웹 개발에 대해 배워보려 한 적은 없었던 것 같다. 항상 웹 프로젝트를 할 때면 구현하고 싶은 기능이 생길 때마다 검색해서 코드를 Ctrl+CV했..
jQuery CDN 사이트 code.jquery.com/ jQuery CDN The integrity and crossorigin attributes are used for Subresource Integrity (SRI) checking. This allows browsers to ensure that resources hosted on third-party servers have not been tampered with. Use of SRI is recommended as a best-practice, whenever libr code.jquery.com 부트스트랩 - 버전 주의!! getbootstrap.com/ Bootstrap The most popular HTML, CSS, and JS lib..
리팩토링 공부하는 겸 예전에 Clean Code를 읽으면서 정리했던 메모를 블로그에 쓰기로 했다. 책 읽을 때는 나름 중요한 부분만 메모했다고 생각했는데 분량이 너무 많아 코딩에 관련된 부분만 요약했다. 요약본의 요약이기 때문에 빠진 내용이 많다. 일단 먼저 훑어 보고 시간 날 때 책을 정독하는 것을 추천한다. * 메모 정리의 목차는 책의 목차와 다르다. 1. 이름 - 의도가 분명하게 이름을 지어라. 좋은 예 나쁜 예 발음하기 쉬운 이름 한 단어를 여러 가지 목적으로 사용(ex. queue에 add쓰기) 검색하기 쉬운 이름 널리 쓰이는 이름(ex. List) 함수는 서술적인 이름을 가져야 함 - 이름 길이는 범위 크기에 비례해야 한다. (int i ----> int maxValue -----> stati..
와일드 카드 와일드 카드는 제네릭 코드에서 물음표(?)로 표기되어 있는 것을 말하며, 아직 알려지지 않은 타입을 나타냅니다. 1) Bounded Wildcards (한정적 와일드카드) Upper Bounded Wildcards (extends를 사용한 한정적 와일드카드) : 타입의 제한을 풀어줄 때 사용합니다. 제네릭 타입들을 상위 제네릭 타입으로 묶어주는 것이라고 할 수 있습니다. public static void process(List)에서는 List이나 List 등 모든 타입이 List의 하위 타입이기 때문에 어떤 타입의 List라도 타입을 보존한 채 출력할 수 있습니다. 단, Object에는 Object의 하위 타입을 넣을 수 있지만 List에는 null만 넣을 수 있습니다. List에 어떤 타입..
시간/날짜 blog.daum.net/haanulfafa/7937079 SQL 날짜/시간 함수 - DAYOFWEEK(date) : 해당 날짜의 요일을 숫자로 반환한다. 일요일은 1, 토요일은 7 이다. - 예 : select DAYOFWEEK('1998-02-03'); - WEEKDAY(date) : 해당 날짜에 대한 요일을 반환한다. 월요일은 0, 일요일은 6.. blog.daum.net CASE WHEN THEN select case when 조건1 then 값1 when 조건2 then 값2 else 값3 end 컬럼명; 수학 소수점 N번째 자리수에서 반올림 - ROUND select round(수, 자리수); -- 파라미터 한개면 자동으로 정수로 만들어줌 Type Casting - CAST cast..