목록분류 전체보기 (50)
손영배 블로그 누구나 쉽게 이해하고 습득하기
1. 애니메이션 애니메이션은 반복적인 움직임의 처리입니다. 웹UI 애니메이션은 자바스크립트로도 가능하지만, 규칙적이고 비교적 단순한 방식으로 동작되는 방식은 CSS3의 transition과 transform속성을 사용해서 대부분 구현가능합니다. 뿐만 아니라 자바스크립트보다 더 빠른 성능을 보장한다고 합니다. 특히 모바일웹에서는 CSS를 사용한 방법이 훨씬 더 빠릅니다. 2.FPS FPS(frame per second)는 1초에 화면에 표현할 수 있는 정지화면(frame)수 입니다. 매그러운 애니메이션은 보통 60fps입니다. 따라서 16.666초 간격으로 frame 생성이 필요한 셈이죠. (1000ms / 60fps = 16.6666ms) 앞서 말한 것처럼, 애니메이션은 CSS의 transition 속성..
GNB(Global Navication bar) 어는 페이지에 들어가든 공통적으로 사용할 수 있는 메뉴 최상위 메뉴로 보통 상단에 위치하고 있다. 메인메뉴 LNB (Local Navigation Bar) GNB를 누를 경우 소제목 형식으로 나오는 메뉴를 가리킨다. 네이게이션을 통해 특정 지역으로 가는 네비게이션 bar이다. SNB (Side Navigation Bar) 일반적으로 왼쪽에 많이 있기 때문에 LNB(Left Navigation Bar)라고 부르기도 한다. 메인메뉴와 서브메뉴를 제외한 나머지 사이드 메뉴이다. FNB (Foot Navigation Bar) 하단 메뉴를 가리킨다.
REST REpresentational State Transfer 전혀 모르겠다. 무슨 말인지 전혀 모르겠다. REST가 나오게 된 역사..... Q: 어떻게 인터넷에서 정보를 공유할 것인가? A: 정보들을 하이퍼텍스트로 연결한다. 표현 방식 : HTML 식별자 : URL 전송방법 : HTTP HTTP/1.0(1994-1996) "How do I improve HTTP without breaking the Web"? 어떻게 하며는 Web를 망가트리지 않고 HTTP를 발전 시킬 수 있을까? 해결책 -> HTTP Object Model -> REST(1998) API XML-RPC(by Microsoft) -> SOAP Salesforce API 공개 REST 승리 REST API : REST 아키텍쳐 스타..
Spring MVC 기본 동작 흐름 model2 아키텍쳐로 구성 되어 있다. DB를 제외한 파랑색 부분은 Spring MVC가 제공하는 것들이다. 개발자가 만들어야 하는 부분은 보라색으로 된 부분. 녹색(view) spring이 제공하는 것도 있고 개발자가 같이 만들어야 되는 것도 있고 ① Request : Client에서 요청을 보내면 보낸 모든 요청을 Dispatcher Servlet이 모두 받게 된다.(Front Controller) Dispatcher Servlet은 요청을 처리할 핸들러와 매서드가 무엇인지 Handler Mapping에게 물어본다. ② Handler Mapping은 어떤 요청에 어떤 Controller가 동작할지를 xml나 Annotaion를 설정하게 된다. 이렇게 설정, 만들어..
계층적 구조 트리는 노드(node)들과 노드들을 연결하는 링크(link)들로 구성됨 맨 위를 (root)라고 부르고 노드들을 연결하는 선을 "link", "edge", "branch"라고 부름 부모(parent) - 자식(child) 의 관계, 조상-자손 관계 리프(leaf)노드 - 자식이 없는 노드들을 가리켜서 부름 subtree 부트리 레벨 : Level1, Level2, ...... root부터 아래에서 높이 트리의 기본적인 성질 : 노드가 n개면 링크의 개수는 n-1개를 가진다. 이진 트리 (binary tree) 이진 트리에서 각 노드는 최대 2개의 자식을 가진다. 각각의 자식 노드는 자신이 부모의 왼쪽 자식인지 오른쪽 자식인지가 지정된다. (자식이 한 명인 경우에도) 이진 트리의 응용 예 : ..
저는 서브쿼리와 JOIN을 이용해서 풀었습니다. SELECT DISTINCT SQL1.CART_ID FROM (SELECT CART_ID, NAME FROM CART_PRODUCTS WHERE NAME = '우유')SQL1 INNER JOIN (SELECT CART_ID, NAME FROM CART_PRODUCTS WHERE NAME = '요거트')SQL2 ON SQL1.CART_ID = SQL2.CART_ID ORDER BY SQL1.CART_ID ASC;
프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기다린다면 해당 프로세스나 스레드가 "교착 상태에 빠졌다"고 한다. (프로세스에 초점을 맞춰 논의하겠지만 대부분은 스레드에도 적용된다). 교착 상태의 문제, 교착 상태에 관한 네 가지 교착 상태 방지(deadlock prevention), 회피(avoidance), 탐지 (detection), 복구(recovery), 또한 교착 상태와 연관이 많은 무기한 연기(기아 indefinite postponement(starvation)에 관해서도 알아보자 무기한 연기 - 기아 : 교착 상태에 빠지지 않은 프로세스가 시스템의 자원 스케줄링 정책 때문에 아주 먼 미래에 일어나나거나 전혀 일어나지 않을 이벤트를 대기하는 상황을 말한다. 교착 상태의 예) - 도로..
상호배제 mutual exclusion 한마디로 말해서 : 어느 한 스레드가 공유 변수를 갱신하는 동안에는 다른 스레드들이 동시에 접근하는 일을 막는다. 예) 사용자로부터 이메일을 하나 수신할 때 마다 프로세스 전체에 공유하는 변수 mailCount의 값이 1씩 증가한다. 이때 두 스레드가 이 변수의 값을 동시에 증가시키려고 할 때 static int mailCount = 99; 첫번째 스레드가 mailCount(99)잃어서 1증가시키고 100을 저장하려고 대기하는 순간 두번째 스레드가 접근해서 아직 변하지 않은 mailCount(99)를 잃어서 1증가시켜 자신도 100이라는 숫자를 저장하려고 한다. 두개의 스레드가 접근해서 mailCount는 100이 되버린다. 만약에 상호배제 되었다면 101이 되어야..