[html]
[CSS]
[결과]

[html]
[CSS]
[결과값]

'CSS > CSS 이론' 카테고리의 다른 글
| [CSS] CSS 디자인 우선순위 (0) | 2023.08.09 |
|---|---|
| [CSS] 반응형 웹 이론 - 이미지 처리 (0) | 2023.08.09 |
| [CSS] 배경이미지 (0) | 2023.08.08 |
| [CSS] 폰트스타일 (0) | 2023.08.07 |
| [CSS] 태그선택자 (0) | 2023.08.07 |
[html]
[CSS]
[결과]

[html]
[CSS]
[결과값]

| [CSS] CSS 디자인 우선순위 (0) | 2023.08.09 |
|---|---|
| [CSS] 반응형 웹 이론 - 이미지 처리 (0) | 2023.08.09 |
| [CSS] 배경이미지 (0) | 2023.08.08 |
| [CSS] 폰트스타일 (0) | 2023.08.07 |
| [CSS] 태그선택자 (0) | 2023.08.07 |

폰트사이즈

| [CSS] CSS 디자인 우선순위 (0) | 2023.08.09 |
|---|---|
| [CSS] 반응형 웹 이론 - 이미지 처리 (0) | 2023.08.09 |
| [CSS] 배경이미지 (0) | 2023.08.08 |
| [CSS] Box 기본속성 (0) | 2023.08.07 |
| [CSS] 태그선택자 (0) | 2023.08.07 |
기본 선택자

id 선택자
와일드카드 : 전체 선택자

클래스 선택자
속성 선택자 : 특수 선택자
후손 선택자 : 특수 선택자
자식 선택자
반응 선택자
상태 선택자
구조 선택자
| [CSS] CSS 디자인 우선순위 (0) | 2023.08.09 |
|---|---|
| [CSS] 반응형 웹 이론 - 이미지 처리 (0) | 2023.08.09 |
| [CSS] 배경이미지 (0) | 2023.08.08 |
| [CSS] Box 기본속성 (0) | 2023.08.07 |
| [CSS] 폰트스타일 (0) | 2023.08.07 |
저장소(Git repository) - 파일이나 폴더를 저장해 두는 곳
# Git은 원격 저장소와 로컬 저장소 두 종류의 저장소를 제공합니다.
# 원격 저장소(Remote Repository) : github와 같은 전용 서버에서 관리되며 여러사람이 함께 공유하기 위한 저장소
# 로컬 저장소(Local Repository) : 내 PC에 파일이 저장되는 개인 전용 저장소

git을 사용하기 위해 반드시 기억해야 할 3 상태 - 논리적인 구분

Git bash를 사용해보자!

git 명령어
git init 명령어를 수행하면 숨겨진 폴더 .git이 생성됩니다. 이것을 저장소라고 하는데요, 깃은 이 폴더의 모든 변경 내용을 여기에 저장하게됩니다. 즉, .git 폴더를 지우면 더 이상 깃으로 폴더의 변경사항을 추적할 수 없습니다.
깃이 폴더의 현재 변경 상태를 보는 명령어입니다.

스테이징 된(add 취소) 파일을 취소할 수 있습니다.
* 폴더의 전체 변경 사항을 취소할 수도 있습니다.
깃이 폴더의 변경 내용을 저장하는 단위를 "커밋(commit)"이라고 부르는데, add 명령어 이후 Staging Area 상태에 등록된 파일들만 commit을 할 수 있고 명령어 실행 후에 Repository에 저장됩니다.
** 매번 변경사항을 스테이징하고 커밋 하는 것이 번거롭다면 -a 옵션을 사용하면 됩니다.
스테이징을 거쳐 커밋 한 결과를 로그(log)라는 형식으로 확인합니다.
** 많은 로그를 한 줄로 편하게 보기 위해서 --oneline 옵션도 자주사용합니다.
파일을 새로 생성 또는 작업 후 add, commit을 마치고 원격 저장소로 작업물을 공개할 수 있습니다.
원격 저장소에서 로컬 저장소로 소스나 변경된 파일을 가져오는 명령어입니다.
| [Git] Git 파헤치기 (0) | 2023.08.12 |
|---|---|
| [git] Git이란 무엇인가? (0) | 2023.08.07 |
우리가 Git을 사용해야 하는 이유?
- 소스코드나 작업물을 관리할 때 편하기 때문!
Git 이란 무엇일까?
Git은 분산형 버전관리 시스템이라고 합니다. (Distributed Version Control System)
그럼 버전관리 시스템이란 무엇일까요?
버전 관리 시스템(Version Control System), VCS
VCS는 사용자 프로젝트에 포함된 파일의 변경 내역을 추적할 수 있도록 하는 도구 또는 방법론을 말합니다.
■ 가장 단순한 버전 관리 시스템

