1. Windows Subsystem for Linux (WSL) 활성화

Windows에서 bash를 사용하려면 **Windows Subsystem for Linux (WSL)**을 활성화해야 합니다. WSL은 Windows에서 Linux 배포판을 실행할 수 있도록 해주는 기능입니다.

WSL 설치 방법:

  1. WSL 활성화:
    • 관리자 권한으로 PowerShell을 실행한 후, 아래 명령어를 입력하여 WSL을 활성화합니다.
    wsl --install

  2. WSL 설치 확인:
    • WSL이 정상적으로 설치되었는지 확인하려면 PowerShell에 다음 명령어를 입력하세요:
    wsl --list --verbose

  3. Linux 배포판 설치:
    • WSL을 통해 Ubuntu와 같은 Linux 배포판을 설치합니다. Microsoft Store에서 원하는 배포판을 검색하고 설치한 후, 터미널에서 bash 명령을 실행할 수 있습니다.

2. Git Bash 사용

만약 WSL을 사용하지 않거나 설정이 복잡하게 느껴진다면, Git Bash를 사용할 수도 있습니다. Git Bash는 Windows에서 bash 명령어를 사용할 수 있도록 도와주는 프로그램입니다.

Git Bash 설치 방법:

  1. Git 공식 웹사이트에서 Git을 다운로드하여 설치합니다.
  2. 설치 후, Git Bash를 실행하면 bash 명령어를 사용할 수 있습니다.

3. 환경 변수 확인

만약 WSL 또는 Git Bash가 이미 설치되어 있고 여전히 bash 명령이 인식되지 않는다면, 환경 변수에 문제가 있을 수 있습니다. 환경 변수 PATH에 bash 명령어의 경로가 포함되어 있는지 확인해 보세요.

  • 환경 변수 확인:
    1. Windows 검색창에 "환경 변수"를 입력하고 시스템 환경 변수 편집을 클릭합니다.
    2. 환경 변수(N)... 버튼을 클릭한 후, 시스템 변수에서 Path를 선택하고 편집을 클릭합니다.
    3. WSL 또는 Git Bash의 설치 경로가 포함되어 있는지 확인합니다.

4. PowerShell 사용

bash가 아니라 PowerShell을 사용하는 것도 한 가지 방법입니다. PowerShell에서는 Linux의 bash와 유사한 명령어를 사용할 수 있습니다. 예를 들어, ls, cd, rm, cp 등의 명령어가 모두 작동합니다.

결론:

  • WSL을 활성화하여 Linux 환경을 사용할 수 있습니다.
  • Git Bash를 설치하여 bash 명령어를 사용할 수 있습니다.
  • 환경 변수 문제를 확인하거나 PowerShell을 사용하는 방법도 있습니다.

'Study > Tech' 카테고리의 다른 글

