전체 글 30

[Spring Boot] 스프링 Initializr를 이용한 프로젝트 생성

요즘 스프링 부트를 통해 서버 개발하는 작업을 하고 있는데요, 글을 통 못써서 조금씩 다시 쓰려고 합니다. 언어는 자바, 종속성 및 빌드 관리는 gradle을 통해 진행을 하였습니다. 주의할 점이 스프링부트 3.0 이상 버전부터는 자바 17부터만 진행하기 때문에 11로 개발하는것이 불가하다는 점 알고있어야 합니다. 스프링 이니셜라이저를 이용하면 초반 종속성 관리를 진행해줍니다. 당연히 이후에 직접 그래들을 통해 종속성을 계속 추가해줄 수 있지만, Lombok이라던가 Spring Boot devTools 같은 자주 사용하는 부분들을 클릭 한번으로 추가해주기 때문에 상당히 간편합니다. 필요한 디펜던시를 선택한 후에, create를 선택하면 새로운 프로젝트가 생성됩니다.

개발/서버 2023.09.21

[Android] 모듈 갖고 오기

프로젝트에 여러개의 모듈을 두고 쓰고 있는 경우 해당 모듈의 클래스 등을 이용하기 위해서는 implementation을 해주어야 한다. 메인으로 사용할 모듈의(여기서는 app 모듈) 빌드에 해당 클래스를 implementation해주도록 하자. dependencies { implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation project..

[Kotlin] 생성자

1. 주 생성자 class Animal(val name: String) 위의 코드에서 괄호에 해당하는 부분 2. init class Animal(animalName: String) { val name: String init { if (name.isEmpty()) { throw IllegalArgumentException("Name Error") } this.name = AnimalName } } init 사용해서 유효성 체크할 수 있음 3. constructor (부 생성자) class Animal(val name: String) { var age: Int = 20 var height: Int = 500 // 에러 // constructor(name: String, age: Int) { // this.a..

언어/코틀린 2023.09.05

[Android] 모듈: 코드의 재사용

이 글에서는 모듈에 대해서 다루어보겠습니다. 모듈을 이용하면 얻을 수 있는 장점이 굉장히 많은데요, https://bravenessofdonut.tistory.com/20 [Android] 모듈화로 빌드시간을 줄인다? 개발을 하며 빌드를 하는 시간은 우리를 굉장히 피로하게 하는 경우가 많습니다. 코드가 커지면 커질수록 그런 경향이 많은데요. 그러한 피로가 개발을 하는데 있어 굉장히 많이 일의 능률을 낮 bravenessofdonut.tistory.com 빌드 시간 뿐만 아니라 다양한 측면에서 도움이 많습니다. 코드의 분리, 빌드시간 이외에도 코드의 재사용 측면에서도 도움이 많이 됩니다. 이번 글에서는 코드의 재사용에 대해서 중점적으로 다뤄보겠습니다. 안드로이드 스튜디오의 모듈 유형 중 Library와 A..

[Android] 패키지 구조

이번 글에서는 프로젝트의 패키지 구조에 대해서 생각해보는 시간을 가져보겠습니다. 우리는 안드로이드 개발을 할 때 MVVM 아키텍처를 뼈대로 개발해 나갑니다. 그래서 패키지 구조도 그러한 내용을 고려해야합니다. 그래서 첫번쨰로 생각한 구조는 다음과 같습니다. View - Activity - Fragment - Adapter View Model - View Model Model - Database - Utils 하지만 이렇게 작성을 한다면, 기능별로 구분되어있지 않아서 불편함을 겪게됩니다. 실제로 이런식으로 작성된 코드를 넘겨받아 작업을 진행한 경험이 있었는데요 어떤 코드가 어떤 파일에 작성되어있는지 알 수 없기 때문에 보기 불편할 수 있습니다. 처음 코드를 받아보고, 코드 수정을 하는 입장에서 연관된 코드..

[Server] 웹 서버 개념과 기초

안녕하세요, 이번 글에서는 웹 서버에 대해서 다루어 보겠습니다. 웹 서버는 인터넷을 통해 사용자들이 원하는 정보를 제공하고 서비스를 제공하는 데에 필수적인 기술입니다. 그렇기 때문에 서버에 입문할 때 웹 서버에 대한 이해가 필요합니다. 먼저, 웹 서버의 개념부터 살펴보겠습니다. 웹 서버는 인터넷 상에서 HTTP 프로토콜을 이용하여 클라이언트의 요청에 따라 웹 페이지나 파일 등을 제공하는 컴퓨터 프로그램입니다. 이를 위해서는 웹 서버 소프트웨어가 필요하며, 대표적인 웹 서버 소프트웨어는 Apache, Nginx, IIS 등이 있습니다. 웹 서버를 구축하는 방법은 여러 가지가 있으며, 대표적으로는 LAMP, WAMP, MAMP 등의 스택을 사용하는 방법이 있습니다. 이러한 스택은 리눅스, 윈도우, 맥 OS ..

개발/서버 2023.07.27

[Android] Retrofit2

안드로이드 개발을 할때면 서버와의 통신은 굉장히 중요합니다. 서버에서 API를 내려주면 POST나 GET등을 이용해 서버를 이용하게 되는 경우가 많습니다. retrofit2는 안드로이드 앱에서 RESTful API를 사용하기 위한 라이브러리입니다. 이 라이브러리를 사용하면 간단하게 HTTP 요청을 보내고 응답을 받아 처리할 수 있습니다. 코틀린에서 retrofit2를 사용하는 방법은 다음과 같습니다. 1. build.gradle 파일에 retrofit2 라이브러리 추가 dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' //..

카테고리 없음 2023.07.09