본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

전체 글485

[Gradle] Gradle 의존성 옵션 정리(Compile VS implementation,옵션) 내가 일하는 곳은 Gradle로 프로젝트를 빌드합니다. 그래들(Gradle)은 가장 최근에 나온 자바 빌드 도구로 '그루비(Groovy)' 문법을 사용하고, Build.gradle에 스크립트를 작성하며, 대규모 프로젝트에서 복잡해지는 경향이 있는 XML 기반 스크립트에 비해 관리가 편하다는 장점이 있습니다. 때문에 maven처럼 xml 기반으로 dependency를 관리하는 것 보다 관리가 편하다고 하는데, 가시성 때문이지 적응되면 큰 차이는 없다고 생각합니다. 그럼에도 gradle이 더 좋다고 쓰는 분들이 많은 것 같습니다. 결국 gradle의 설정도 만질 줄 알아야 되는 부분인지라 이번 기회에 정리해보려 합니다. * Spring boot에서 사용되는 gradle SpringBoot로 프로젝트를 만들 .. 2023. 5. 17.
[Apigee] api 관리도구 apigee 소개 Apigee Corp.는 Google Cloud로 합병되기 전에 API 관리 및 예측 분석 소프트웨어 제공업체였습니다. 2004년 Sonoa Systems로 설립되었으며 2010년 Apigee로 브랜드 변경되었습니다. 현재는 구글에서 제공하는 서비스로서 확립되었으며, 국내에선 많이 쓰이지 않지만 해외에선 많이 쓰이는 툴로 알고있습니다. aws의 api gateway처럼 api를 등록하고 제공하는 시스템입니다. Api 서비스를 Proxy단위로 관리하며, revision 단위로 버전 관리도 가능합니다. 주로 javascript를 써서 개발됩니다만, 별도 전역변수 선언이나 키 관리 등 Apigee만의 개발 방법이 있었습니다. 도입하는데 비용이 적지 않은 시스템이나, 유용하며 성능도 좋아 여러모로 괜찮은 시스템.. 2023. 5. 17.
[spring] logging 방법 slf4j 이 무엇인가? 정리해보자. 자바로 개발하다보면 log4j를 사용해 개발하는 경우가 대부분이었는데, 스프링 부트를 접하면서 slf4j로 갈아타는 추세인 것 같다. Simple Logging Facade for Java (SLF4J) 를 줄여서 SLF4J 라고 부르는데, facade 패턴의 로깅방식을 지원하는 방법이라고 보면 된다. facade 패턴은 소프트웨어 공학 디자인 패턴 중 하나이며, client 는 facade(퍼사드, 정면) 만 바라보고 원하는 기능을 요청하면 그 뒤의 다양한 경로들의 접근은 신경쓰지 않아도 되는 방식이다. slf4j를 보면 logback, log4j, log4j2를 사용하는데 있어 slf4j만 호출해서 명령하면 logback이던 log4j이던 동작시킬 수 있다. 별도의 logback, log4j, log.. 2023. 5. 11.
피그마 figma 무엇인가? 최근에 중소 규모 기업에서 figma라는 툴을 많이 사용한다고 들었다. 기획하는 툴인데 이걸로 프로젝트 기획안을 만들고 수정하며 다듬는다고 한다. 웹개발 앱개발 SW개발 같은 여러가지 기획을 하는데 figma를 이용한다고 하니 유용한 툴이 아닌가 생각된다. 나도 개인적인 프로젝트를 하게 된다면 사용해서 방법을 익혀둬야 겠다고 생각하는데 생각보다 사용방법이 어렵지 않아서 쉽게 접근이 가능하다고 느꼈다. https://www.figma.com/ Figma: the collaborative interface design tool. Build better products as a team. Design, prototype, and gather feedback all in one place with Figma. .. 2023. 5. 10.
[JAVA] JAVA에서 JSON 사용하기 - JSONObject, JSONArray java에서 json 형식을 담는 객체가 있을까? 별도 외부 라이브러리를 통해 사용할 수 있다. https://mvnrepository.com/artifact/org.json/json dependency를 통해 라이브러리를 지원해도 되나, 라이브러리를 다운로드 받아 사용해도 된다. 아래와 같은 데이터를 만들고 싶을 경우 라이브러리를 추가했다면 JSONArray, JSONObject 객체를 사용할 수 있다. 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 31 32 33 34 import org.json.JSONArray; import org.json.JSONObject; import lombok.extern... 2023. 5. 9.
[JAVA] map 맵 hashmap 사용 방법 - linkedhashmap, hashtable 설명 맵(Map)은 사전(dictionary)과 비슷하다. people 이란 단어에 "사람", baseball 이라는 단어에 "야구"라는 뜻이 부합되듯이 Map은 Key와 Value를 한 쌍으로 갖는 자료형이다. map에는 hashmap과 hashtable로 나뉘는데 hash라는게 붙어 혼돈을 준다. 해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 색인(인덱스) 또는 주소삼아 데이터를 key와 함께 저장하는 자료구조라서 이름에 hash를 붙인다고 한다. 해시 함수(hash function) 또는 해시 알고리즘(hash algorithm) 또는 해시함수알고리즘(hash函數algorithm)은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수다. 해시 함수에 의해 얻어지는 값은 해시 값, 해.. 2023. 5. 9.
[JAVA] 리스트 List ArrayList 사용 방법 리스트는 배열과 비슷한 자바의 자료형으로 배열보다 편리한 기능을 많이 가지고 있다. 리스트와 배열의 가장 큰 차이는 배열은 크기가 정해져 있지만 리스트는 크기가 정해져 있지 않고 동적으로 변한다는 점이다. 선언할 때 크기를 정해서 선언할 필요가 없으므로 크기의 제한에서 자유롭다. ArrayList List 자료형은 ArrayList 뿐만아니라 여러가지가 있다. 여기선 ArrayList만 다루려 한다. add ArrayList에 값을 추가할 때 사용한다. import java.util.ArrayList; import java.util.List; import lombok.extern.slf4j.Slf4j; @Slf4j public class ListSample { public static void main(.. 2023. 5. 8.
[JAVA] 배열 array 배열을 자바에서 쓰려면 Array 선언이나 사용방법을 알아둬야 한다. 배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다. 배열은 자료형 타입 바로 옆에 [] 기호를 사용하여 표현한다. 아래 예제와 같이 int 자료형의 배열은 int[] 로 표현한다. int[] arr = {12, 24, 35, 37, 49}; 요일의 집합은 다음과 같이 String 배열로 표현 할 수 있다. String[] weeks = {"월", "화", "수", "목", "금", "토", "일"}; 위에서 살펴본 요일의 집합은 다음과 같이 고쳐 쓸 수 있다. String[] weeks = new String[7]; weeks[0] = "월"; weeks[1] = "화"; weeks[2] = "수"; weeks[3] = "목"; .. 2023. 5. 8.
[JAVA] 여러 데이터를 저장하는 객체, array, map, list, 자바를 쓰다보면 여러 데이터를 저장하여 사용하는 array 배열 map 맵 list 리스트 를 자주 접하게 된다. 위 객체들을 쓰는 이유는 특정한 데이터의 집합을 다루기 위해서다. 목적을 가진 데이터들을 개별로 추가나 변경을 하는데 상당히 많은 변수들을 생성해야 한다면 개발이 어려워 질 것이다. 성격에 따라 객체를 생성하여 여러 데이터들을 쉽게 다룰 수 있는 장점이 있기에 자주 쓰이는 편이다. 상세히 구분하자면 배열, Collection, Map 으로 구분된다. 쨋든 이중에서 내가 자주쓰는 Array, Map, List에 대해 정리해 두려 한다. 쓰다보면 각자 방법이 달라 자주 잊어버리고 혼동이 오기 때문이다. https://teck10.tistory.com/322 [JAVA] 배열 array 배열을 자.. 2023. 5. 8.