본문 바로가기

분류 전체보기

scaffold generator 사용해보기 Post 모델 생성1rails generate scaffold Post title content:textcs 해당 제너레이터로 모델을 만든다.title과 content 두 개의 속성으로 만들겠다는 의미다.여러 리소스 모듈이 생성되고 연관 템플릿이 형성된다. rake 명령으로 데이터베이스 테이블 생성1rake db:migratecs 생성 후 확인1rake db:migrate:statuscs db:rollback 명령 하면 마이그레이션을 취소할 수 있다. sqlite 들어가보기1bin dbcs 간단히 확인도 함 해보고.. 결과이렇게 간단히 포스트가 가능한 웹페이지가 만들어지다니............................................... 더보기
Sqlite cheat sheet 더보기
[서버] UDP 패킷 손실에 대하여 참고http://stackoverflow.com/questions/10355626/udp-packet-size-and-packet-losses 서론패킷 손실이 언제 일어나는지에 대해 알아보았다.패킷이 손실되는 이유는 대부분 검색 결과에선 송신측에서는패킷을 보내기만 하는데 수신측 버퍼가 해당 패킷을 받을 준비가 되지 않았을 때라고 한다. 큰 사이즈 패킷을 UDP로 보낼 때 문제점TCP는 해당 패킷을 전송할때 스트림 형태로 해당 패킷에시퀀스를 붙여 보내 오지 않은 패킷은 재요청하고 패킷을 조립한다. 하지만 UDP는 이러한 동작이 없다,그리고 이더넷단에서 MTU가 있기때문에 63K의 UDP 패킷을 보내도1500byte의 사이즈로 47+ 개 정도로 분할되어 전송이 된다.그렇기 때문에 해당 조각 중에 하나라도 받.. 더보기
[서버] TTL Time to live컴퓨터나 네트워크에서 데이터의 유효 기간을 나타내기 위한 방법이다.TTL은 계수기, 타임스탬프 형태로 데이터에 포함된다. 정해진 유효기간이 지나면 데이터는 폐기된다.컴퓨터 네트워크에서 TTL은 패킷의 무한 순환을 방지하는 역할을 한다.어플리케이션에서 TTL은 캐시의 성능이나 프라이버시 수준을 향상시키는 데에 사용되기도 한다. mac terminal에서 ping localhost IP 패킷IP에서 TTL은 8비트 크기의 필드다. IPv4 헤더에서 TTL은 20 옥텟 중 8번째 옥텟.IPv6 헤더에서 40 옥텟 중 8번째 옥텟이다. TTL의 최대값은 단일 옥텟의 최대값에 해당하는 255이다.권장되는 초기 값은 64. TTL 값은 IP 데이터그램이 인터넷 시스템 내에 존재할 수 있는 시간.. 더보기
TCP Max Packet 서론프로토콜에서 데이터 단위를 PDU(Protocol Data Unit)라 하는데계층마다 단위는 다르게 부른다. 물리계층 - 비트데이터계층 - 프레임네트워크계층 - 패킷, 데이터그램전송계층 - 세그먼트 패킷의 크기란?TCP segment의 크기를 의미한다. MTU?MTU는 Maximum Transmission Unit의 약자다. 하나의 프레임이나 패킷이한번에 전송 가능한 데이터의 크기를 말한다. 일반적으로 이더넷을 사용할 때 MTU는 1500바이트이다.TCP, IP나 어플리케이션에서 가능한 데이터를 의미한다.이더넷의 해더와 트레일러는 제외한다. 1500바이트는 보통 20바이트씩 각 IP, TCP 헤더를 제외하면 1460바이트다. RFC1323에 정의된 Timestamp 옵션이 사용하면TCP 헤더는 12바.. 더보기
eigen value, eigen vector Eigen ValueA * X = λ* X에서 λ에 해당되는 녀석으로 해당 eigen vector 방향으로 얼마나 늘렸는지를 수치로 나타낸다. Eigen Vector 해당 공식에서 어느 방향으로 늘리느냐가 된다. 구해보기백터가 주어졌을 때,A * X - λ* X = 0=> ( A - λ) * X= 0 이렇게 된다.0행렬이 나오려면 X가 0이거나A-λE의 determinent가 0이 되어야 한다. det(A-λE) = 0이 되는 λ를 연립 방정식을 이용해서 구하면 된다. 해당 λ를 구하면 Eigen Vector를 구할 수 있고,이 방향으로 λ만큼씩 백터를 늘린것이다. 하.. 참 별로 어려운게 아닌데 너무 오랜만에 듣는 개념이라..역시 면접가면 배우는게 많다. 까먹거나 모르는게 팍팍 와닿으니! 더보기
hell world 찍어보자! 컨트롤러와 액션 생성1rails generate controller say hello goodbyecs 레일스는 철저하게 MVC 패턴을 따른다.해당 명령은 say라는 컨트롤러를 생성하고 hello와 goodbye라는 액션을 생성한다는 뜻. 서버를 키고localhost:3000/say/hello를 들어가보자! 이렇게 아주 아름답게 페이지가 나온다!생성된 소스는 app/views/say/hello.html.erb로 저장된다.erb는 루비 인터프리터가 읽기 위한 것! 루비 코드는 jsp처럼 안에 넣어서 쓸 수 있다. View 수정해보기 소스를 조금 수정해 이렇게 하면 Hell World 제목이 나오고 현재 시간이 표시된다. Controller 수정해보기controller에 소스를 수정하기 위해 경로를 찾아보면.. 더보기
환경 준비 레일스는 루비언어로 만들어졌다.모든 환경에서 루비 인터프리터가 설치되어 있어야 한다. 해야할 일.- 소스관리자 GIT 설치- 루비버전관리자 설치(rbenv, rvm)- 레일스 설치- 코드 에디터의 선택 GIT여러 관리 툴이 있지만 레일스에서는 일반적으로 Git을 사용한다. Pro Githttp://git-scm.com/book/ko/v2 Git 설치1sudo apt-get install gitcs 최초 설정1git configcs다양한 설정을 많이 바꿀 수 있다! 사용자 정보 설정하기12git config --global user.name "jominhyuk"git config --global user.email jominhyuk87@gmail.comcs 편집기 설정1git config --global .. 더보기