본문 바로가기

전체42

PCB ( Process Control Block ) PCB란? Process control Block의 약어로 우리말로는 프로세스 제어 블록이라고 한다.프로세스가 생성이 되면 PCB라는 자료구조가 커널영역에 함께 생기며 프로세스의 생명유지에 필요한 모든 정보들을 가지고 있다. 프로세스가 Running 상태였다가 timeout 또는 우선순위가 밀려서 내려왔다가 다시 Running 상태가 되었을 때 이전에 하던 작업이 어디서 중지가 되었는지 알 수 있는 방법이 없다. 따라서 PCB라는 자료구조를 만들어서 프로세스에 대한 정보를 저장해둔다.인터럽트가 발생되었을 때에 역시 PCB에 문맥을 저장해놓고 문맥교환 이후 재적재 된다. 2017. 6. 2.
[펌]Mysql 기본 명령어 정리 출처 : http://kwon37xi.egloos.com/1634694 데이터베이스 접속 $ mysql -u 사용자명 -p dbname 설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다. $ mysql -u root mysql 비밀번호 변경 MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다. 다음 세가지 방법으로 비밀번호를 변경 할 수 있다. mysqladmin이용 $ mysqladmin -u root password 새비밀번호 update문 이용 $ mysql -u root mysql mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root'; mysql> FLUSH .. 2017. 6. 1.
가상함수 - 동적 바인딩과 정적 바인딩 가상함수란? 가상함수를 알아보기 전에 바인딩에 대해 알아보자. 바인딩이란? 프로그램을 실행하면 컴파일을 하고 실행코드가 만들어진다.실행코드에서 함수 호출부분을 보면 함수가 그대로 정의되어 있지 않고 함수가 정의된 부분의 주소값이 있어서 함수를 찾아가서 실행할 수 있다.이 때 함수 호출부와 정의부를 연결시켜주는 것이 바인딩이다. 바인딩에는 정적 바인딩과 동적 바인딩이 있는데 바인딩이 결정되는 시점에 따라 나뉜다.정적 바인딩은 컴파일 시에 바인딩 할 주소가 결정되어 함수 호출 시에는 이미 결정되어 있고,동적 바인딩은 컴파일 시에 바인딩 할 주소가 결정되지 않고 함수 호출 시에 결정된다. 일반 함수는 정적 바인딩을 하며 컴파일 시에 인스턴스의 타입에 따라 바인딩 될 주소가 결정되기 때문에 클래스를 상속받아 함.. 2017. 5. 31.
Transfer Object Pattern Transfer Object pattern Making the setters and getters to transfer the data. Value Object(VO) 라고도 불리는 Transfer Object(TO)는 데이터를 전송하기 위한 객체에 대한 패턴이다. Getter 메소드나 setter 메소드를 사용하면 getEmpName() 등의 메소드에서처럼 empName이 null값이더라도 null을 return하지 않고 길이가 0인 String을 return하도록 할 수 있다. 즉, Transfer Object를 잘 만들어 놓으면 각 소스에서 일일이 null 체크를 할 필요가 없기 때문에 개발할 때 오히려 더 편해질 수 있다. Serializable은 implements 해주자. 이 인터페이스를 구현.. 2017. 5. 1.
네임스페이스(namespace)란? C++를 공부해본 사람이라면 namespace가 무엇인지 들어보았을 것이다. C++에서는 printf 대신에 iostream에서 제공하는 cout을 쓴다고 배웠다. 그런데 cout을 쓰기 위해서는 전처리기 밑에 using namespace std; 를 적어놓아야 사용할 수 있다. 아니면 std::cout으로 사용을 해야 한다. 이미 알고 있겠지만 namespace에 대해 공부해보자.우리가 회사에 가게 되면 개인프로젝트는 절대 없다. 전부 팀으로 진행되는 프로젝트이고 여러 사람이 코드를 짜서 나중에 합치거나 좋지 않은 코드를 버리거나 한다. 근데 두 개의 팀에서 작업을 한 뒤 나중에 코드를 합쳤을 때를 생각해보자. 두 개의 팀에서 작성한 코드 중 클래스 이름이나 함수의 이름이 같은 것이 있을 수 있다. 실.. 2016. 11. 11.