본문 바로가기

CS120

Use case 의 종류 3가지 ( Brief, Casual, Fully dressed ) Formats of use cases Use case format에는 3가지 포맷이 존재하며 그 종류는 다음과 같다. - Brief - Casual - Fully dressed Brief - 간결한 요약 문 - 보통은 주된 성공 케이스에 대해서 요약된 내용을 포함한다. Casual - 격식없이 작성 된 paragraph format - 다양한 시나리오를 설명하기 위해 여러개의 단락으로 정리되기도 한다. Fully dressed - 모든 단계의 설명을 포함한다. - 각 조건에 대한 모든 사항을 설명하며 다양한 상황을 커버한다. 2022. 4. 6.
[디자인패턴] Singleton pattern (싱글톤 패턴) 의 Java 코드구현 예시 - 단일 스레드 환경 싱글톤 패턴의 목적 클래스에서 생성되는 인스턴스를 항상 하나로 유지할 수 있게 보장하기 위해 사용하는 패턴 싱글톤 패턴 코드 아래는 Java 를 이용한 가장 기본적인 싱글톤의 구현이다. public class MySingleton { private static MySingleton ms; private MySingleton() {} public static MySingleton getInstance() { if ( ms == null ) { ms = new MySingleton(); } return ms; } } 단일 스레드 환경에서는 위에 있는 코드를 사용해도 무리없이 동작한다. 다만, 다중 스레드 환경에서는 인스턴스를 저장하는 ms 가 null 임을 체크하는 과정에서 문제가 발생한다. 아래의 조건문을.. 2022. 4. 5.
[CS/SW설계] Object oriented development - 객체지향 개발의 개념 1 객체 지향 개발의 개념 이전 포스팅에 이어서 객체지향 개발의 개념에 대해 알아봅니다. 2022.03.24 - [CS] - [CS/SW설계] Basic principles of object oriented - 객체지향의 기본 원리에 대해 Software development 객체지향 개발을 알아보기 전에 우선 Software development (소프트웨어 개발) 이 무엇인지에 대해 생각을 해봐야 합니다. 소프트웨어 개발이라는 것은 아래와 같이 정의할 수 있겠습니다. "Solving problems with software in computer" 컴퓨터 소프트웨어를 가지고 문제를 해결하는 것 즉, 현실에서의 문제를 컴퓨터 프로그램을 만들어 실행함으로써 해결하는 것을 의미합니다. 이 과정에서 크게 3가지 .. 2022. 3. 25.
[CS/SW설계] Basic principles of object oriented - 객체지향의 기본 원리에 대해 Object oriented 의 기본 원리 객체지향 설계의 기본원리는 5가지로 구성되어 있습니다. 1. Abstraction 2. Encapsulation 3. Inheritance 4. Polymorphism 객체지향의 특징이라고 표현하기도 하는데요, 객체지향 프로그래밍 언어를 이용하여 SW를 구현 시 추상화, 캡슐화, 상속, 다형성, 구성 관계를 띄게 됨을 의미합니다. 이런 원리를 기반으로 구현 된 Software를 우리는 객체지향 소프트웨어라고 말할 수 있을 것입니다. 추상화 추상화는 관련있는 정보는 그대로 두고, 관련없는 내용을 지우는 특성입니다. 달리 말하면, 관련정보들은 조금 더 강조해서 표현하고, 크게 중요하지 않은 정보들은 요약해 버리는 것을 의미합니다. 자동차를 예로 들어보면 관련정보는 .. 2022. 3. 24.
윈도우 에서 리눅스처럼 hosts 를 바꾸는 방법 - hosts file in Windows 10 안녕하세요 warehouse입니다. 오늘은 윈도우 10에서 hosts 파일을 변경하는 방법을 알아보겠습니다. hosts 경로 보통 리눅스는 보통 아래에 경로에 있을텐데요 $ cat /etc/hosts 윈도우 10 에서 hosts 파일의 경로는 다음과 같습니다. C:\windows\system32\drivers\etc\hosts hosts의 수정 윈도우 에서 hosts 파일을 수정하는 방법은 다음과 같습니다. 1. 윈도우 키 + R 윈도우 키와 R을 같이 누르면 아래와 같이 실행창이 나타납니다. 실행 창에서 앞에서 알려드린 경로를 열어줍니다. 2. hosts 파일 편집 여기서 사용할 앱으로 메모장을 선택 후 확인버튼을 눌러줍니다. 3. hosts 내용 편집 이제 내용을 편집합니다. 아래 예시에서는 192... 2022. 3. 23.
gcov를 이용한 C++ 코드 커버리지의 확인, 테스트 지표 사용하기 개요 최근에서야 코드 커버리지에 대한 필요성이 언급되고 있습니다. 사실 이 개념은 정말 오래 된 개념이고 gcov 도 정말 엄청 오래전부터 사용되던 툴 입니다. 개발을 서두르다보니 이런 부분까지 신경을 미처 쓰지 못하고 있었는데, 시켜서 한 일이기는 하지만 그래도 프로젝트에 어떻게 적용해야 할 지 가늠을 잡게 된 것 같습니다. Code coverage 코드 커버리지는 이전 포스팅에서 간략하게 나마 정리해 둔 글이 있다. 2022.01.10 - [CS] - [CS] 코드커버리지(Code coverage) 란? [CS] 코드커버리지(Code coverage) 란? 정의 화이트 박스테스트에서 테스트가 코드를 포함하는 수준을 지표화한 정보 유형 - function coverage - statement cover.. 2022. 3. 18.
도커 볼륨 (Docker volume) 명령어를 활용한 데이터 보존 방법 docker volume을 이용한 데이터 보존 안녕하세요 warehouse입니다. 오늘은 예전 포스팅에 이어서 도커볼륨 활용방법에 대해 다뤄보려고 합니다. 2022.03.06 - [CS/Docker] - [CS/Docker] 도커 볼륨 - Docker volume [CS/Docker] 도커 볼륨 - Docker volume 2022.02.25 - [CS/Docker] - [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 이번에는 docker 명령어를 이용 armin.tistory.com 도커볼륨을 활용하는 방법으로 docker volume 명령어를 사용할 수 있습니다. 이는 도커 자체에서 제공하.. 2022. 3. 17.
docker container 를 이용한 mysql기반 wordpress 로 블로그 만들기 2 - MAC book 에서 다시 실행한 docker desktop 안녕하세요 warehouse입니다. 이전에 실패했던 wordpress 로 블로그 만들기.. [CS/Docker] mysql기반으로 동작하는 wordpress 만들어 보기 1 안녕하세요 Warehouse 입니다. 오늘은 도커를 이용해서 mysql, wordpress image를 켜서 블로그를 생성 해 봤습니다. Docker 책과 강의를 시작하면서 Mysql 기반 word process를 만들어 보다 요즘 C++ 과 Python.. armin.tistory.com 윈도우 도커 환경의 문제인지.. 잘 모르겠어서 부랴부랴 맥북에 docker desktop을 설치하고 다시한번 시도해 봤습니다. Mysql 기반으로 wordpress blog만들기 준비과정은 이전과 동일하고 환경만 윈도우에서 Mac OS로 변경되었습.. 2022. 3. 15.
[CS/python] Python variables 유형 - 파이썬 자료형은 어떤 종류가 있을까? 안녕하세요 warehouse 입니다. Python 이 필요한 프로젝트를 하다보니 부랴부랴 배워서 근본이 조금 없다는 것을 느끼고 있습니다. 뭐랄까.. 유투브를 보고 배운 아마추어 스포츠 동호회 같다 랄까요? 제대로 배우기 위해서는 책 한권을 떼는게 가장 정석일 지도 모르겠습니다만, 제가 알고있는 선에서 차근차근 정리를 하고 설명해 나가면서 저도 스스로 학습을 해 보려고 합니다. 모든 글은 어느정도 레퍼런스 체크를 할 예정이니 같이 차근차근 알아가 보았으면 좋겠습니다. Python에서 사용하는 자료형 Python 도 script 기반의 언어이기는 하지만 프로그래밍 언어이므로 변수라는 개념을 지원합니다. 그리고 변수는 너무나 자연스럽게 자료형을 갖게 되는데요, Python에서 사용하는 표준 자료형을 알아보도.. 2022. 3. 14.
[CS/Python] Python 3.10.0 final release - 릴리즈 노트 읽기 뒷북이기는 하지만 python 3.10 릴리즈 노트를 한번 읽어봤습니다. Release data 2021-10-04 원문 / 출처 릴리즈 노트의 원문은 아래에서 확인 가능합니다. https://docs.python.org/release/3.10.0/whatsnew/changelog.html#python-3-10-0-final Changelog — Python 3.10.0 documentation bpo-39372: Clean header files of interfaces defined but with no implementation. The public API symbols being removed are: _PyBytes_InsertThousandsGroupingLocale, _PyBytes_Inse.. 2022. 3. 10.
데브옵스(devops)와 개발자가 되려면 무엇을 배워야 하는가? - Developer Roadmaps / Devops roadmap 안녕하세요 warehouse 입니다. 최근에 과연 내가 지금 하고있는일은 어떤 직무에 속한다고 말할 수 있을까? 라는 의구심이 생겨 Skill 관련된 정보들을 찾아보았는데요 꽤나 유용한 사이트를 발견해서 하나 공유드리고자 합니다. Computer science 분야에 있는 분들께 많은 도움이 되었으면 합니다. roadmap.sh 사이트에서 로드맵을 찾아보세요 찾게 된 사이트는 바로 roadmap.sh 입니다. 이곳에서 직무를 검색하게 되면 해당 직무를 잘 수행하기 위해 필요한 Skill들이 diagram으로 나타나는데요, 제가 하고있는 일과 가장 근접한 내용은 Devops였습니다. https://roadmap.sh/ Developer Roadmaps Community driven roadmaps, art.. 2022. 3. 8.
[CS/Docker] 도커 볼륨 - Docker volume 2022.02.25 - [CS/Docker] - [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 이번에는 docker 명령어를 이용해서 현재까지 생성 된 컨테이너 목록을 출력해 보려 합니다. docker ps 실행 중인 docker container 목록을 확인하는 명령어는 다음과 같습니다. docker ps 한번 실행해 보면 armin.tistory.com 안녕하세요 warehouse입니다. 지난 번에는 Docker 컨테이너의 목록을 출력해 보았고 이번에는 도커볼륨에 대해 알아 보려고 합니다. Docker volume 일반적으로 생성 된 이미지를 사용할 때, 이미 생성된 이미지는 어떠한 경우.. 2022. 3. 6.
[CS/Docker] mysql기반으로 동작하는 wordpress 만들어 보기 1 안녕하세요 Warehouse 입니다. 오늘은 도커를 이용해서 mysql, wordpress image를 켜서 블로그를 생성 해 봤습니다. Docker 책과 강의를 시작하면서 Mysql 기반 word process를 만들어 보다 요즘 C++ 과 Python 을 주로 사용하면서 개발을 하고있고, 저희 인프라는 bare metal 기반으로 동작하고 있습니다. 업무환경이 조금 특수성을 띄다보니 클라우드와 컨테이너를 사용하지 못하고 있어서 너무나 답답한게 현실이기는 한데요 음.. 갑자기 하소연의 시간이 되어버렸네요 ? 아무튼 이제는 머리채 잡고서라도 컨테이너를 도입해야하지 않을까 싶어서 하나하나 해보려합니다. Windows 에서 MYSQL 과 Wordpress image 실행 우선 docker run 명령어를 통.. 2022. 3. 5.
[Docker] ssh 사용 시 "Permissions for *.pem are too open" / UNPROTECTED PRIVATE KEY FILE 오류 / Windows에서 ec2 ssh 안될 때 pem 키 권한 수정 안녕하세요 warehouse입니다. 오늘은 Windows 에서 AWS EC2 로 ssh 접속 시 발생하는 UNPROTECTED PRIVATE KEY FILE 오류 조치방법에 대해 정리해보았습니다. AWS에서 EC2 를 생성할 때 pem키를 다운로드 받게 되는데요, 개인키(private key)는 권한이 600 (rw-------) 으로 설정되어 있어야 사용이 가능합니다. 그렇지 않은경우 아래와 같은 오류를 만나게 되는 것이죠. 사실 오류 메시지를 보면 어느정도 감이 오실 수 있습니다. "Permissions for '*.pem' are too open" 권한이 너무 열려있다는 의미 입니다. 제가 리눅스에서 이 메시지를 봤다면 단순하게 chmod 600 으로 설정을 마쳤을 겁니다. 그런데 윈도우에선 권한설.. 2022. 3. 1.
[Linux] lsof 명령어의 개념 / 사용 방법에 대해 안녕하세요 warehouse 입니다. 오늘은 우연히 회사에서 lsof 를 사용하게 되었는데요, 제대로 알지 못하고 필요한 목적으로만 사용하다보니 발전이 없더라구요. 그래서 생각만 하면서 미뤄 온 포스팅을 드디어 하게되었습니다. lsof 의 개념 lsof 의 개념은 위키에 잘 나와있어요 List open files의 약자이고 열려있는 파일의 정보를 제공해 주는 명령어 입니다. 유닉스 계열 운영체제에서 열려있는 파일과 그 파일을 열고 있는 프로세스의 목록을 출력해 주는 오픈소스로 제작 된 lsof 유틸리티 입니다. 참고 : 위키백과 lsof - 위키백과, 우리 모두의 백과사전 lsof는 list open files(열려있는 파일 나열)을 뜻하는 명령으로, 수많은 유닉스 계열 운영 체제에서 열려있는 모든 파일.. 2022. 2. 28.