분류 전체보기
[웹 서비스 개발] Xampp - phpmyadmin 접속하기
[웹 서비스 개발] Xampp - phpmyadmin 접속하기
2022.09.26Xampp는 기본적으로 phpmyadmin이 함께 설치되기 때문에 설치된 MySQL을 관리할 때 단순히 phpmyadmin을 사용하여 관리할 수 있습니다. phpmyadmin을 사용하기 위해서는 다음 두 가지 방법으로 시도할 수 있습니다. 1. 현재 Xampp의 IP/phpmyadmin 입력 2. Go to Application -> phpMyAdmin 클릭 1번 방법은 간단하니 생략하고 저는 2번 방법만을 소개하도록 하겠습니다. [웹 서비스 개발] Xampp 세팅하기 (for Mac) Xampp 란? APM(Apache, PHP, MySQL) 환경을 쉽게 구성하고 관리할 수 있도록 도와주는 툴 기존 우리가 APM 개발 환경을 구축해야하는 경우, 세팅해야하는 PC에 Apache, PHP, MySQL을 각..
[웹 서비스 개발] Xampp 세팅하기 (for Mac)
[웹 서비스 개발] Xampp 세팅하기 (for Mac)
2022.09.26Xampp 란? APM(Apache, PHP, MySQL) 환경을 쉽게 구성하고 관리할 수 있도록 도와주는 툴 기존 우리가 APM 개발 환경을 구축해야하는 경우, 세팅해야하는 PC에 Apache, PHP, MySQL을 각각 설치하고, 실행하고, 관리해야 합니다. 물론 정식 서비스를 배포해야하는 경우 이렇게 따로 설치하고 관리해주는 것이 일반적이지만, 학습용도로 가볍게 개발하는 경우 이러한 세팅 과정을 거치는 것은 굉장히 번거로운 작업입니다. 하지만 Xampp를 사용하면 이러한 환경을 한번에 구축할 수 있고, 여기에 Phpmyadmin도 함께 설치되기 때문에 별도의 추가설정, 툴 없이도 Phpmyadmin을 사용하여 DB를 관리할 수 있다는 편리함이 있습니다. 현재 수강하시는 수업에서도 이러한 APM 환경..
[OS] 운영체제(OS) 란?
[OS] 운영체제(OS) 란?
2022.09.15운영체제 (Operating System) 프로그램을 실행할 수 있는 환경을 제공함으로써 사용자와 하드웨어 사이의 중재자 역할을 수행하는 특수한 소프트웨어 위의 정의처럼 운영체제가 제공하는 가장 중요한 역할은 "프로그램을 실행할 수 있는 환경을 제공한다"라는 점입니다. 프로그램을 실행할 수 있는 환경을 제공함은 응용프로그램을 개발하는 개발자가 CPU, 메모리, 기타 저장소 등 물리적인 컴퓨터 시스템을 구성하는 하드웨어를 직접 다루지 않고, 이를 인터페이스화된 형태로 사용할 수 있음을 의미합니다. 이는 "오디오 믹서"를 생각하면 이해할 수 있습니다. 이 오디오 믹서를 사용하면 특정 채널에 연결된 음향장비 (마이크, 컴퓨터, 악기 등등)의 볼륨, 이퀄라이져, 모니터 스피커 출력 유무 등 오디오 신호의 흐름과..
intelliJ - Java 프로젝트 생성 및 Git / Github 연동
intelliJ - Java 프로젝트 생성 및 Git / Github 연동
2022.09.01안녕하세요. 이번 시간에는 intelliJ에서 Java 프로젝트를 생성하고 이를 Github과 연동하는 방법을 정리하겠습니다. 이전에 사용하던 STS4도 프로젝트를 Git / Github을 연동하여 터미널 상에서 명령어 없이 클릭 몇 번으로 수행할 수 있었지만, intelliJ는 이보다 훨신 더 직관적으로 이 과정을 수행할 수 있습니다. 해당 글은 MacOS를 기준으로 작성되었습니다. 하지만 Windows 환경에서 사용하시는 분들도 인터페이스가 완전히 다르지 않기 때문에 해당 글을 참고하셔서 세팅을 진행하실 수 있을 것입니다. (세팅환경 정보) OS : Mac OS Monterey 12.5.1 IntelliJ : 2022.2.1 (Ultimate Edition) 우선 설치했던 intelliJ를 실행합니다..
Spring & MyBatis - DataAccessResourceFailureException
Spring & MyBatis - DataAccessResourceFailureException
2022.08.11기존에 진행하고 있던 프로젝트가 막바지 마무리 단계가 되었습니다. 해당 프로젝트는 백엔드는 Spring, MyBatis, MariaDB로 구성되어 이를 REST API 형태로 제공하고, React 기반으로 프론트엔드가 구축되어 있는 Server-Client 구조의 시스템이었습니다. 하지만 어느 날 저는 다음과 같은 연락을 받게 됩니다 (저를 라이언으로 칭했습니다). 테스터 : 라이언, 지금 웹이 제대로 동작하지 않네요. API가 호출이 제대로 안되는 것 같아요. 라이언 : 네? 지금 서버는 잘 돌아가고 있는데요. 다시한 번 확인해주실 수 있을까요? 테스터 : 어? 아 새로고침 하니까 잘 동작하네요? 라이언 : 아 그런가요? 일단 동작한다고 하시니 테스트 진행해주시고, 원인은 제가 확인해볼게요. 꽤 당황스..
Greedy Algorithm
Greedy Algorithm
2022.07.11안녕하세요. 이번 포스팅에서는 Greedy Algorithm에 대해서 다뤄보도록 하겠습니다. 코딩테스트를 준비하는 입장에서 Greedy 알고리즘은 가장 기본이 되는 유형으로 여겨집니다. 난이도가 상대적으로 낮은 유형에 해당하며, 그렇기 때문에 가장 먼저 시작할 수 있는 유형으로 많이 추천됩니다. 하지만 가장 기본이 되는 유형이라고 해서 결코 쉬운 문제들만 있는 것은 아닙니다. 실제로 여러 문제들을 살펴보면 Greedy 유형이더라도 많이 어려운 문제들도 있습니다. 즉, 결코 만만하게 볼 유형은 아닙니다. 그렇다면 지금부터 Greedy 알고리즘이 무엇인지에 대해서 알아보도록 하겠습니다. Greedy Algorithm? 탐욕 알고리즘? 우선 알고리즘의 이름에 사용되는 "Greedy" 라는 단어의 사전적 정의를..
(이미지 변환) HEIC 파일을 jpg로 변환하기
(이미지 변환) HEIC 파일을 jpg로 변환하기
2022.04.08아이폰에서 사진을 촬영하면 저장공간을 절약하기 위한 HEIC 확장자로 파일이 저장됩니다 (옵션을 통해 바꿀 수 있다고 들었습니다). 하지만 이 확장자의 가장 큰 문제는 우리가 일반적으로 다루는 이미지 파일(jpg, jpeg, png 등)과 많이 다르다는 것입니다. 대표적인 예시로 카카오톡에서 HEIC 확장자로 된 이미지 파일을 전송하면 사진으로 표현되지 않고 이렇게 파일의 형태로 나타납니다. 물론 이 파일을 그대로 다운로드해서 갤러리로 보면 동일하게 이미지를 볼 수 있습니다. 최근에는 안드로이드도 HEIF라는 유사한 확장자를 지원하여 호환되지만, 위와 같이 카카오톡도 그렇고 해당 이미지를 업로드하는 서비스나 웹페이지의 경우에는 HEIC 확장자를 지원하지 않는 경우가 많습니다. 그렇기 때문에 가장 편한방법..
Collection Framework 이란?
Collection Framework 이란?
2022.03.26Collection Framework? 데이터들을 다루는 클래스들에 대한 설계를 표준화하여 모아둔 것 Java를 공부하다보면 "Collection Framework"라는 용어를 접하게 됩니다. 위의 정의처럼 Collection Framework는 "데이터들을 다루는 클래스들에 대한 설계를 표준화하여 모아둔 것" 입니다. 자료구조 강의시간에 배우는 C++의 STL과 비슷한 것이라고 생각하셔도 됩니다. 우리가 Stack, Queue, Linked-List와 같은 자료구조를 공부할 때에는 각 자료구조를 직접 구현해서 사용합니다. 자료구조를 학습하는 측면에서 이는 분명 좋은 공부입니다. 하지만 이 맥락을 우리가 실제로 개발하는 환경 또는 빠른 시간 안에 주어진 문제를 해결해야하는 코딩테스트와 같은 환경에 가져올..
MyBatis - 2개 이상의 Query를 mapper에 한번에 작성하고 싶은 경우
MyBatis - 2개 이상의 Query를 mapper에 한번에 작성하고 싶은 경우
2022.01.14MyBatis를 적용한 Spring Legacy Project에서 개발을 진행하다보면 분명히 하나의 mapper에 대해서 2개 이상의 Query를 호출하고 싶은 경우가 있습니다. 예를 들어서 한번의 mapper 호출로 2개 이상의 table에 record를 insert 하고 싶은 경우, 우리는 mybatis의 mapper 내에서 2개 이상의 Query를 사용할 수 있다면 이러한 문제를 쉽게 해결할 수 있습니다. 우리가 가장 먼저 떠올릴 수 있는 아이디어는 다음과 같습니다. INSERT INTO table1 (member1, member2, member3) VALUES (value1, value2, value3); INSERT INTO table2 (member1, member2, member3) VALU..
web.xml (A field of identity constraint 'web-app-servlet-name-uniqueness' matched element 'web-app', but this element does not have a simple type.)
web.xml (A field of identity constraint 'web-app-servlet-name-uniqueness' matched element 'web-app', but this element does not have a simple type.)
2022.01.12STS4와 Spring, Tomcat을 사용해서 프로젝트를 개발하다보면 web.xml 파일에 filter를 추가해서 한글이 깨지지 않도록 설정해주는 과정이 필요합니다. 그런데 가끔 web.xml에 해당 filter를 위한 코드를 추가하면 다음과 같은 error가 감지되는 경우가 있습니다. STS4에서 출력하고 있는 error 메시지는 다음과 같습니다. cvc-id.3: A field of identity constraint 'web-app-filter-name-uniqueness' matched element 'web-app', but this element does not have a simple type. 정확한 이유는 알 수 없지만 이 문제를 해결하는 방법은 간단합니다. 솔루션 web.xml 파일의..
STS - java.lang.ExceptionInInitializerError
STS - java.lang.ExceptionInInitializerError
2022.01.11STS에서 오랜만에 Spring Legacy Project 선택 후 Spring MVC Project를 생성하려고 했는 데 다음과 같은 에러메시지가 나타나면서 Spring MVC Project가 생성되지 않았습니다. 가장 먼저 의심되는 부분은 jdk 버전문제였습니다. 이전에 제가 STS로 문제없이 프로젝트를 생성하고 진행할 때에는 jdk1.8을 사용했었는 데, 현재 PC에는 jdk 11.0.12가 설치되어 있는 상황이었습니다. 그래서 해볼 수 있는 가장 쉬운 해결책, 우선 STS의 업데이트를 확인하고 가능한 업데이트들을 진행하였지만 문제는 해결되지 않았습니다. 여러번 프로젝트 생성을 시도해보았지만 위의 두 가지 종류의 에러메시지가 반복적으로 나타나는 것 외에는 진전이 없었고, JDK도 완전히 삭제 후 여..
Flutter - 개발환경 세팅하기
Flutter - 개발환경 세팅하기
2022.01.02안녕하세요. 2022년 첫 글로 "Flutter 개발환경 세팅"을 주제로 하여 인사드리게 되었습니다. 저는 앱 개발에는 관심을 크게 두고 있지 않았지만 의도치 않게(?) 앱개발을 하게될 기회가 있어 Flutter를 접하게 되었습니다. 처음은 전산 동아리에서 진행하는 프로젝트 때문에 처음 접하게 되었고, 여기서 시작된 Flutter와의 인연이 지금까지 이어지게 되었습니다. 과거부터 현재까지, Flutter가 뿜어내는 많은 이슈들에 대응하면서 미운정 고운정이 쌓인? 그런 프레임워크가 된 것 같습니다. 그래서 이번 시간에는 Flutter를 시작하기 위해서 필요한 첫 단계인 개발환경 세팅에 대해서 정리해보도록 하겠습니다. 우선 해당 개발환경 세팅을 진행하는 저의 PC 환경은 다음과 같으니 참고해 주시기 바랍니다..