728x90

분류 전체보기 427

[CSS] CSS 아키텍처

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. CSS 아키텍처란? CSS는 사양이 단순하기 때문에 배우기 쉽지만, 대규모 사이트나 팀에서 코딩할 때나 장기간 유지 보수하는 등에 있어서는 사양 외에 많은 지식이 요구된다. CSS의 사양을 구석구석 이해하여, 미디어 쿼리나 CSS 애니메이션등을 능숙하게 사용할 수 있다고 해도 그것으로 CSS의 스킬이 높다고는 말할 수 없다. CSS의 사양대로 설계할 수 있는 것은 최종 목표가 아닌 기본 능력이다. 코드의 가독성이나 유지보수, 팀 빌딩이 가능한지등은 다른 면으로 굉장히 중요하다. CSS에는 이러한 사양 외에의 규약을 제공해주는 아키텍처가 몇 가지가 준비되어 있다. 이 몇 가지 아..

IT/기초 지식 2023.04.15

[Vue.js] Vuex를 가볍게 배워보자

Vuex란? vue.js의 기본을 알고있다는 전제에 한해서 설명하도록 하겠다. 수 많은 컴포넌트가 있는 어느 정도 규모가 있는 프로젝트가 있다고 가정하자. 이 그림에서 ComponentA의 데이터를 ComponentC나 ComponentE에 전달하고자 한다면 어떻게 할까? 일반적인 vue.js라면 부모 컴포넌트에서 자식 컴포넌트로, 다시 자식 컴포넌트에서 부모 컴포넌트로의 데이터를 전달하는 는 과정을 여러번 걸쳐야한다. 여기서 Vuex를 사용하면 글로벌 변수와 같은 느낌으로 데이터를 다룰 수 있게 된다. 이것으로 복잡했던 컴포넌트 간의 데이터 송신 과정을 줄일 수 있다. Vuex의 도입 Vuex의 패키지를 설치한다. vue cli으로 프로젝트를 생성하면 세트로 설치되므로 이러한 경우에는 필요하지 않다. ..

IT/언어 2023.04.13

