본문 바로가기
반응형

프로그래밍475

[PostgreSQL] 테이블, 컬럼 이름으로 대문자를 사용하지 말고 소문자를 써라 NamesLikeThis를 사용하지 말고 names_like_this 이렇게 사용하라. Why Not? PostgreSQL 은 tables, columns, functions등 모든 이름을 소문자로 바꿔버린다. create table Foo() 구문은 테이블을 foo로 생성한다, 반면 create table "Bar"() 은 Bar로 생성한다. 이는 엄연히 다른 결과를 유발한다. 유효한 구문 : select * from Foo, select * from foo, select * from "Bar". 유효하지 않은 구문 : select * from "Foo", select * from Bar, select * from bar. 대문자를 사용하기 시작하면 커맨드창에서 select 입력시나 update시 매우.. 2023. 3. 10.
물리 계층(Physical Layer)에서 동작하는 리피터(Repeater)와 허브(Hub)에 대해서 리피터(Repeater)란? 전기 신호를 정형(일그러진 전기 신호를 복원) 전기 신호를 증폭 멀리 있는 상대방과도 통신할 수 있도록 파형을 정상적으로 만드는 기능 요즘 네트워크 장비들이 리피터 기능을 지원해서 리피터 단독으로 쓸 필요가 없어짐 허브(Hub)란? 포트(실제로 통신하는 통로)를 여러 개 가지고 있고 리피터 허브라고도 불림 리피터는 1:1 통신만 가능하지만 허브는 여러 개를 가지고 있어서 여러 대의 컴퓨터와도 통신할 수 있음 리피터와 마찬가지로 전기 신호를 정형하고 증폭하는 기능 컴퓨터 여러 대를 서로 연결하는 장치라서 직접 컴퓨터끼리 연결하지 않아도 통신 가능 특정한 포트로부터 데이터를 받으면 해당 포트를 제외한 나머지 모든 포트로도 받은 데이터를 전송 컴퓨터 1에서 컴퓨터 2로만 데이터를 .. 2023. 3. 6.
CockroachDB 어떤 데이터베이스인가? 특히 이용자가 많은 모바일 게임의 메인 데이터베이스는 쓰기 위주(Write-Heavy) 워크로드에 적합하다. 그리고 이용자가 급격하게 늘어날 경우를 대비해서 빠르게 확장할 수 있어야 한다. 데이터베이스 종류 전통적 관계형 데이터베이스 MySQL, MsSQL, PostgreSQL 문서형 분산 데이터베이스 Couchbase, MongoDB, Cassandra 관리형 데이터베이스 DynamoDB CockroachDB 란 CockroachDB란 SQL 인터페이스를 지원하는 분산 데이터베이스입니다. 수평 확장이 가능하고, 다양한 종류의 물리적 장애에서 살아남을 수 있으며, 전 지구적인 스케일로 데이터베이스를 구축하고 관리할 수 있는 다양한 기능을 지원합니다. GitHub에 오픈소스로 공개되어 있고, 무료로 사용할.. 2023. 3. 6.
IP(Internet Protocol) 이란? IP(Internet Protocol)란 무엇인가? IP (Internet Protocol)는 인터넷 통신을 위한 규칙을 정의하는 OSI 참조 모델의 계층 3: 네트워크 계층에서 작동하는 통신 프로토콜 중 하나입니다. IP는 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다. 고유 주소에는 IP 말고도 MAC주소가 존재한다. 주소 체계 종류 IP 주소 > 논리적 주소 체계 MAC 주소 > 물리적 주소 체계 IP의 역할: 명확성 IP(Internet Protocol)의 포인트 컴퓨터 IP 주소를 고유하게 식별 라우팅 프로세스 패킷 전환 방법 IP 주소 인터넷 세계의 주소와도 같다. 인터넷에 연결된 모든 컴퓨터는 자신만의 고유한.. 2023. 3. 2.
C# 상속 관련 키워드 정리 상속 관련 키워드 일반 클래스 (class) 추상 클래스 (abstract class) 인터페이스 (interface) 일반 클래스의 경우 class Animal { public void Speak() { Console.WriteLine("I`m Animal."); } } class Dog : Animal { public void Speak() // CS0108 { Console.WriteLine("I`m Dog."); } } class Program { static void Main(string[] args) { var dog = new Dog(); dog.Speak(); // I`m Dog. ((Animal)dog).Speak(); // I`m Animal. } } Speak() 함수를 virtual.. 2023. 2. 27.
GUID를 향한 여정 - 트위터가 만든 Twitter Snowflake Announcing Snowflake Announcing Snowflake blog.twitter.com snowflake 소개 Twitter가 OSS로 공개하고 있는 ID 생성기 Time-base한 ID (시간대별로 정렬이 가능하다. 의미를 가지는 Id) 64bit로 ID를 표현 (GUID 같은 경우는 128bit로 구성됨) 복수의 머신을 운용하여 병렬로 유일성을 가진 ID를 생성할 수 있다. 스칼라 언어로 구현 1초당 생성 가능한 개수 : 1000 [millisecond] * (2^12)[sequence number] = 4,096,000 맨 처음 비트는 사인 비트 : 1비트를 할당한다. 타임 스탬프 : 41비트를 할당한다. 기원 시각(epoch) 이후로 몇 밀리초가 경과했는지를 나타내는 값이다. 데.. 2023. 2. 24.