Programming(37)
-
[Java] 정규표현식
[Java] 정규표현식 프로젝트를 진행하면서 입력해서 들어오는 값이 규격에 맞는 값인지 확인하기 위해 사용, 프로젝트 진행 시에는 급하게 검색해서 나오는 자료를 바탕으로 진행했다. 또한 문자열을 다루는 몇몇 알고리즘의 경우 해당 정규표현식을 사용하여 접근을 하기도 한다. 다시 익히려고 하는데 생각보다 해당 문법방식이 익숙하지 않아 머리에 잘 들어오지 않았다. 미루고 미루다가 공부하고 정리할겸 포스팅 시작 정의 정규 표현식 - regular expression - regexp / regex / rational expression 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 사용 프로그래밍 언어에서 대부분의 언어가 라이브러리를 통해 해당 기능을 제공 형식 언어 - 특정한 규칙을 가진 문자..
2022.12.27 -
[Java] Thread / Thread 클래스, Runnable 인터페이스 이용
[Java] Thread [Operate System] Thread (tistory.com) [Operate System] Thread Thread 스레드 - 프로세스 내에서 프로세스의 자원을 이용하는 여러 실행 흐름의 단위이다. 스레드는 프로세스 내의 Code, Data, Heap 영역은 다른 스레드와 공유하고 stack의 영역은 따로 할당 받음 프 skyriv312079.tistory.com 이전에 스레드를 정리한 것을 이용해서 Java로 다시 학습해보았다. Thread 자바에서 스레드를 작성하는 방법은 2가지가 존재한다. Thread 클래스 상속으로 이용 Runnable 인터페이스 이용 이 두가지를 하나 씩 해보려고 한다. Thread - Thread 클래스 이용 Thread 클래스를 상속받아 사용..
2022.12.03 -
[Basic] UML
[Basic] UML 이번에 미니 프로젝트를 진행하면서 UML 다이어그램이라는 항목의 필요성을 느끼게 되어서 학습하게 되었다. UML - Unified Modeling Language 통합 모델링 언어 시스템적인 측면을 모델로 표현하여 시각적으로 보여주는 대표적인 모델링 언어 시스템 설계자와 개발자가 응용프로그램을 이해, 협업, 개발을 용이하게 해 준다. 해당 UML을 먼저 설계를 하고 작업을 들어가면 어떤 메서드가 존재하는지 어떤 구조로 설계를 할 건지에 대해 알 수가 있고 팀원들과 머릿속에 구성하려는 프로젝트의 모양을 그려 넣고 시작할 수 있다는 장점이 존재한다. UML 다이어그램의 종류와 관계 표현 UML 다이어그램이 클래스 다이어그램 하나만 있는 줄 알았는데 보니까 여러 가지의 다양한 다이어그램이..
2022.12.01 -
[Java] Java와 JVM
[Java] Java와 JVM Java를 사용을 하면서 Java가 어떻게 코드를 인식하고 실행하는지에 대해 학습하는 시간을 가지게 되었다. 해당 글은 그 내용들을 정리하면서 작성하게 되었다. 프로그래밍 언어 프로그래밍 언어 - 컴퓨터가 실행할 프로그램을 작성하는 언어이다. 이때 CPU는 기계어 - 이진수(binary code)인 0과 1만 이해가 가능하다. 그렇지만 사람이 기계어로 직접 프로그램을 작성하는 것은 어려운 일이기에 기계어를 ADD / SUB / MOVE 등의 상징적인 기호로 1대 1 대응을 한 어셈블리어가 등장하게 된다. 다만 이 어셈블리어 또한 사람이 직접 다루기는 어렵기에 C / C++ / Java 등의 이해하고 표현하기 쉬운 언어가 등장하게 되는데 이러한 언어를 고급 언어라고 한다. 이..
2022.11.30 -
[Python] n진법 변환
[Python] n진법 변환 알고리즘 문제풀이를 하다가 3진법 변환의 문제를 만났다. 해당 경우 기존 진법의 정의를 사용하여 변환하였으나 파이썬에는 유용한 진수 변환 메서드들이 존재하기에 이를 정리하기 위해 글을 작성하게 되었다. 기수법 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 기수법 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 진법은 여기로 연결됩니다. 군사 용어에 대해서는 진법 (군사) 문서를 참고하십시오. 기수법(記數法, numeral system)은 수를 시각적으로 나타내는 방법으로, 기수 ko.wikipedia.org 10진수 → n진법 10진법의 수를 x진법으로 변환할 때 쓰는 방법이다. 첫번째는 while문을 돌려 주어진 n이 0이 될 때까지 ..
2022.11.24 -
[Java] 객체지향설계 - SOLID
[Java] 객체지향 설계 - SOLID 객체 지향 설계, 우리가 사는 세상을 객체들끼리의 상호작용으로 보고 이를 프로그래밍 적으로 설계하여 표현을 하는 것이다. 이러한 것을 객체지향 설계라고 하며 해당 설계를 진행할 때 지켜져야 하는 5개의 원칙이 존재한다. 그리고 이 원칙을 SOLID 원칙이라고 하며 오늘은 이에 대해 공부한 내용들을 정리하고자 한다. SOLID 원칙 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용해서 설계를 진행하면 된다. 원칙들은 각 원칙의 앞글자를 따와서 가져왔으며 아래와 같다 SRP : 단일 책임 원칙 (Single responsebility principle) 하나의 클래스는 하나의 책임만 가져야 한다. OCP : 개방 폐쇄..
2022.11.21