소프트웨어 형상관리
SoftWare Configuration Management 줄여서 SCM이라는 단어를 쓰기도 하는데, SW 개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대한 형상을 만들고 이를 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동입니다. 형상관리는 일반적으로 version control, revision control, source control, source code management, SCM 등 동일한 의미로 사용합니다.
버전관리 시스템(VCS) vs 분산형 버전관리 시스템(DVCS)

▶ 기존 버전 관리 시스템은 중앙 서버에 소스코드와 history를 직접 저장하는 방식
▶ 분산 버전 관리 시스템은 여러 개발 PC와 저장소에 분산해서 저장하는 방식
중앙 집중식 버전관리 - SVN(Subversion)
▶ 각 개발자만의 version history를 관리할 수 없다.
▶ commit 한 내용에 실수가 있을 시에 서버에 (다른 개발자에게) 바로 영향을 미치게 되고 만약 중앙 서버에 문제가 발생한다면 협업이 불가능하다.
분산형 버전관리 - Git
▶ 모든 작업자가 원본을 가질 수 있다.
▶ 개별 histroy를 관리할 수 있기 때문에 네트워크를 사용하지 못하는 상황에서도 대부분의 작업 진행이 가능하다.
Git 과 GitHub는 다르다!
▶ GitHub는 마이크로소프트사의 웹 서비스 입니다.
▶ 분산형 버전관리 시스템(git)을 기반으로 소스코드를 호스팅하고, 협업기능을 지원하는 서비스, 소프트웨어 개발 플랫폼입니다.
| [Git] Git 파헤치기 (0) | 2023.08.12 |
|---|---|
| [git] git 저장소 만들기 / 명령어 (0) | 2023.08.07 |
배열(Array)이란?
연관된 데이터를 모아 통으로 관리하기 위해 사용하는 데이터 타입
앞에서 배웠던 변수는 하나의 데이터를 저장하기 위한 것이라면, 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이라 볼 수 있다.

// 1. 선언과 초기화
int [] arr1; // 변수의 선언 (int가 아니라 int 배열이다.)
arr1 = new int[2]; // 배열의 초기화는 반드시 크기를 먼저 지정해주어야 사용가능하다.
// 배열의 크기도 생각을 해보자
double[] arr2 = new double[2]; // 선언과 동시에 초기화
// 값을 넣는 방법
arr1[0] = 100;
arr1[1] = 1000;
// 모든 인덱스의 순서는 0번부터 시작한다.
System.out.println(arr1[1]); // 두번째 값 출력
System.out.println(arr1[0]); // 첫번째 값 출력
// 주의 : 배열의 길이와(크기) 인덱스의 번호는 다르다.
// 공식 : 배열의 인덱스 번호는 n-1
// 오류코드 : System.out.println(arr1[2]); // 배열의 길이는 2이나 인덱스는 0, 1 까지만 존재하기 때문에 2는 존재하지 않는다.
arr2[0] = 10.0;
arr2[1] = 20.0;
arr2[0] = 0.0;
System.out.println(arr2[1]);
System.out.println(arr2[0]);
// 변수는 크게 몇가지가 존재한다고 하였나요?
// 기본 데이터 타입, 참조 타입
char[] ch1 = new char[10]; // 기본 데이터 타입(연관된 데이터) >> 기본데이터 타입에는 값이 바로 들어감
ch1[0] = 'H';
ch1[1] = 'E';
ch1[2] = 'L';
String[] strings = new String[5]; // 참조 타입 >> 참조타입은 값이 들어가는 것이 아니라 '주소값'이 들어간다.
strings[0] = "안녕 반가워";
strings[1] = "안녕 반가워";
strings[2] = "안녕 반가워";
| [JAVA] 상속 (2) (0) | 2023.08.08 |
|---|---|
| [JAVA] 상속 (0) | 2023.08.08 |
| [JAVA] singleton 패턴 (0) | 2023.08.03 |
| [JAVA] static 변수 (0) | 2023.08.03 |
| [JAVA] 객체 자신을 가리키는 'this' (0) | 2023.08.02 |
| [HTML] 표 만들기 (0) | 2023.08.15 |
|---|---|
| [HTML] 서식/목록 태그 (1) | 2023.08.13 |
| [HTML] 미디어 삽입 (0) | 2023.08.03 |
| [HTML] 표 만들기 (0) | 2023.08.03 |
| [HTML] 순서가 있는 목록, 순서가 없는 목록 태그 (0) | 2023.08.02 |
video 삽입
미디어 파일 중 비디오 삽입 태그는 다음과 같습니다.
video(부모태그) > source(자식태그) scr="비디오경로" type="video/확장자"
video 속성 : width(가로크기), countrols(동영상 컨트롤 패널) -->

