[윈도우10 업그레이드] 0x80070002 - 0x20016 오류 해결 윈도우 10 업그레이드가 무료로 1년간 진행되고 있습니다.https://www.microsoft.com/ko-kr/software-download/windows10 위 링크에 들어가시면 32비트 혹은 64비트 버전에 맞게 윈도우 10을 업그레이드 하실 수 있습니다. 위와 같이 윈도우 10 업그레이드 시 0x80070002 - 0x20016 오류가 발생했을 때의 해결방법을 살펴보겠습니다. (진행 환경은 윈도우 8.1 Pro 버전입니다) 작업표시줄 왼쪽 하단의 윈도우 로고 -> 오른쪽 버튼 -> 실행 을 눌려줍니다. 혹은 윈도우 키 + R 을 눌려주시면 됩니다. 실행창이 뜨면 regedit 이라 입력해주고 확인을 눌려줍니다. 레지스트리..
[Rails 4] Self-Referential Association (has_many) 페이스북이나 트위터의 follwer users, followed users와 같은 자기자신을 N:M 관계를 가지는 것이 아닌 메일원문, 답변메일 관계처럼 자기자신을 1:N으로 하는 자기 참조 관계를 살펴보겠습니다. 메일원문, 답변의 모델로 예를 살펴보겠습니다. 아래의 그림과 같이 mail 테이블을 생성하도록 하겠습니다. 여기서 origin_id가 자기자신을 참조하는 외래키입니다. 그러므로 origin_id가 nil일 경우 원본메일이고 nil이 아닐경우 답변메일이 됩니다. $ rails g model Mail origin_id:integer message_id:string subject:string content:te..
7장 다형성 연관여러 개의 부모테이블로부터 하나의 자식테이블을 공유할 수 있다. 이에 대해 오류가 발생할 상황이 만들어진다. #1. 자식 테이블을 여러 개의 자식 테이블을 참조하는 FK를 생성할 수 없다. 결국 아래와 같은 DDL은 성립되지 않는다. CREATE TABLE Comment ( Comment_id number PRIMARY KEY, Bug_id number NOT NULL, author_id number NOT NULL, comment_date date NOT NULL, comment varchar2(4000) number NOT NULL FOREIGN KEY (issue_id) REFFERNCES Bugs(issue_id) OR FeatureRequests(issue_id) ); @2. 여..
[Rails] Devise Gem 을 이용한 사용자 인증관리 웹 페이지를 개발할 때 사용자 회원가입, 로그인, 로그아웃, 회원탈퇴, 권한인증 등은 거의 필수요소 중 하나입니다. 이런 부분들을 세션과 쿠키를 이용하여 직접 구현할 수 도 있지만 보안, 안정성 등을 고려하면 오픈소스 라이브러리를 이용하는 것도 현명한 선택입니다. Rails에는 오픈소스 라이브러리이인 devise gem 이 이런 기능들을 수행해줍니다. 유사 여러 라이브러리들이 있지만 devise gem 이 가장 인기가 좋습니다. 이번에는 devise gem을 이용한 사용자 인증관리를 구현해보도록 하겠습니다. 실습 개발 환경OS: Ubuntu 14.04LTSRails 4.xRuby 2.x 우선 Gemfile 에 devise 라이브러리를 추가해줍니..
[Rails][Web API] Post 요청 처리하기 웹 API 제작을 하는 관점에서 레일즈에서 응답코드를 넣어 반응하는 것이 클라이언트에서 처리를 할 때도 용이하고 바람직합니다. 앞 전 게시글에서 JSON 혹은 XML로의 응답에 대해 다루어 보았습니다. 이번에는 Post, Put, Patch 그리고 Delete 중 Post의 처리 방법을 살펴보겠습니다. POST METHOD 처리POST 처리 시에 201 HTTP 응답코드를 이용하는 것이 바람직합니다. 201 상태응답은 다음과 같습니다:201 Created새로운 URI가 만들어질 때마다 사용되며 결과 코드와 함께 새로운 데이터가 위치한 곳을 지정하기 위해 Location 헤더가 서버에 의해 주어집니다. 원 서버는 201 상태 코드를 리턴하기 전에 반드시..
[RabbitMQ] 원격 프로시저 호출 (RPC)(using the Bunny client) 두 번째 강의에서 여러 worker들 사이에서 시간이 소요되는 작업을 분배하는 Work Queue에 관해서 배웠습니다. 하지만 만약 원격지의 함수를 실행시키고 해당 결과를 기다리는 경우에는 어떨까요? 이 경우는 약간 다른 경우입니다. 흔히 보통 이런 경우를 원격 프로시저 호출 또는 RPC(Remote Procedure Call)라고 알려져 있습니다. 이번 강의에서 RabbitMQ를 RPC 시스템을 구축하는데 사용해볼 것 입니다: 클라이언트와 확장가능한 RPC 서버로 구성됩니다. 실제의 시간이 소요되는 작업이 없기 때문에 피보나치 수열을 반환하는 가짜 RPC 서비스를 제작해볼 것 입니다. 전제조건이 튜토리얼에서 R..
[RabbitMQ] Topics(using the Bunny client) 이전 강의에서 우리의 로그 시스템을 발전 시켜봤습니다. 단순히 브로드캐스팅을 하는 fanout exchange 대신에 direct 를 이용하여 메시지 로그를 선택적으로 수신할 수 있게 해보았습니다. 비록 direct exchange를 사용하여 우리의 시스템을 진보시켜보았지만 여전히 다중 기준에 의한 라우팅을 할 수 없는 한계가 존재합니다. 우리의 로그 시스템은 info, warning, error 와 같은 규칙에 분류한 구독을 할 수 있지만 로그를 출력하는 프로그램에 따른 구독은 할 수 없습니다. 유닉스의 syslog 툴의 개념을 생각하면 됩니다. syslog는 규칙(info/warn/cri..)와 출처(auth/cron/kern..