일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 리눅스
- X.org
- 자바
- 리눅스 마스터 1급
- preprocessing
- systemd
- Polymolphism
- Entity Set
- Entity
- OOP
- X윈도우
- literal
- descriptive statistics
- External Scheme
- Unity
- Operator
- selenium
- Inheritance
- Class
- 백준
- Reference Type
- python
- dbms
- Physical Scheme
- Mac
- 셀레니움
- Binary Search
- spring
- Java
- Today
- Total
목록Programming Language (44)
Byeol Lo
모든 프로그래밍 언어는 자원을 관리하는 방법, 코드, 컨벤션을 제공한다. 해당 포스트은 데이터를 저장하는 방법을 알아본다. Variables (변수) 선언 방법은 다음과 같다. type identifier; 변수의 type을 먼저 써주고 변수의 이름을 써준다. Java는 Python과는 다르게 Statement의 마지막에 Instruction의 끝남을 의미하는 ;을 붙여주어야 한다. 해당 선언은 RAM의 어떤 공간을 지칭하게 되는 이름이 붙어지며, type에 따라 그 space의 size가 달라진다. identifier 에 들어갈 변수 이름은 해당 데이터가 어떤 데이터인지 직관적이고 제 3자가 봐도 알 수 있도록 이름을 지어준다. 그리고 모든 변수의 이름을 지으려고 할 때는 다음 rules를 따르도록 한..
Java의 소개에 앞서 사전 개념들을 먼저 소개한다. Machine Language 오로지 Machine만 읽을 수 있는(readable) 코드이다. 특징으로는 Binary(0 or 1)로 되어 있으며, CPU만 오로지 이 코드들을 이해할 수 있는 언어이다. Programming Language 사람들이 읽을 수 있는 코드들을 프로그래밍 언어라고 부른다. 컴퓨터에게 명령을 하려면 Machine Language를 써야 하는데, 우리는 이에 대해 정확히 알지 못할 뿐더러 쓰기 난해하고 복잡하다. 따라서 우리는 Machine 과 Human을 이어주는 하나의 의사소통 수단인 Programming Language를 쓰게 된다. 따라서 Bridge between a machine and a human이라고 할 수 ..
java의 IDE(integrated development environment)로는 Intellij가 주로 쓰인다. 물론 language에 상관없는 VSC를 쓰는게 더 좋을 수 있지만, java에 특화된 환경이어서 관련 기능들을 많이 제공해준다. Intellij 공식 홈페이지에 들어가서 Community Edition을 다운받아준다. MacOS는 설치파일이 .dmg로 되어 있다. 파일을 실행시키면 기본적으로 설치 위치, 기본 자바 환경 변수 세팅을 지정한다. ( 후에 설정을 따로 할 수 있으니 Next만 눌러줘도 된다. ) 해당 화면의 좌측 메뉴에는 역할 별로 Projects, Customize, Plugins, Learn이 보이게 된다. Projects는 말 그대로 어떠한 프로세스들을 모아놓은 업무,..
우테코를 준비하면서 어떤 비즈니스 문제들을 해결하는데에 있어 많은 고려사항이 요구됨을 뼈저리게 느꼈다. 느낀점들이 많이 있지만 다 적을 수는 없기에 하나하나 적어나가 보려고 한다. 모든 내용은 저의 주관적인 생각임을 명시한다. 패키지 나누기 패키지 나누는 기준에 대한건 사람마다 각자 틀린 것 같다. 어떤 문제 유형이냐에 따라 갈리는데, 보통 웹사이트 구조면 MVC 패턴을 따르는 듯하고, 어떤 프로그램이라면 보통 Domain, Service, Controller 등을 기본적으로 가져가고, 거기에 더 추가하는 형태인듯 하다. 특히 Service는 비즈니스 로직의 트랜잭션 부분을 담당하고, 모든 객체들에서 활용할 수 있도록 작성해야 하고, 되도록 내장함수들만 import 하여 사용하는 편이 좋다. 패키지를 나..
우선 해당 영상을 참고했고, 내용을 정리했습니다. Junit5은 단위테스트를 작성하기 위해 Java 8 이상의 버전에 제공되는 프레임워크이다. Junit4는 하나의 jar 파일로 되어있었지만, Junit5 부터 Junit4에 포함한 jar파일의 수정된 부분과 2가지의 모듈을 더해 3가지의 모듈이 제공된다. Platform은 테스트 코드를 실행해주는 런처를 제공한다. 그 위에 올라와 있는 Jupter는 Junit5를 지원하는 TestEngine API 구현체이고, Vintage는 Junit 4와 3을 지원하는 TestEngine 구현체이다. 즉, Junit5로 작성한 테스트인 경우 Jupiter로, 3, 4의 경우에는 Vintage로 동작된다. Junit5를 시작하려면, 우선 스프링 부트 2.2버전 이상부..
Refactoring : 결과는 그대로 하고, 내부 처리 과정을 바꾸는 것. Web publisher : 우리나라에서만 사용하는 단어로, 웹 디자이너가 디자인한 것을 웹 표준성과 접근성에 부합하도록 재정리하는 것, 작업의 목적을 어디에 두고 일하는지에 따라 Front end와 차별이 있다. HTML, CSS 사용은 물론이고, Js를 통해 UI의 움직임이나 화면에 보여지고 사라지는 시각적인 부분을 대부분 수행함. Front End : HTML, CSS와 js를 통해 디자인을 보고 가장 먼저 서버와 어떻게 통신을 하고, 데이터를 어떤 형식으로 가공하고, 나타낼지 에 대해 구현하고, node.js를 통해 통신함. Convention : 어떤 작업을 수행함에 있어서 다른 사람들이 알아볼 수 있도록 하는 내용 (..
정렬에는 두 가지의 유형으로 나눌 수 있는데 하나는 Stable이고, 다른 하나는 In-place가 있다. Stable Sorting 어떤 배열을 정렬했을때, 같은 값들은 그 값들 내에서 배열의 순서에 맞게 정렬되는 것, 즉 어떤 a는 2번째에 있고 b는 5번째에 있다고 치자. a와 b에 들어있는 값이 같으면, a, b로 정렬되는 것을 말한다. b, a로 정렬되면 Unstable Sorting이라고 한다. Sep Example Stable Sorting Insertion Sort Merge Sort Bubble Sort Counting Sort Unstable Sorting Selection Sort Heap Sort Shell Sort Quick Sort In-place Algorithm 원소들의 개수..
현실에서 상속이라는 것은 부모의 자산을 자식이 대신 물려받는 것이다. 객체 지향 프로그램에서도 상속이라는 개념이 사용된다. 클래스 간의 부모 자식의 관계를 명시할 수 있다. 프로그램에서는 부모 클래스를 상위 클래스라고 부르기도 하고, 자식 클래스를 하위 클래스라고 부르기도 한다. 다음은 extends 를 사용해 B를 A에 상속시키는 예제이다. // A.java pubilc class A { int field1=100; void main() { } } // B.java public class B extends A { void main() {} } // App.java public class App { public static void main(String[] args) { B b = new B(); Sys..
프로그램에 구현에 있어서 필요한 객체(부품)을 먼저 개발(생산)하고 이 객체(부품)들을 하나씩 조립해서 완성된 객체(부품)을 만드는 기법(방법)을 객체 지향 프로그래밍 이라고 한다. 객체(Object) 물리적으로 존재하거나, 추상적 논리적으로 생각할 수 있는 것 중에서 자신의 속성(값)을 가지고 있고, 동작(함수)할 수 있는 것. 자바에서는 속성과 동작들을 각각 필드 field 와 메소드 method 라고 부르고, 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링 (Object Modeling) 이라고 한다. 현실 세계는 모든 객체들이 서로 상호작용 하에 흘러가고 있다. 소프트웨어도 마찬가지이다. 객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용 하면서 동작한다. 객체들 사이의..
데이터 타입에는 크게 기본 타입, 참조 타입이 있는데, 서로간의 선언된 변수들은 차이가 있다. primitive 타입으로 선언된 변수는 실제값을 변수 안에 저장하지만, 참조 타입인 배열, 열거, 클래스, 인터페이스를 이용해서 선언된 변수는 메모리의 번지를 값으로 갖는다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부른다. 변수들은 스택영역에 생성되고 객체는 힙 영역에 생성되는데, 참조 타입 변수가 100번지 주소를 가지고 있는것 자체는 스택 영역에 있는 것이고 스택 영역의 값을 읽어서 힙영역의 객체에 접근하게 된다. 참조타입을 알아보기 전에 우선 JVM이 사용하는 메모리 영역을 알아보자. java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Ar..