[실행결과]

audio 삽입
오디오 타입 삽입 태그는 다음과 같습니다.
<audio 속성 src="오디오 파일 경로" >
source src="오디오파일경로" type="audio/확장자

[실행결과]

image 삽입
이미지 타입 삽입 태그는 다음과 같습니다.

[실행결과]

| [HTML] 서식/목록 태그 (1) | 2023.08.13 |
|---|---|
| [HTML] 태그 요약 (0) | 2023.08.03 |
| [HTML] 표 만들기 (0) | 2023.08.03 |
| [HTML] 순서가 있는 목록, 순서가 없는 목록 태그 (0) | 2023.08.02 |
| [HTML] 텍스트 폰트 태그 (0) | 2023.08.02 |
html에서 표를 생성하기 위한 명령어 <table>명령어와 <thead>, <tr> ,<th> 명령어가 있습니다.
사용법은 먼저 table 명령어를 입력하고 그 안에 thead(제목태그) thead 안에 tr(행 생성) tr태그 안에 th(열 생성) 명령어를 사용합니다.

위 예제 처럼 2행 6열 짜리 표를 만들기 위해서는 위의 코드처럼 작성해주시면 됩니다.
| [HTML] 태그 요약 (0) | 2023.08.03 |
|---|---|
| [HTML] 미디어 삽입 (0) | 2023.08.03 |
| [HTML] 순서가 있는 목록, 순서가 없는 목록 태그 (0) | 2023.08.02 |
| [HTML] 텍스트 폰트 태그 (0) | 2023.08.02 |
| [HTML] 기본단축키 및 실습 (0) | 2023.08.01 |
싱글톤 패턴
애플리케이션 전체에서 단 한 개의 객체만 생성해서 사용하고 싶다면 싱글톤 패턴을 적용할 수 있다.
싱글톤 패턴의 핵심은 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없게 막는 것이다.
다음은 싱글톤 패턴의 전체 코드를 보여준다.
public class Singleton {
// private 접근 권한을 갖는 정적 필드 선언과 초기화
private static Singleton singleton = new Singleton(); ------------------------------------- (1)
// private 접근 권한을 갖는 생성자 선언
private Singleton() {
}
// public 접근 권한을 갖는 정적 메소드 선언
public static Singleton getInstance () { -------------------------------------------------------(2)
return singleton;
}
}
(1)에서는 자신의 타입으로 정적 필드를 선언하고 미리 객체를 생성해서 초기화시킨다. 그리고 private 접근 제한자를 붙여 외부에서 정적 필드 값을 변경하지 못하도록 막는다.
(2)에서는 정적 필드값을 리턴하는 getInstrance() 정적 메소드를 public으로 선언하였다.
외부에서 객체를 얻는 유일한 방법은 getInstance() 메소드를 호출하는 것이다. getInstance() 메소드가 리턴하는 객체는
정적필드가 참조하는 참조하는 싱글톤 객체이다.
따라서 아래 코드에서 변수 1(obj1)과 변수 2(obj2)가 참조하는 객체는 동일한 객체가 된다.
Singleton obj1 = Singleton.getInstance();
Singleton obj2 = Singleton.getInstance();

