분류 전체보기
-
MySQL 변수 종류DataBase/MySQL 2022. 4. 27. 23:12
1. 사용자 지정변수 (@ 가 앞에 붙습니다.) 사용자 지정 변수(User-defined variables)는 선언하거나 초기화 하지 않고 접근할 수 있습니다. 만약 사용자 정의 변수가 초기화 되지 않았다면 string 타입의 NULL 값이 반환됩니다. SELECT @var_any_var_name SET 과 SELECT 문을 사용해서 변수를 초기화 할 수 있습니다.(MySQL 8.0 에서는 SET 을 사용해서 변수를 초기화 할 것을 권장하고 있습니다. SET 외에 변수 초기화는 향후 버전에서 삭제 될 수 있다고 합니다.) Previous releases of MySQL made it possible to assign a value to a user variable in statements other th..
-
MySQL 사용자 변수DataBase/MySQL 2022. 4. 25. 18:55
MySQL 사용자 변수 변수명 사용자 변수는 @var_name 으로 표현 됩니다. 변수 이름은 알파벳, 숫자, ., _ 및 $로 구성될 수 있습니다. 사용자 변수 이름은 대소문자를 구분하지 않습니다. 이름의 최대 길이는 64자입니다. 변수명 범위 사용자 변수는 세션에 따라 다릅니다. 특정 클라이언트는 다른 클라이언트가 정의한 사용자 변수를 보거나 사용할 수 없습니다.(하지만 performance schema 의 user_variables_by_thread 에 대한 권한이 있는 사용자는 모든 세션에서 어떤 사용자가 정의한 변수던지 다 볼 수 있습니다.) 변수 해제 클라이언트 세션에 대한 모든 변수는 해당 클라이언트가 종료될 때 자동으로 해제됩니다. 사용 예시 사용자 변수를 만들 수 있는 방법중 하나는 SE..
-
Clean Code 3장책/클린코드 2022. 4. 24. 23:06
package chap3; import chap3.etc.PageCrawlerImpl; import chap3.etc.PageData; import chap3.etc.SuiteResponder; import chap3.etc.WikiPage; import chap3.etc.WikiPagePath; public class HtmlUtil { public static String testableHtml(PageData pageData, boolean includeSuiteSetup) throws Exception { WikiPage wikiPage = pageData.getWikiPage(); StringBuffer buffer = new StringBuffer(); if (pageData.has..
-
Spring Boot와 AWS 로 혼자 구현하는 웹서비스 1, 2 장책/스프링부트와 AWS로 혼자 구현하는 웹서비스 2022. 4. 22. 23:45
이동욱님이 쓰신 "스프링부트와 AWS로 혼자 구현하는 웹 서비스" 를 현재(SpringBoot 2.6.7) 버전에 맞게 일부 변형했습니다. 전반적인 내용은 동일합니다. 1장 intellij 의 간단한 세팅 및 github 와 intellij 를 연결한 부분이 나옵니다. 이 부분은 다른 블로그 글도 있으니 참고하셔도 될 거 같습니다. 2장 테스트 코드는 현재 웹 서비스에서 매우 중요한 요소입니다. 테스트 코드에서 꼭 짚고 넘어가야 하는것은 TDD와 단위테스트(unit test)입니다. 2.1 테스트 코드 소개 TDD 테스트가 주도하는 개발(Test-Driven-Development, 혹은 Test-First-Development) 을 의미합니다. 항상 실패하는 테스트를 먼저 작성하고(RED) 테스트가 통과..
-
CIDR(Classless Inter Domain Routing) 이란?네트워크 2022. 4. 2. 19:05
CIDR Classless Inter Domain Routing 사전지식 IPv4 는 총 32비트의 숫자로 구성되어있다.(4,294,967,296개) 588,514,304 개는 특정한 목적으로 선점되어 있다. 따라서 가용한 IP 는 3,706,452,992개이다. 이미 충분하지 않다는 것을 알 수 있는데 이를 해결하기 위해 사설 네트워크(Private Network) 를 사용한다. 사설망 하나의 Public IP 를 여러 기기가 공유할 수 있는 방법 하나의 망에는 Private ip 를 부여받은 기기들과 gateway로 구성 각 기기는 인터넷과 통신시 Gateway 를 통해 통신 Private IP 는 지정된 대역의 IP만 사용가능 즉 해당 범위의 IP 를 부여받은 다면 이는 무조건 사설망이다. (ex...
-
AWS 데이터베이스 종류와 그 사용법카테고리 없음 2022. 3. 27. 11:30
AWS는 많은 종류의 데이터베이스를 지원하고 있습니다. 지원하는 데이터베이스는 알맞는 조건에서 사용할 때 비용 대비 가장 만족할 만한 성능을 가질 수 있습니다. 이번 포스팅 에선 어떤 종류의 DB가 있는지 살펴보고 어떠한 경우 해당 DB를 사용하는게 알맞는지 살펴보려고 합니다. 관계형 데이터 베이스 데이터의 관계에 집중한 데이터베이스로 미리 지정된 형식과 타입의 데이터만 저장할 수 있습니다. 행과 열을 기반으로 한 여러테이블을 통해 데이터를 정의하며 테이블 형식으로 데이터를 관리합니다. 원하는 동작이 정확히 수행되거나 완전히 실패하는 트랜잭션을 지원합니다. OLTP 와 OLAP OLTP(Online Transactional Processing) 주로 데이터의 트랜잭션을 다루는 데이터베이스 id 12354..
-
torch의 데이터 분산 연산(DP 와 DDP)머신러닝 및 딥러닝 2022. 3. 25. 19:27
torch parallelism Pytorch 를 사용해 모델을 학습하다 보면 여러가지 병렬화를 사용합니다. 병렬화를 사용하는 이유는 크게 2가지로 나눠볼 수 있습니다. 학습을 더 빨리 끝내기 위해 모델이 너무 커서 이를 분할하여 GPU에 올리기 위해 이번 블로그 글은 1. 학습을 더 빨리 끝내기 위해 사용할 수 있는 방법중 하나인 학습에 사용할 데이터를 병렬화 를 알아보도록 하겠습니다. torch.nn.DataParallel Single node 와 multi-GPU 에서 공작하는 multi-thread 모듈입니다. 이에 대한 동작방법을 그림으로 알아보겠습니다. 먼저 순전파 (Forward Pass) 입니다. Forward Pass 설명의 용이성을 위해 여기선 GPU의 갯수를 4개로 하고 master ..
-
샤딩과 파티셔닝DataBase 2022. 3. 19. 01:00
샤딩과 파티셔닝 대규모 트래픽과 데이터를 다루는 곳에선 많은 양의 데이터가 축적되어 있다보니 하나의 DB 인스턴스로는 읽고 쓰기를 감당할 수 없습니다. 이 경우 여러개의 DB 인스턴스가 필요합니다. 이때 확장성을 위해 샤딩, 파티셔닝을 필수적으로 고려하게 됩니다. 샤딩과 파티셔닝은 모두 큰 데이터셋을 여러 서브셋으로 나눈다는 공통점이 있습니다. 이런 유사점 때문에 종종 혼용되어 쓰여지기도 합니다. (추후 설명할 예정이지만 sharding = Horizontal partitioning 으로 알고 계신분들이 많은데 이 둘은 다른 개념입니다. horizontal partitioning, vertical sharding 등......) 샤딩 여러 인스턴스에 여러 서브셋을 저장하는것을 말합니다. 장점 쿼리(읽기,..