일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Util
- Android
- mysql
- wireshark
- MongoDB
- css
- AWS
- OS
- postman
- algorithm
- S3
- TypeScript
- typeorm
- sequelize
- OOAD
- Crawling
- Express
- macos
- ubuntu
- python
- DATABASE
- Network
- linux
- HTML
- React
- Kotlin
- docker
- mongoose
- Scheduling
- node.js
- Today
- Total
목록
반응형
분류 전체보기 (144)
Seongwon Lim
서론 이번 글에서는 객체지향 설계의 5가지 기본 원칙 중에서 O에 해당하는 개방 폐쇄 원칙(OCP)에 대한 개념 및 예제를 다루고자 한다. 단일 책임 원칙(SRP)에 대한 개념은 이전 글에서 다루었으므로 해당 원칙에 대한 개념 이해가 필요한 분들은 아래 글을 참고하면 좋을 것 같다. [OOP] 객체지향 설계 원칙 SOLID - SRP(단일 책임 원칙) 이란? [OOP] 객체지향 설계 원칙 SOLID - SRP(단일 책임 원칙) 이란? 서론 객체 지향 프로그래밍을 할 때 좋은 설계를 하는 것은 매우 중요하다. 따라서 사람들은 다양한 디자인 패턴들을 적용하여 개발을 진행한다. 이렇게 다양한 디자인 패턴에 기반하여 설계를 limsw.tistory.com 개방 폐쇄 원칙 - OCP(Open Closed Prin..
서론 객체 지향 프로그래밍을 할 때 좋은 설계를 하는 것은 매우 중요하다. 따라서 사람들은 다양한 디자인 패턴들을 적용하여 개발을 진행한다. 이렇게 다양한 디자인 패턴에 기반하여 설계를 해야 추후에 시스템 유지보수 측면 혹은 시스템을 확장할 때 용이하게 개발을 진행할 수 있다. 이번 글에서는 객체 지향 설계에서 사용되는 다양한 원칙(디자인 패턴) 중에서, 2000년대 초반 로버트 마틴에 의해 정의된 객체지향 설계의 5가지 기본 원칙을 마이클 페더스가 5가지 원칙의 앞글자만 따서 정의한 SOLID 원칙 중에서 S에 해당하는 단일 책임 원칙(SRP)의 개념에 대해서 알아보고자 한다. 단일 책임 원칙 - SRP(Single Responsibility Principle) 단일 책임 원칙은 모든 클래스는 단 하나..
서론 이전 글에서 AlertDialog를 이용하여 선택창을 구현하는 예제를 다루었다. 이번 글에서는 AlertDialog를 응용하여 확인, 취소 2개의 선택지 중에서 선택하는 것이 아니라, 리스트에 들어있는 여러 데이터 중에서 하나를 선택하는 콤보박스 다이얼로그를 구현해보고자 한다. AlertDialog에 대한 개념과 간단한 예시는 이전 글에서 다루었으므로 해당 글에서는 다루지 않으며 추가 이해가 필요한 분들은 아래 글을 참고하면 좋을 것 같다. [Kotlin] AlertDialog를 이용한 경고창(대화 상자) 띄우기 [Kotlin] AlertDialog를 이용한 경고창(대화 상자) 띄우기 서론 이번 글에서는 앱을 사용할 때 사용자에게 팝업 메세지를 띄어줄 필요가 있는 경우에 사용하는 다이얼로그(Dial..
서론 이번 글에서는 앱을 사용할 때 사용자에게 팝업 메세지를 띄어줄 필요가 있는 경우에 사용하는 다이얼로그(Dialog)의 사용 방법에 대해서 간단하게 알아보고자 한다. 다이얼로그는 쉽게 말해서 팝업창이라고 생각해도 무방하며, 다이얼로그의 사용 목적은 서비스와 사용자가 대화 화면을 통해서 상호작용을 하는 데에 목적이 있다. AlertDialog AlertDialog는 사용자에게 경고 메세지를 띄울 때 사용하는 다이얼로그이다. 특히 해당 다이얼로그는 서비스를 사용할 때 사용자에게 선택을 요구하는 경우에 많이 사용된다. 예를 들어, 수정 사항을 저장하시겠습니까? 라는 문구가 있다면 사용자는 예 또는 아니오 두 개의 선택지 중에서 하나를 선택하는 경우가 될 수 있다. 물론, 꼭 선택을 할 때에만 사용하는 것은..
서론 이번 글에서는 코틀린에서 다른 액티비티(Activity)로 데이터를 전달하는 방법을 알아보고자 한다. 액티비티의 데이터 전달은 페이지 이동 시 사용하는 인텐트(Intent) 메서드를 활용하므로 인텐트에 대한 개념이 부족한 분들은 아래 글을 참고하면 좋을 것 같다. [Android] 코틀린(Kotlin) Intent를 이용하여 페이지 이동하기 [Android] 코틀린(Kotlin) Intent를 이용하여 페이지 이동하기 서론 이번 글에서는 코틀린에서 Intent를 사용하여 다른 페이지로 이동하는 기능을 간단하게 구현해보고자 한다. 또한, 간단한 예제이므로 데이터의 이동을 다루지는 않으며 단순히 페이지 슬라 limsw.tistory.com 이번 예제는 메인 액티비티에서 EditText를 통해 2개의 정..
서론 이번 글에서는 코틀린에서 Intent를 사용하여 다른 페이지로 이동하는 기능을 간단하게 구현해보고자 한다. 또한, 간단한 예제이므로 데이터의 이동을 다루지는 않으며 단순히 페이지 슬라이드를 위한 기능만을 구현한다. 프로젝트 생성하기 프로젝트는 Empty Activity를 선택한다. 다음으로 넘어가면 생성할 프로젝트의 구성을 설정할 수 있다. 언어를 코틀린으로 바꿔준 뒤 프로젝트를 생성한다. activity_main.xml 파일 수정하기 버튼을 클릭했을 때 페이지를 이동하는 기능을 구현할 예정이므로 버튼 위젯을 하나 추가했다. 또한 해당 버튼을 코틀린 파일에서 사용하기 위해 id값을 btnNewPage 라는 문자열로 정의했다. MainActivity.kt 파일 수정하기 이제 버튼을 클릭했을 때 페이..
서론 MacOS 환경에서 리액트로 개발을 진행할 때 yarn을 이용하여 라이브러리를 설치하는 경우가 있다. 리액트는 npm 또는 yarn을 사용하여 대부분의 라이브러리를 설치하는데, 가끔씩 yarn을 사용하면 아래와 같은 에러가 발생하는 경우가 종종 있다. zsh: command not found: yarn yarn : 자바스크립트 패키지 매니저로 패키지 및 모듈의 설치를 돕고 의존성을 관리하며 사용중인 패키지 버전을 업데이트 하는 기능을 제공하는 툴이다. 따라서 이번 글에서는 yarn 사용 시 발생하는 위 에러를 해결하는 방법을 살펴보고자 한다. 해결 방법 1 homebrew를 이용하여 yarn을 설치한다. $ brew install yarn [Util] 맥북 Homebrew란? 설치 및 삭제 방법 알..
서론 작년 겨울 즈음에 React Router v6가 나오면서 라우터를 적용하는 방법이 기존의 라우터를 적용하는 방법과 조금 달라졌다. 그래서 이번 글에서는 리액트에서 제공하는 react-router-dom v6 버전 라이브러리를 이용하여 프로젝트 경로에 따라 다른 화면을 보여주는 기능을 구현해보고자 한다. 이번 글의 목차는 다음과 같다. 프로젝트 생성하기 react-router-dom 라이브러리 설치하기 화면 전환을 위한 서브 페이지 생성하기 라우터 적용하기 파라미터 적용하기 프로젝트 생성하기 npx create-react-app router-example router-example 자리에는 프로젝트명으로 정의할 문자열을 입력한다. 프로젝트가 생성되면 해당 프로젝트로 이동 후 프로젝트가 정상적으로 실행..
서론 이번 글에서는 HTML을 통해 생성된 요소 앞뒤에 새로운 요소를 추가하는 기능을 제공하는 가상 요소 :after, :before에 사용하는 방법을 간단하게 알아보고자 한다. 가상 요소는 컨텐츠의 앞뒤에 기호, 도형, 수식어 등을 사용하여 컨텐츠를 장식할 필요가 있을 때 많이 사용되고 있다. 가상 요소 :before :after 특징 두 개의 가상 요소가 가지고 있는 특징은 다음과 같다. inline 요소 이므로 너비(width), 높이(height) 값을 가질 수 없다. 크기 값을 바꾸려면 inline-block 옵션을 주어야 한다. content: '들어갈 컨텐츠 내용'; 형식으로 시작한다. margin 값의 left, right는 가질 수 있으나 top, bottom은 가질 수 없다. paddi..
서론 이번 글에서는 스프링 공부를 할 때 spring-boot-devtools 설정을 진행 시 발생한 에러를 해결한 방법을 다룬다. IntelliJ 개발 환경에서 커맨드+시프트+A 단축키를 통해 All Actions 메뉴를 사용할 때 No manual entry for Repo\;type\=a 해당 에러와 함께 프로세스가 완료되었다는 터미널 창이 열리는 에러가 발생했다. 해결 방법 시스템 환경설정 → 키보드 → 단축키 탭으로 들어간다. 좌측 서비스 메뉴에서 [터미널에서 man 페이지 인덱스 검색]이 체크되어 있는 것을 해제한다. 해당 기능을 사용하는 경우라면 체크를 해제하지 않고 단축키를 다르게 변경해도 무방하다. 결과 이제 인텔리제이 환경에서 Command + Shift + A 를 누르면 더 이상 에러..