반응형 개발 공부10 [개발 공부] 객체지향 SOLID 원칙, 예제와 함께 이해하기 이번 포스팅에서는 자바 개발자 거나 취준생이시면 한 번은 들어봤을 법한 SOLID 법칙에 대해 포스팅해보려고 합니다. SOLID를 학부생 시절에는 그냥 개념만 외우고 넘어갔던 내용인데, 자바 개발자를 꿈꾸면서 다시 한번 제대로 정리해보자 하여 글을 작성하게 되었습니다. SOLID는 SRP, OCP, LSP, ISP, DIP의 앞 글자들을 딴 용어입니다. SRP (Single Responsibility Principle) - 단일 책임 원칙 OCP (Open-Closed Principle) - 개방 폐쇄 원칙 LSP (Liscov Substitution Principle) - 리스코프 치환 원칙 ISP (Interface Segregation Principle) - 인터페이스 분리 원칙 DIP (Depen.. 2022. 1. 24. [개발 공부] Mac OS 자바 버전 변경하기 Mac OS로 여러 개의 프로젝트 개발을 하면서, Mac OS의 자바 기본 버전을 몇 번 수정할 때마다 구글링 해서 자바 버전을 변경했기 때문에, 한번 정리해 두려고 합니다. 설치된 자바 버전 전부 확인 아래 명령어로 설치된 자바 버전을 전부 확인할 수 있습니다. (명령어의 V 옵션이 대문자 V로 줘야하는 것을 주의하세요) $ /usr/libexec/java_home -V 자바 버전 변경하는 2가지 방법 1. 기본적인 Bash를 사용하는 경우 $ export JAVA_HOME=$(/usr/libexec/java_home -v 11) 2. zsh을 사용하는 경우 $ vim ~/.zshrc 해당 파일 제일 하단에 다음 내용을 수정 export JAVA_HOME=$(/usr/libexec/java_home -.. 2022. 1. 16. [개발 공부] env: sh/r: No such file or directory 해결 방법 Java 스프링 부트로 개발한 백엔드 프로그램을 배포하기 위해 해당 프로젝트를 빌드해야 했습니다. 스프링 부트 프로젝트를 빌드하면, jar 형식의 파일이 나오는데, 그 파일을 배포할 웹 서버에 실행시켜놓으면 내장 톰캣 웹서버로 인해 WAS가 되어 편리한 배포가 가능합니다. 해당 프로젝트를 빌드하기 위해 ./gradlew build 명령어를 통해 프로젝트를 빌드했습니다. env: sh\r: No such file or directory 원래였으면 정상적으로 진행됐을 빌드가 안되고 있었습니다. 해당 에러 문으로 구글에 검색을 해보았는데 영어로 된 해결책을 찾게 되어 정리하게 되었습니다. 해당 에러 문은 윈도우 OS와 Mac, Unix 등 운영체제의 차이점 때문에 발생되었습니다. 윈도우 OS에서는 엔터, 즉 .. 2021. 9. 23. [개발 공부] SQLPLUS SP2-0310 에러 데이터베이스 공부를 하려고 Oracle 데이터베이스에 실습환경을 구축하기 위해 SQLPLUS를 통해 데이터 이관 SQL파일을 실행시키려고 했습니다. C:\ 경로에 [데이터이관.sql] 파일을 옮겨 놓고, cmd 창을 열고, 다음 명령어를 통해 SQLPLUS를 실행했습니다. C:\> SQLPLUS [아이디]/[비밀번호] 그리고 SQLPLUS가 켜지면 다음과 같은 명령어로 SQL파일을 실행하려고 했습니다. SQL> @[파일이름] 하지만 다음과 같은 에러가 발생했습니다 SP2-0310: 파일 "데이터이관.sql"을 열 수 없습니다. 이를 해결하기 위해 검색을 해봤는데 찾은 해답으로는 SQL 파일을 상대 경로가 아닌 절대 경로로 실행해보라는 것이었습니다. 하지만 이 방법도 해결되지 않았습니다. 긴 시간 고민한 .. 2021. 8. 25. [개발 공부] 엑셀 데이터 데이터 베이스에 이관하기 이번 포스팅에서는 엑셀로 관리하던 데이터를, 엑셀로만 관리하기 너무 어려운 상황에 이르러서 관리 플랫폼을 웹 애플리케이션으로 개발하는 초기 단계에서, 엑셀의 데이터를 데이터베이스 상으로 이관하는 SQL문을 작성하는 방법에 대해 설명하려고 합니다. 보통 엑셀로 관리하던 데이터는 몇백 개에서 몇천 개가 될 수 있습니다. 조금 더 많은 양의 데이터를 이관하는 작업에는 알맞지 않은 방법일 수 있으나, 1000개 정도의 데이터를 옮겨야 했던 저는 좋은 방법이었습니다. ※ 해당 포스팅에서 사용되는 데이터와 테이블은 포스팅을 위한 데이터를 직접 만든 것으로 실제 데이터가 아닙니다 ※ 엑셀로 회원정보를 관리하고 있었고, 엑셀에 회원 정보가 있습니다. 회원 정보에는 아이디, 비밀번호, 주소, 전화번호가 있습니다. 해당 .. 2021. 8. 5. [개발 공부] Spock Test Framework 실습 지난 포스팅에서는 Spock Framework에 대한 개념과 JUnit테스트와의 차이점 등에 대해 이론적으로 포스팅했었습니다. https://programforlife.tistory.com/101 [개발 공부] Spock Test Framework 이번 포스팅에서는 인턴을 시작하면서 받은 교육 중, Spock Test Framework에 대해 정리해보려 합니다. Java를 사용한 개발을 진행하면서 들어본 테스트는 JUnit이라는 것인데, Spock Framework는 생소한 기 programforlife.tistory.com 이번 포스팅에서는 Spock Test Framework을 통한 실무에 사용할 수 있는 실습을 해보려고 합니다. 실습 준비 먼저, 실습을 진행하기 위한 프로젝트는 구조는 다음과 같습니.. 2021. 7. 20. [개발 공부] Spock Test Framework 이번 포스팅에서는 인턴을 시작하면서 받은 교육 중, Spock Test Framework에 대해 정리해보려 합니다. Java를 사용한 개발을 진행하면서 들어본 테스트는 JUnit이라는 것인데, Spock Framework는 생소한 기술이었습니다. 왜 테스트를 해야 하는가? 실제 운영 중인 서비스에서, DB의 백업이 되고 있지 않거나, 개발 중인 소스 코드를 VCS(Version Control System)을 사용하여 백업을 하고 있지 않는 경우엔 어떻게 될까요? 개발하다가 한 번의 실수를 하면 복구도 못하고, 관리에 어려움을 느낄 수 있기 때문에 DB 백업과 VCS를 통한 백업을 진행합니다. 그렇다면 테스트 없이 개발을 하면 어떻게 될까요? 마찬가지로 좋은 코드를 작성할 수 없고 제대로 개발하기 힘듭니다.. 2021. 7. 20. [개발 공부] Twitter 따라 만들기 #3 - Main Layout 수정하기 Main Layout 수정하기 저번 포스팅까지 프로젝트를 생성하고, 프로젝트의 구조를 파헤쳐 봤습니다. 이번 포스팅에서는 Twitter를 만들기 위한 Main Layout을 수정할 것입니다. Main Layout을 수정하기 위해 Quasar Framework 홈 페이지의 Layout Builder를 사용하겠습니다. 먼저 Quasar 공식 홈페이지에서 [Layout and Grid]의 [Layout Builder]를 선택합니다. Layout Builder를 찾았으면 다음과 같은 단계로 레이아웃을 구성해 주면 됩니다. Twitter와 비슷한 레이아웃을 설정해 주기 위해 Footer와 Navigation Tab을 비활성화해줍니다. 양쪽 bar를 다음과 같이 설정해 줍니다. Header부분의 그림자를 없애기 위.. 2021. 5. 21. [개발 공부] Twitter 따라 만들기 #2 - 프로젝트 구조 파헤치기 파일 구조 알아보기 이전 포스팅에서 Quasar Framework로 twitter 앱 프로젝트를 생성했습니다. 이번 포스팅에서는 생성한 프로젝트의 파일 구조 및 폴더들을 살펴보겠습니다. Quasar Framework으로 프로젝트를 자동으로 생성하니 다음과 같은 파일 구조가 생성됐습니다. quasar.conf.js : Quasar 프로젝트의 환경 설정 파일입니다. 라이브러리, vue router history mode, 플러그인들, ssr, pwa, electron 등등 설정을 하는 파일입니다. 다음은 src 폴더 안에 있는 index.template.html 파일입니다. index.template.html 파일은 대부분 수정할 일이 없으며, q-app은 App.vue파일을 출력합니다. 다음은 index... 2021. 5. 21. [개발 공부] Twitter 따라 만들기 #1 - 프로젝트 생성 Quasar Framework Quasar Framework는 Vue.js기반의 오픈소스 프레임워크입니다. Quasar Framework를 사용하면 빠르게 반응형 웹 애플리케이션을 개발할 수 있습니다. 다음은 Quasar의 다양한 기능입니다. Quasar 공식 문서에서 확인할 수 있습니다. SPAs (Single Page App) SSR (Server-side Renedered App) (+ optional PWA client takeover) PWAs (Progressive Web App) BEX (Browser Extension) Mobile Apps (Android, iOS,...) through Cordova or Capacitor Multi-platform Desktops Apps (using .. 2021. 5. 21. 이전 1 다음 반응형