[SQL] SQL AntiPatterns

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 시작하기에 앞서 빌카윈의 저서 SQL AntiPatterns 내용을 가볍게 정리해보았다. [1장] 무단횡단(제이워크) 1개의 칼럼에 컴마(,) 구분의 값을 넣으면 안 된다. 그 이유는 다음과 같다. 검색하기 어렵다. 문자열 칼럼의 문자 수 제한이라는 암묵적 제약을 받는다. validation을 걸기 어렵다. 해결방법은 교차 테이블을 생성하는 것이다. [2장] 순진한 트리 트리형태의 계층 구조를 1개의 테이블로 표현하면 안된다. 그 이유는 다음과 같다. 계층 구조가 깊어지면 그만큼 SQL을 써야한다. 노드를 삭제하기 어려워진다. 해결방법은 대체 트리 모델을 사용하는 것이다. [3..

IT/기초 지식 2023.04.12

[SQL] UNION과 UNION ALL의 차이점

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. UNION과 UNION ALL의 차이점에 대해서 설명하고자 한다. UNION ALL은 이름 그대로 UNION의 형제같은 것이다. 따라서 먼저 UNION에 대해서 이야기한 후에 UNION ALL에 대한 이야기를 하고자한다. UNION이란? 2개의 SQL 실행 결과를 세로 방향으로 연결시키는 구문이다. 예를 들면 다음과 같다. 다음과 같이 두 개의 테이블이 있다고 가정하자. 첫 번째 테이블 test_pk test_val 1 a 2 b 두 번째 테이블 test_pk test_val 2 b 10 a2 11 b2 13 c2 두 개의 테이블의 UNION으로 결합하면 다음과 같은 테이블이 ..

IT/기초 지식 2023.04.11

[PostgresSQL] PostgresSQL에서 잘 알려지지 않은 형태 세 가지

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠씁니다. postgres에 한정하지 않고 RDBMS에서는 테이블 설계를 할 때 적절한 데이터형을 고르는 것이 중요하다. 또한 postgres에서는 기존의 데이터형을 확장한 형태가 몇 가지 준비되어 있다. 이러한 데이터형을 사용하는 것으로 유연한 데이터의 표현을 할 수 있다. 이번 포스팅에서는 그 중에서 세 종류를 소개하고자 한다. 배열 postgres에서는 임의의 데이터 형의 배열형을 사용할 수 있다. 데이터형의 정의 배열로 하고 싶은 데이터형의 뒤에 []를 추가한다. 예를 들면 다음과 같다. int[] 리터럴 {}를 감싸고 ,로 구분된 배열의 리터럴 표현은 다음과 같이 할 수 있다. S..

IT/기초 지식 2023.04.10

[Java] Java에서 자주 사용하는 Collection 구현 클래스의 구조와 특징

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 이번에 설명할 구현 클래스 자주 사용되는 Collection계 클래스는 다음과 같다. ArrayList LinkedList HashSet HashMap HashMap은 Collection이 아닌 Map의 구현 클래스이지만, 자주 사용되는 점과 HashSet과 관계가 깊기 때문에 이번에 함께 설명하도록 하겠다. 클래스 그림은 다음과 같다. 그리고, 인터페이스의 역할은 다음과 같다. 인터페이스 역할 List 요소의 순서가 부여된 그룹. 기본적으로 중복이 허가된다. Set 요소의 중복을 허가하지 않은 그룹(집합). 순서는 구현 클래스에 따른다. ArrayList ; 배열에 의한 Li..

IT/언어 2023.04.09

[Java] Stream의 map과 flatMap의 차이점

결론 먼저 결과를 말하자면, map(T -> R)은 T 데이터 형을 R의 데이터형으로 1:1 변환 flatMap(T -> R)은 T 데이터형에서 Stream으로 1:N 변환 Stream의 map() List nameList = Arrays.asList("Tanaka", "Suzuki", "Takahashi"); Stream stream = nameList.stream().map(x -> x.length()); System.out.println(stream.collect(Collectors.toList())); 실행 결과는 다음과 같다. [6, 6, 9] Tanaka Suzuki Takahashi ↓ ↓ ↓ 6 6 9 위와 같이 문자열에서 문자열 길이로 1:1변환하고 있다. Stream의 flatMap()..

IT/언어 2023.04.08

[SQL] MySQL의 GROUP BY 완전 이해하기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 전제 유저 ID 이름 메일주소 작성한 포스트 수 받은 좋아요 수 1 홍길동 example1@example.com 10 5000 2 김철수 example2@example.com 1 7 3 이영희 example3@example.com 3709 6446131 다음과 같이 데이터를 추출하려고 한다고 가정하자. 테이블의 유저 ID는 프라이머리 키, 이름이나 메일 주소는 프라이머리 키와 동일한 users 테이블의 필드에 존재하는 정보라고 생각하게 된다. 추출할 데이터가 users 테이블의 데이터뿐이라면 큰 문제는 아니다. 단순히 다음과 같은 select 문으로 하면 된다. SELECT *..

IT/기초 지식 2023.04.08

[Java] Stream API의 anyMatch(), allMatch(), noneMatch()

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. anyMatch: 판정 (일부 일치) anyMatch 메소드는 filter 메소드에도 사용할 수 있으며, 판정하기 위해 함수형 인터페이스인 Predicate를 인수로 받아, boolean(1개라도 조건에 일치하는 값이 있다면 true)를 반환한다. 조건에 일치하는 값이 발견됐을 시점에 처리를 종료하므로 ||와 동일하다. anyMatch의 사용법 String의 Collection에서 문자열을 검색하는 샘플 코드를 살펴보자. List strs = Arrays.asList("hoge", "fuga", "bars"); // 람다식 boolean b = strs.stream().anyM..

IT/언어 2023.04.06

[Vue.js] v-if와 v-show의 차이

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Vue.js에서 프론트엔드 요소를 조건문으로 나타낼 때 v-if나 v-show를 사용한다. 그러나 이 두 가지의 차이점을 잘 몰랐기에 이번 기회에 정리하고자 한다. v-if v-if="조건"으로 쓰면 조건의 참거짓에 따라 요소를 표시할지 안 할지는 컨트롤 할 수 있다. Vue is awesome! Oh no! 여러 가지 요소의 표시/비표시를 한꺼번에 컨트롤 할 때는 v-if를 태그에 기재한다. Title Paragraph 1 Paragraph 2 조건이 참일 때에 요소 전체가 표시되며, 거짓일 때는 요소 전부가 비표시하게 된다. v-show v-if와 동일하게 v-show="조..

IT/언어 2023.03.31
728x90