Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- unity 설치
- 크래프톤
- 유니티 독학
- protobuf 란?
- 오픽 im1 5일
- 오픽 im1
- 유니티
- 유니티 퀘스트
- 게임 개발
- 유니티 미연시
- 유니티 스토리
- 크래프톤 정글 게임랩
- unity 개발
- 유니티 대화
- 게임 개발 독학
- unity 공부
- unity
- Unity Chess
- 크래프톤 정글랩
- unity 게임 개발
- unity 강의
- protobuf란
- 유니티 체스
- 게임 독학
- 크래프톤 정글 게임 랩
- 크래프톤 게임 정글 랩
- ETRI 연구연수
- node.js
- unity 게임
- Unity 독학
Archives
- Today
- Total
하참이의 아이디어노트
프로그래머스 데브코스 TIL 4일차 본문
프로그래머스 데브코스 TIL 4일차이다.
슬슬 다른 수업에서 진행하는 기초적인 프론트의 기술들은 거의 다 배운 것 같다.
오늘은 JS의 처음을 배웠고 내일까지 하면 JS까지 전부 마무리 되지 않을까 싶다.
CSS 반응형 웹 디자인과 JavaScript 기초 정리
1. 반응형 웹이란?
반응형 웹(Responsive Web)은 사용자가 접속한 스마트폰, 태블릿, 데스크톱 등 다양한 기기의 화면 크기에 맞춰 웹 페이지의 레이아웃을 유동적으로 조절하는 기술입니다. 하나의 웹사이트로 여러 환경에 대응할 수 있도록 설계되어 있으며, 유지 보수가 용이하고 사용자 경험을 향상시키는 장점이 있습니다.
반응형 웹의 장점
- HTML과 CSS로 구성되어 있어 웹 표준을 지원하는 다양한 스마트 기기(웨어러블, 스마트 TV, 게임 콘솔 등)에서 접근이 가능합니다.
- 기기를 가로로 회전하거나 화면 너비가 변경되면 CSS가 자동으로 레이아웃을 조절해 자연스러운 화면 구성이 가능합니다.
- 하나의 웹사이트로 여러 기기를 대응하기 때문에 사이트 관리 및 유지보수가 효율적입니다.
- 단점으로는 구형 브라우저에서는 일부 반응형 기능이 제한될 수 있다는 점이 있습니다.
2. 뷰포트(Viewport)란?
뷰포트란 사용자가 실제로 웹사이트를 볼 수 있는 화면의 영역을 의미합니다. 반응형 웹을 구현할 때 뷰포트 설정은 매우 중요하며, 다음과 같은 메타 태그로 정의할 수 있습니다.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
주요 속성
속성 설명 예시
width | 뷰포트 너비 설정 | device-width |
height | 뷰포트 높이 설정 | device-height |
user-scalable | 확대/축소 가능 여부 | yes / no |
initial-scale | 초기 배율 | 1.0 |
minimum-scale | 최소 배율 | 0.25 |
maximum-scale | 최대 배율 | 1.6 |
3. 미디어 쿼리(Media Queries)
미디어 쿼리는 기기의 조건(화면 너비, 방향 등)에 따라 CSS 스타일을 다르게 적용할 수 있도록 도와주는 기능입니다.
기본 문법
@media [not | only] 미디어유형 [and 조건] {
/* 스타일 코드 */
}
연산자 설명
- and: 조건을 추가할 때 사용합니다.
- , (쉼표): 여러 조건을 동시에 적용할 때 사용합니다.
- only: 미디어 쿼리를 지원하지 않는 브라우저에서 스타일을 무시하도록 합니다.
- not: 특정 조건을 제외할 때 사용합니다.
미디어 유형
유형 설명
all | 모든 장치 |
screen | 화면 장치 (PC, 모바일 등) |
인쇄 장치 | |
tv | TV 화면 |
handheld | 휴대용 장치 (패드 등) |
예시: 화면 크기에 따른 배경 변경
body {
background: url(images/choco5.jpg) no-repeat fixed;
background-size: cover;
}
@media screen and (max-width: 1024px) {
body {
background: url(images/choco9.jpg) no-repeat fixed;
background-size: cover;
}
}
@media screen and (max-width: 768px) {
body {
background: url(images/choco8.jpg) no-repeat fixed;
background-size: cover;
}
}
@media screen and (max-width: 320px) {
body {
background: url(images/choco7.jpg) no-repeat fixed;
background-size: cover;
}
}
화면 회전 대응
@media screen and (orientation: landscape) {
body { background-color: orange; }
}
@media screen and (orientation: portrait) {
body { background-color: yellow; }
}
JavaScript 기초 정리
1. JavaScript란?
JavaScript는 웹 브라우저에서 동작하는 스크립트 언어로, HTML과 CSS와 함께 웹 프론트엔드의 3대 핵심 기술 중 하나입니다. JavaScript는 인터프리터 언어로 별도 컴파일 없이 브라우저에서 직접 실행되며, 동적인 웹 애플리케이션 개발에 널리 사용됩니다.
탄생과 발전
- 1995년 Netscape의 브렌던 아이크가 개발
- 1996년 Microsoft의 Internet Explorer에 탑재
- ECMAScript라는 표준화 작업이 1997년부터 시작
- 2008년 이후 웹 애플리케이션의 성장과 함께 대중화
2. JavaScript의 특징
- 인터프리터 언어: 코드를 실행 시 즉시 해석
- 동적 타입 언어: 변수에 타입을 명시하지 않으며, 실행 중 타입이 변할 수 있음
- 프로토타입 기반 객체지향 언어: 클래스가 아닌 프로토타입으로 객체를 상속함
- 함수는 일급 객체: 함수 자체도 값처럼 다룰 수 있음
- 클로저 지원: 함수 내부에서 외부 변수에 접근 가능
3. JavaScript 문법 기초
변수 선언
var x = 10;
let y = 20;
const z = 30;
데이터 타입
- 숫자형: 10, 3.14
- 문자형: "문자열", '문자열'
- 불리언형: true, false
- null: 값이 없음
- undefined: 선언되었으나 값이 없음
출력 방법
alert("경고창 출력");
console.log("콘솔 출력");
document.write("문서에 출력");
4. 연산자
산술 연산자
let a = 10, b = 3;
a + b; // 덧셈
a - b; // 뺄셈
a * b; // 곱셈
a / b; // 나눗셈
a % b; // 나머지
대입 및 증감 연산자
let x = 5;
x += 2; // x = x + 2
x++; // x = x + 1
비교 연산자
10 == '10'; // true (값만 비교)
10 === '10'; // false (값 + 타입 비교)
10 != '10'; // false
10 !== '10'; // true
논리 연산자
true && false; // false
true || false; // true
!true; // false
5. 문자 결합
let txt1 = "노는게 제일 좋아";
let txt2 = " 친구들 모여라";
let result = txt1 + txt2;
document.write(result);
6. 실습 예제
// 멤버 수 합산
let newJeans = 5;
let ive = 6;
let leSserafim = 6;
let total = newJeans + ive + leSserafim;
alert("뉴진스 + 아이브 + 르세라핌 은 총 " + total + "명 입니다.");
console.log("뉴진스 + 아이브 + 르세라핌 은 총 " + total + "명 입니다.");
document.write("뉴진스 + 아이브 + 르세라핌 은 총 " + total + "명 입니다.<br>");
// 수식 결과 출력
let result = 10 / (50 - 10) * 10;
document.write("수식 결과: " + result);
4일차도 끝이 났다.
오늘은 피곤해서 일찍 자야 할 것 같다... 내일도 화이팅!!
'프로그래머스 데브코스 > TIL' 카테고리의 다른 글
프로그래머스 데브코스 TIL 6일차 (0) | 2025.04.14 |
---|---|
프로그래머스 데브코스 TIL 5일차 (2) | 2025.04.14 |
프로그래머스 데브코스 TIL 3일차 (0) | 2025.04.08 |
프로그래머스 데브코스 TIL 2일차 (3) | 2025.04.07 |
프로그래머스 데브코스 TIL 1일차 (2) | 2025.04.07 |