// 같은 주소값을 갖는지 확인
System.out.println(obj1);
System.out.println(obj2);
ex_06.Singleton@6f2b958e
ex_06.Singleton@6f2b958e
==== 같은 주소값임을 확인
[예제]
public class Company {
// 싱글톤 패턴으로 설계하는 방법
// heap 메모리에 오직 객체가 하나만 존재해야 될 경우 사용가능하다.
// 1. 생성자는 private으로 선언해야한다.
private Company() {}
// 2. 클래스 내부에 유일한 private 인스턴스를 객체를 생성
private static Company instance = new Company(); // 선언과 동시에 초기화
// 3. 외부에서 유일한 instance 변수에 접근할 수 있는 메서드를 제공해야한다.
public static Company getInstance() {
if(instance == null) {
instance = new Company();
}
return instance;
}
} // end of class
public class CompanyMainTest {
public static void main(String[] args) {
// 1.
// 생성자를 private로 선언했기 때문에
// 기본 생성자로 호출할 수 없다.
// Company company = new Company();
// 2.
// Company.instance -> 접근 제어 지시자가 private 이다.
// 3.
// 외부에서 유일하게 Company 객체 주소값에 접근할 수 있는 메서드
Company naver = Company.getInstance();
Company tenco = Company.getInstance();
System.out.println(naver);
System.out.println(tenco);
Company mata = Company.getInstance();
System.out.println(mata);
} // end of main
} // end of class

| [JAVA] 상속 (0) | 2023.08.08 |
|---|---|
| [JAVA] 배열 (0) | 2023.08.04 |
| [JAVA] static 변수 (0) | 2023.08.03 |
| [JAVA] 객체 자신을 가리키는 'this' (0) | 2023.08.02 |
| [JAVA] 접근제어지시자 (0) | 2023.08.01 |
공통으로 사용하는 변수가 필요한 경우

static 변수 선언과 사용하기
필드와 메소드는 모두 정적(static) 멤버가 될 수 있다. 정적 필드와 정적 메소드로 선언하려면 static 키워드를 사용한다.


예를 들어 은행에서 사용하는 번호표를 출력하는 프로그램을 만든다고 생각해보자.
만약 두대 이상의 번호표 출력 프린트를 사용한다고 가정했을 때,
1번 프린터에서 번호표를 출력하고 2번 프린터에서 출력한다고 생각하면
번호가 차례대로 갱신이 되면서 출력이 되어야 한다.

[출력결과]
1 번 기기의 대기 순번은 : 1
1 번 기기의 대기 순번은 : 2
1 번 기기의 대기 순번은 : 3
1 번 기기의 대기 순번은 : 4
1 번 기기의 대기 순번은 : 5
1 번 기기의 대기 순번은 : 6
=======================
2 번 기기의 대기 순번은 : 7
2 번 기기의 대기 순번은 : 8
2 번 기기의 대기 순번은 : 9
2 번 기기의 대기 순번은 : 10
2 번 기기의 대기 순번은 : 11
2 번 기기의 대기 순번은 : 12
이처럼 대기순번을 공통적으로 공유하기 위해 static 변수를 사용하는 것을 알 수 있다.
즉, static 변수는 인스턴스에서 공통적으로 사용하는 영역임을 알 수 있다.

| [JAVA] 배열 (0) | 2023.08.04 |
|---|---|
| [JAVA] singleton 패턴 (0) | 2023.08.03 |
| [JAVA] 객체 자신을 가리키는 'this' (0) | 2023.08.02 |
| [JAVA] 접근제어지시자 (0) | 2023.08.01 |
| [JAVA] this 키워드 (0) | 2023.08.01 |
this 가 하는 일


| [JAVA] singleton 패턴 (0) | 2023.08.03 |
|---|---|
| [JAVA] static 변수 (0) | 2023.08.03 |
| [JAVA] 접근제어지시자 (0) | 2023.08.01 |
| [JAVA] this 키워드 (0) | 2023.08.01 |
| [JAVA] 참조 자료형 변수 (0) | 2023.08.01 |