본문 바로가기

분류 전체보기

(667)
[CSS] 4. 레이아웃 설계(3) - position과 위치 속성 4 : fixed, sticky 이제 길고 긴 position 속성 값을 알아보는 여정에도 끝이 보이고 있습니다. 고정형 타입인 fixed와 sticky에 대해서 알아보고 position 속성에 대한 내용을 마무리해보도록 하겠습니다. ▷ fixed 우리가 웹 페이지를 볼 때, 우측 하단에 '상담 채팅 연결하기', '이벤트 신청하기' 같은 작은 버튼이 고정된 위치에 출력되는 것을 보신적이 있을 것입니다. 이러한 버튼은 마우스로 페이지를 아무리 스크롤해도 핀으로 꽂아놓은 것처럼 고정되어 있다는 것이 특징입니다. 이 경우가 바로 position의 속성 값을 fixed로 사용했을 때 나타나는 특징입니다. fixed로 position을 설정하게 되면, 이 역시 기본적인 HTML의 요소 배치 컨텍스트에서 벗어나게 되고, 위치 요소(left, ri..
제네릭(3) - 제네릭 메서드 1 앞서 제네릭과 관련해서는 클래스의 선언, 그리고 해당 클래스의 인스턴스 생성 시점에 주로 사용되는 타입 파라미터 정의와 관련해서 제네릭 타입을 사용하는 유형을 중심으로 살펴보았습니다. 이번 아티클에서는, 메서드에서 타입 파라미터를 사용해 다양한 결과를 얻는 제네릭 메서드에 대해서 알아보도록 하겠습니다. · 제네릭 메서드는 파라미터 타입과 리턴 타입으로 타입 파라미터를 갖는 메서드를 의미합니다. · 제네릭 메서드를 선언하는 방법은 다음과 같습니다. - 메스드의 리턴타입 바로 앞에 를 추가하고 - 리턴타입과 파라미터 타입에 타입 파라미터를 사용합니다. // 제네릭 메서드 선언 유형 public 리턴타입 메서드명(파라미터,...) { ... } // 제네릭 메서드 예시 public Box boxing(T t)..
제네릭(2) - 멀티타입 파라미터 제네릭을 통해서 타입을 파라미터 형태로 선언하고, 상황에 맞게 지정할 수 있다는 점을 배웠습니다. 그런데 꼭 하나의 파라미터만 선언이 가능한 것일까요? 제네릭은 두 개 이상의 타입 파라미터를 선언해 사용이 가능합니다. 즉, 멀티타입 파라미터를 사용할 수 있다는 의미죠. 앞서 살펴본 제네릭 타입 클래스에서의 내용을 상기하며 다음 클래스 Product를 살펴보겠습니다. 타입 파라미터를 T와 M, 두 가지를 선언하고 T와 M에 대해 각각 필드, getter, setter를 선언했습니다. public class Product { private T kind; private M model; public T getKind() { return this.kind; } public M getModel() { return ..
Chapter 1. 데이터 조회, 필터링(3) - SELECT DISTINCT 이번 아티클에서는 SELECT DISTINCT 문을 배워보도록 하겠습니다. 지금까지 다룬 명령어에 비해서 살짝 난이도가 올라가는 부분이니, 꼼꼼하게 내용을 살펴보도록 하겠습니다. SELECT DISTINCT는 한마디로 요약하면 [중복제거]입니다. 그 이상의 별다른 의미는 없죠. 간단합니다. 엑셀에서도 '중복제거'와 관련된 기능이 있는데, SQL에서도 동일한 기능을 쿼리를 통해서 구현한다는 차이점만 있을 뿐입니다. 앞서 배운 ORDER BY 내용까지 잘 기억하고 있다면 큰 어려움은 없을 것입니다. ○ 중복제거 테스트 용 테이블 T1 생성 우선 중복제거 SELECT DISTINCT의 원활한 실습을 위해서, 임의의 테이블을 만들어 보겠습니다. 중복제거 명령어 학습에 딱 맞는 테이블을 만들고, 이 테이블을 대상..
Chapter 1. 데이터 조회, 필터링(2) - ORDER BY SELECT FROM을 통해서 어떤 DB에서 데이터를 불러왔을 때, 데이터 정렬을 위해서 사용하는 명령어가 ORDER BY입니다. 간단히 요약하면 오름차순, 내림차순을 결정하게 되죠. 기본적인 쿼리 유형은 아래와 같습니다. select column1, column2 from tbl_name order by column1 asc, column2 desc 출력되는 칼럼의 값들을 어떤 기준으로 정렬하는지 간단하게 결정할 수 있는데요, 샘플 DB에서도 한번 ORDER BY를 테스트해보겠습니다. CUSTOMER 테이블에서 FIRST_NAME과 LAST_NAME을 출력하되 FIRST_NAME의 오름차순으로 데이터를 출력해 보겠습니다. select first_name, last_name from customer c ..
[CSS] 4. 레이아웃 설계(3) - position과 위치 속성 3 : absolute 앞서서 position 속성의 relative까지 살펴보았습니다. 이제 absolute에 대해서도 살펴보아야 하겠습니다. ▷ absolute absolute는 정말이지 단어의 절대적인 뜻 풀이에 현혹(?)되어서는 안 되는 속성 값입니다. relative와 반대되는 '절대 위치'도 아니고 오히려 relative와 연계성이 강한 속성입니다. 다시 한번 말씀드리지만 position 속성의 relative와 absolute 속성 값은 단어의 의미로 연상하지 말고, 그냥 특성을 이해해야 합니다. 우선 position이 absolute로 선언된다면, 일단 기존의 HTML 문서 배치 컨텍스트에서 벗어나게 됩니다. 예를 들어 앞선 예제에서 세 개를 배치했는데, 두 번째 에 적용하게 된다면 첫 번째와 세 번째 요소는 이..
제네릭(1) - 제네릭 타입 2 앞서 제네릭 타입에 대한 예제를 살펴보기 위해서, 비제네릭 방식으로 구현한 예제를 살펴보았습니다. 비교를 위해서 예제를 다시 한번 보도록 하겠습니다. 제네릭(1) - 제네릭 타입 1 우선은 기본적으로 '제네릭(Generic)' 타입이 무엇인지를 알고 넘어가야 합니다. 제네릭은 컬렉션부터 람다식, 스트림, NIO 등 자바의 intermediate 이상의 레벨에서 학습하는 내용에 빠지지 않고 등장 nozeroslope.tistory.com public class Box { private Object object; public void set(Object object) { this.object = object; } public Object get() { return object; } } public class..
제네릭(1) - 제네릭 타입 1 우선은 기본적으로 '제네릭(Generic)' 타입이 무엇인지를 알고 넘어가야 합니다. 제네릭은 컬렉션부터 람다식, 스트림, NIO 등 자바의 intermediate 이상의 레벨에서 학습하는 내용에 빠지지 않고 등장하기 때문이죠. API 문서에서도 자주 사용하기 때문에 알아두지 못하면 JAVA를 공부하거나 개발 과정에서 꽤나 곤란한 상황을 겪게 됩니다. 기본적으로 제네릭(Generic)은, "타입"을 컨트롤하는 개념입니다. 그래서 제네릭을 사용하게 되면 다음 두 가지 장점을 갖게 됩니다. 첫 번째로 컴파일 과정에서 타입 체크를 강력하게 할 수 있다는 점입니다. 실행되고 에러가 발생하느니, 컴파일 레벨에서 미리 문제를 해결하는 게 낫다는 것이죠. 두 번째로는 불필요한 타입 변환(casting)을 제거할 수 ..