세션(session)  (0) 2024.07.01
객체, 클래스, 인스턴스  (0) 2024.07.01
[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06

세션(session)이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법

사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점

 

세션은 서비스가 돌아가는 서버 측에 데이터를 저장

세션의 키값만을 클라이언트 측에 남겨둠

브라우저는 필요할 때마다 이 키값을 이용하여 서버에 저장된 데이터를 사용하게 된다.

 

 

 

 

'Study > Tech' 카테고리의 다른 글

[윈도우] bash 명령어 ( feat. GPT )  (0) 2025.02.21
객체, 클래스, 인스턴스  (0) 2024.07.01
[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06

객체(Object)는 소프트웨어 세계에 구현할 대상이고,
이를 구현하기 위한 설계도가 클래스(Class)이며, 
이 설계도에 따라 소프트웨어 세계에 구현된 실체가 인스턴스(Instance)이다.

'Study > Tech' 카테고리의 다른 글

[윈도우] bash 명령어 ( feat. GPT )  (0) 2025.02.21
세션(session)  (0) 2024.07.01
[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06
  • 1.형용사 (변화·움직임이 없이) 고정된[고정적인]
  • 2.형용사 정지 상태의
  • 3.명사 (수신기의) 잡음
  • 4.명사 정전기

자바에서 사용되는 용어는 '정적인', '고정적인'에 해당된다.

 

static 맴버들의 특징

- 메모리에 고정적으로 할당

- 객체 생성 없이 사용할 수 있다

- static 메모리 내에서는 인스턴스 변수를 사용할 수 없다

- 한번 메모리에 올라가면 메모리의 static 영역에 적재되고, 프로그램이 종료될때 해제된다(가비지 콜랙터 영역 밖)

 

사용처

 인스턴스를 생성할 경우 각각의 인스턴스는 서로 다른 메모리 주소값을 참조하고 있기 떄문에 독립적이다.

 그렇기 때문에 static 키워드는 인스턴스들이 공통적으로 값을 유지해야할 때 사용

 -> 프로그램 전역에 사용되는 유일한 클래스를 만들 때

 

'Study > Tech' 카테고리의 다른 글

세션(session)  (0) 2024.07.01
객체, 클래스, 인스턴스  (0) 2024.07.01
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06
데이터베이스 정규화 과정  (0) 2024.06.06

정렬의 종류

1. 선택정렬(Selection Sort)

2. 삽입정렬(Insertion Sort)

3. 버블정렬(Bobble Sort)

4. 병렬정렬(Merge Sort)

5. 힙 정렬

6. 퀵 정렬(Quick Sort)

7. 기수정렬(Radix Sort)

 

 

 

'Study > Tech' 카테고리의 다른 글

객체, 클래스, 인스턴스  (0) 2024.07.01
[JAVA] static  (0) 2024.06.19
자바 컬렉션 종류와 특징  (0) 2024.06.06
데이터베이스 정규화 과정  (0) 2024.06.06
MVC 패턴  (0) 2024.06.04

 

컬랙션은 데이터의 집합을 말한다.

그리고 집합, 배열 같은 것을 효율적으로 관리할 수 있는 자료구조이다.

 

종류로는 Set, List, Queue, Map 이 있다.

 

Set은 유니크한 데이터를 가집니다.

- HashSet: 가장빠른 접근 속도를 가지고 있습니다.

 

List는 데이터의 중복을 허용하고 동일한 객체를 저장하는 경우 같은 주소를 참조합니다

LinkedList, Vector, ArrayList의 구현클래스를 가지고 있는데

보통 Vector는 무거워서 사용되지 않는다고 사장되었고 ArrayList를 주로 많이 사용합니다

 

Map은 키와 벨류로 이루어진 한쌍의 자료형입니다. 키의 중복이 허용되지 않고 순서도 없습니다.

HashTable, HashMap, TreeMap이 있는데 보통 HashMap을 주로 사용합니다.

테이블과 맵의 차이로는 테이블은 null입력이 불가능하지만 맵은 가능하다는 것으로 알고있습니다.

 

'Study > Tech' 카테고리의 다른 글

[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
데이터베이스 정규화 과정  (0) 2024.06.06
MVC 패턴  (0) 2024.06.04
암/복호화 방식  (0) 2024.06.04

데이터베이스의 정규화란,

기본적으로 중요한 원칙으로는 속성, 개체, 관계성을 파악하여 관계를 구성하고

불필요한 데이터의 중복이 발생하지 않도록 개체 값들이 원자단위로 나누는 것입니다

 

정규화함으로서 자료의 저장공간을 최소화하고 자료 불일치를 최소화하여

구조를 안정화하고 이상을 방지합니다

 

과정은 다섯 단계로 나누어져 있으며

 

비정규형으로부터 

1. 제1정규형(First Normal Form: 1NF) : 원자값이 아닌 도메인 분해

2. 제2정규형(2NF) : 부분함수 종속제거

3. 제3정규형(3NF) : 이행함수 종속제거

4. 보이스 코드 정규형(Boyce-code Normal Form: BCNF) : 결정자가 후보키가 아닌 함수 종속 제거

5. 제4정규형(4NF) : 다중치 종속 제거

6. 제5정규형(5NF) : 후보키를 통하지 않은 조인 종속 제거

 

단계를 거친다.

 

 

'Study > Tech' 카테고리의 다른 글

[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06
MVC 패턴  (0) 2024.06.04
암/복호화 방식  (0) 2024.06.04

디자인패턴중에 하나로

모델(Model), 뷰(View), 컨트롤러(Controller)의 약자가 합친것입니다

디자인패턴은 소프트웨어 설계와 아키텍처를 위한 디자인 과정에서 자주 발생하는 문제들에 대한 일반적인 해결책들입니다.

코드에서 반복적으로 되풀이되는 디자인 문제들을 해결하기 위해

좀 더 쉽고 편리하게 맞춤화할 수 있는 설계도를 정해놓은 방식입니다.

 

어플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다

 

컨트롤러로 조작하고 모델을 통해서 데이터를 가져온 뒤 그 정보를 바탕으로 뷰로 사용자에게 전달합니다.

 

* 모델(Model)은 정보, 데이터를 나타냅니다.

데이터베이스, 상수, 초기화값 변수 등을 뜻하며 정보들의 가공을 책임지는 컴포넌트를 말합니다.

사용자가 편집하길 윈하는 모든 데이터를 가지고 있어야 합니다.

데이터 저장소와 상호작용, 데이터 유효성 검사와 같은 작업을 합니다.

 

* 뷰(View)는 객체의 입력값을 사용자들이 볼 수 있는 화면입니다.

간단하게 데이터를 받으면 화면에 표시해주는 역할만 가집니다.

또한 입력을 컨트롤러에 전달합니다.

 

* 컨트롤러(Controller)는 사용자가 요청하는 이벤트에 대해 처리하는 부분입니다.

모델과 뷰를 연결하는 다리 역할이며 메인 로직을 담당합니다.

적절한 모델 기능들을 호출할 수 있습니다.

 

 

- 설계원칙?

 

각 구성 요소의 역할과 책임을 명확하게 구분

구성 요소간의 결합도 최소화

코드 재사용성과 확장성을 고

 

 

- 왜 사용하나?

 

사용자가 보는 페이지, 데이터처리, 컨트롤

위와 같은 세가지 구성요소로 각자 맡은바 업무에 집중할 수 있게됩니다.

서로의 역할을 분리하고 집중할 수 있게하여 유지보수, 확장성, 유연성이 증가하기 때문에 사용합니다.

 

 

- MVC패턴의 의의?

 

MVC패턴은 어떻게하면 효율적이고 편리하게 업무를 분담하고 향상성을 가질 수 있을까의 해답중에 하나.

 

 

 

 

'Study > Tech' 카테고리의 다른 글

[JAVA] static  (0) 2024.06.19
정렬의 종류  (0) 2024.06.06
자바 컬렉션 종류와 특징  (0) 2024.06.06
데이터베이스 정규화 과정  (0) 2024.06.06
암/복호화 방식  (0) 2024.06.04

+ Recent posts