목록IT이야기 (33)
호빗의 인간세상 탐험기
1. 기능분석 시스템을 분석할 때 필자는 제일 우선적으로 기능분석을 실시해야 한다고 생각한다. 그 이유는 기능분석을 통해서 우리는 구축해야 할 전체 시스템의 규모와 기능을 일목요연하게 정리할 수 있기 때문이다. 또한, 이를 통해서 시스템을 구축하기 위해 필요한 최소 단위의 프로세스를 판별해 낼 수가 있다. 기능분석은 우선 개발해야 할 시스템이 가져야 할 기능을 Tree 구조로 도식화하여 정리한 다. 이것은 Top-Down 방식을 통해서 개발해야 할 시스템의 기능 구성을 보다 쉽게 정리할 수 있기 때문이다. 이때 기능의 각 항목은 짧은 제목으로 표시한다.2. 엔티티 도출 우선 단위 프로세스를 분석하게 되면 엔티티 도출은 상당히 쉬워진다. 엔티티란 정보를 저장하는 최소단위 객체를 뜻한다. 여기서는 단순히 데..
1. Active Directory의 요소 Active Directory를 구성하는 각 요소들은 논리적인 구조로 엮어져 있다. 정보나 자원들은 사용자나 회사가 그것을 사용하는 용도나 내용에 따라서 논리적으로 그룹화 되어 있으며, 이 그룹화 된 object를 위치에 상관없이 그 이름만으로 손쉽게 탐색할 수 있는 것이다. 이러한 Active Directory의 논리 구조에 대해서 우선 이를 구성하는 기본 구성 요소에 대해서 알아 보자. Objects object란 공통된 속성을 가지며 class(클래스)별로 구성된다. Users, computers, printers, applications등이 object이다. Object Attributes Attribute(속성 혹은 properties)는 각 objec..
1. Active Directory 개요 Directory란 일종의 저장 용기(container)로서, 여기에는 사용자에 관한 데이터, 프린터, 서버, 데이터베이스, 그룹, 컴퓨터, 보안 정책등과 같은 object가 들어 있다. 예를 들면 전화번호부를 directory라고 부르는 이유는 그 전화번호부 안에 각 전화 이용자의 이름이나 회사의 전화번호부와 주소가 있기 때문이다. Directory Service는 이 Directory에 있는 정보를 사용자가 찾아서 해당 네트워크 자원에 액세스할 수 있도록 하는 서비스를 말한다. 여기서 네트워크 자원이라고 하는 것은 사용자 계정, 그룹 계정, 컴퓨터, 프린터 등과 같은 주변 기기들을 말한다. 이는 관리자(Administrators)가 directory objec..
RAID ( Redundant Array of Inexpensive Disks / Redundant Array of Independent Disks ) 1988년 버클리 대학의 3명의 과학자가 제안한 이론으로 그 당시에는 하드디스크의 용량이 제한적이었고, 함부로 사용하는 이도 드물 정도로 값도 비쌌기 때문에 보다 저렴하며 용량이 적고, 성능이 낮은 하드디스크를 묶어 중복 구성함으로써, 성능이 좋은 고가의 대용량 하드디스크 장비와 겨뤄 손색이 없도록 하는 것이 주목적이었습니다. 그러나 그들이 열심히 RAID를 연구하는 동안 Storage 기술의 발전으로 용량대비 가격이 지속적으로 하락하였으므로 애초 주목적이었던 가격적인 면보다는 데이터의 안정성과 에러 보정, 그리고 하드디스크의 장애에 의한 데이터의 손실을..
PrefaceThis textbook came from a frustration of its main author. Many authors chose to write a textbook because there are no textbooks in their field or because they are not satisfied with the existing textbooks. This frustration has produced several excellent textbooks in the networking community. At a time when networking textbooks were mainly theoretical, Douglas Comer chose to write a textbo..
3.3.4 Python Namespaces Tutorial code often uses the following namespaces: import theano import theano.tensor as T import numpy 3.4 A Primer on Supervised Optimization for Deep Learning What’s exciting about Deep Learning is largely the use of unsupervised learning of deep networks. But supervised learning also plays an important role. The utility of unsupervised pre-training is often evaluated ..
DEEP LEARNING TUTORIALSDeep Learning is a new area of Machine Learning research, which has been introduced with the objective of moving Machine Learning closer to one of its original goals: Artificial Intelligence. See these course notes for a brief introduction to Machine Learning for AI and an introduction to Deep Learning algorithms. Deep Learning is about learning multiple levels of represen..
System Calls A system call is basically a function that ends up trapping to routines in the kernel. These routines may do things as simple as looking up the user ID for the owner of the current process, or as complex as redefining the system's scheduling algorithm. For multithreaded programs, there is a serious issue surrounding how many threads can make system calls concurrently. For some opera..
Chapter 1. Introduction In which we discuss the motivation for creating thread libraries, the advent of shared memory multiprocessors, and the interactions between threads and SMP machines. Multithreading (MT) is a technique that allows one program to do multiple tasks concurrently. The basic concept of multithreaded programming has existed in research and development labs for several decades. C..
What are threads? Nearly every operating system supports the concept of processes -- independently running programs that are isolated from each other to some degree. Threading is a facility to allow multiple activities to coexist within a single process. Most modern operating systems support threads, and the concept of threads has been around in various forms for many years. Java is the first ma..