전체 글 352

2024 JTBC 풀 마라톤을 완주하며 회고

11월 3일 JTBC에서 주최하는 풀 마라톤에 참가했다.풀 마라톤은 참가는 처음이 아니지만 두 번째 참가하며 느낀 점과 내가 풀 마라톤을 뛴 이유, 그리고 달리기를 하는 이유를 잊지 않기 위해 회고글을 적는다.  풀 마라톤을 하게 된 이유나는 생각이 많다. 그래서 생각을 멈추는 법을 잘 몰랐는데, 군대에서 시작한 마라톤과 주기적인 달리기를 통해 몸이 너무 힘들면 생각하지 않게 된다는 것을 알게 되었다. 이 후로는 집 앞 하천을 뛰며 머릿속을 비우고 리프레시하는 것을 습관처럼 하게 되었다. 시간이 흘러 10km 달리기가 익숙해졌을 무렵, 풀 마라톤에 도전하고 싶어졌다. 그렇게 작년 2023 JTBC 풀 마라톤에 참여하게 되었는데 이때의 나는 나의 장거리 페이스도 모르고 아무 준비도 안된 상태에서 안되면 말..

끄적끄적 2024.11.06

Java와 Kotlin, 컴파일 속도 차이가 많이날까?

프로젝트 환경 설정Java  Kotlin  함수 작성모두 동일하게 동작하는 함수를 호출한다 Javapublic class Main { public static void main(String[] args) { long sum = 0; for (int i = 1; i  Kotlinfun main() { var sum = 0L for (i in 1..1_000_000) { sum += i } println("Sum: $sum")}  빌드시간 확인Java 3번 진행 Java 평균 BUILD SUCCESSFUL in 1XXms Kotlin 3번 진행 Kotlin 평균 BUILD SUCCESSFUL in 2XXms Java가 조금 더 빠르긴 하다. 왜..

코딩공부 2024.10.29

Kotlin을 알아보자

현재 회사에서는 Java를 사용한다. 나중에 Kotlin을 사용할 때를 대비하기 위하여 코틀린은 자바에 비하여 무엇이 좋고 기업에서 왜 사용하는지 궁금하여 알아보았다. 코틀린의 장점1. 간결함코틀린은 자바보다 구문이 간단하다. 이로 인하여 코드를 더 쉽게 짤 수 있고 유지보수 차원에서도 유용하게 적용된다. 간단하게 예를 들자면 아래의 함수는 리스트의 짝수의 합을 구하는 코드이다. Javaimport java.util.List;public class Main { public static void main(String[] args) { List numbers = List.of(1, 2, 3, 4, 5, 6); int sumWithForEach = calculateSumWithF..

코딩공부 2024.10.27

글또 10기, 삶의 지도, 주저리주저리, 목표, 다짐

글또를 시작한 지 7기, 8기, 9기를 넘어 10기에 참여하게 되었다. 2년이란 시간이 흐른 지금 삶의 지도를 작성하여 나의 인생을 되돌아보고 이번 10기에는 어떤 다짐과 목표를 가지고 활동할지 적어본다. 나의 삶의 지도 할 수 있는 것학창시절 메이플 스토리라는 게임을 접하여 매크로를 만들며 처음 코딩을 해보았다. 그때 당시에는 매크로를 USB에 담에 판매를 했던 것으로 기억한다. 나는 그 돈이 너어어무 아까워 내가 직접 만들어 버렸고 이를 통해 코딩에 대해 처음 접하게 되었다. 그 이후로는 게임을 하기 위해 코딩을 시작하게 되었다. 할 수 있는 것의 한계14년도에는 컴퓨터 공학이 인기 과목이 아니었다. 모두 화공, 기공을 가는 시대였지만 내가 할 수 있는 건 컴퓨터 밖에 없었다.  나는 컴공으로 전문대..

끄적끄적 2024.10.11

sdk 만들어보기

이 알람 시스템은 나는 정말 유용하게 사용하고 있다.  이를 더 확장해서 SDK로 만들면 어떨까?!  좋은 SDK를 만들기 위해서는 유연성과 확장성이 좋아야 한다  지금의 내 프로젝트의 문제점을 파악해보자 1. 패키지 구조 및 네이밍 현재 나의 구조 상태이다.  API, billing라는 명칭을 사용하였는데  sdk라는 걸 명확하게 하기 위해 com.sdk.notification으로 바꾸어 준다. 2. Application 제거 Applicationd을 통해서 Spring Boot를 시작시킨다.이는 내 SDK가 특정 프로젝트의 애플리케이션 설정과 분리되어야 하는 이유는 독립성 때문이다. 다양한 환경과 프로젝트에서 사용될 수 있어야 하기 때문에 애플리케이션 초기화 코드는 포함되지 않는 것이 좋다.   결론..

끄적끄적 2024.08.07

슬랙으로 알람 쏘기 2

이제 회사에서 슬랙이 아닌 팀즈를 사용한다구 한다 ...  이 김에 이 프로젝트를 디벨롭하여 여러가지 플랫폼의 웹훅을 받을까 한다. implementation 'com.slack.api:slack-api-client:1.40.0' 기존에 해당 버전은 보안 이슈가 있었다고한다.  버전을 올리자니 Boot 버전이랑 안맞고 ...  그래서 그냥 버리고 RestTemplate로 진행할까 한다  어차피 팀즈도 써야하니  우선 간단하게 만들어 보았다.  처음에는 슬랙 service 하나, Teams Service 하나 만들다보니 그러면 플랫폼 별로 다 만들건 아니지 않나? 라는 생각이 들어서  정신차리고 하나의 Service로 묶어 관리를 하려고 하였다.  더 좋고 깔끔한 방법이 있을 것 같은데 조금 더 찾아보려고..

끄적끄적 2024.08.06

슬랙으로 알람 쏘기

서비스를 제공하는 입장에서 사람이라면(?) 어쩔수 없이 서비스 장애가 날 수 밖에 없다고 생각한다.  장애를 예밤하기 위해 Qa 검증을 진행하고, 다양한 경험을 쌓아 미연에 방지를 해야한다고 생각한다.  하지만 정말 본의아니게 어쩔수 없는 상황 (방화벽, 다른 업체 제공, 경험 부족 등)으로 발생되는 상황을 좀 더 빠르게 캐치하고 대처하면  조금 더 좋은 서비스를 제공할 수 있지 않을까 우선 업무에도 사용하고 폰에도 깔려있지만 카톡과는 확실하게 Work / Life가 구분되어있는 슬랙을 사용하겠다 . incoming-webhook을 사용하여 특정 시점에 메시지 제목을 발송하면 어떨까? implementation 'com.slack.api:slack-api-client:1.40.0' 슬랙 API를 Grad..

끄적끄적 2024.08.05

레디스(Redis) 알아보기

Redis란? Redis는 빠르고 간편한 오픈 소스 DB이다. 주로 메모리에 데이터를 저장하여 높은 성능을 제공하며, 캐싱, 세션 관리, 메시지 브로커 등에 활용된다. 기본적으로 키-값 형태로 데이터를 저장한다. Redis의 특징 메모리 기반의 데이터 저장 레디스는 데이터를 주로 메모리(RAM)에 저장하여 빠른 읽기와 쓰기 속도를 제공한다. 이는 디스크 기반의 데이터베이스보다 높은 성능을 실현할 수 있다. 메모리 기반의 저장은 주로 캐싱 및 높은 처리량이 필요한 실시간 응용 프로그램에서 효과적으로 사용되지만 아무래도 휘발성 메모리에 저장하기 때문에 백업을 효율적으로 잘 해두어야 한다. 키-값 구조 레디스는 간단한 키-값 구조로 데이터를 저장한다. 각 데이터는 고유한 식별자인 "키"와 그에 대응하는 "값..

끄적끄적 2024.01.07

NoSql이란? by gpt

GPT를 사용하여 한번 더 공부하고 정리를 해보았다. NoSQL 소개 NoSQL이란? NoSQL은 "Not Only SQL"의 약자로, 관계형 데이터베이스 이외의 다양한 데이터 모델을 지원하는 데이터베이스를 말한다. 이는 유연한 데이터 구조와 대용량 데이터 처리에 적합하며, 전통적인 테이블 기반의 관계형 데이터베이스의 제약을 벗어나려는 목적에서 등장한 이력이 있다. 관계형 데이터베이스와의 차이점 관계형 데이터베이스는 정해진 스키마에 따라 데이터를 저장하는 반면, NoSQL은 스키마가 유동적이고 데이터 모델이 다양하다. NoSQL은 확장성과 빠른 읽기/쓰기 속도에 중점을 둬, 특히 대규모 분산 시스템에서 효과를 발휘한다. NoSQL의 주요 특징과 장단점 주요 특징: 유연한 데이터 모델, 확장성, 분산 처리..

카테고리 없음 2023.12.10

NoSQL이란?

NoSQL이란 비관계형 데이터베이스를 말한다. 일반적인 관계형 데이터 모델을 지양하고 많은 분산된 데이터를 저장, 조회하는데 특화되어 있으며 스키마 없이 사용이 가능한 점이 큰 특징이며 기존의 RDBMS(Relational DataBase Management System) 형태의 관계형 데이터베이스의 한계를 극복하기 위해 만들어졌다. RDBMS와 NoSql의 차이 RDBMS NoSql 장점 * 정해진 스키마에 따라 데이터를 저장하여 명확한 데이터 구조를 보장한다. * 관계는 각 데이터를 중복없이 한 번만 저장할 수 있다. * 스키마가 없기때문에 자유로운 데이터 구조를 가질 수 있다. * 언제든 데이터를 조정하고 새로운 필드를 추가하기 자유롭다. * 데이터 분산에 용이하며 성능 향상을 위한 Saclue-u..

끄적끄적 2023.12.10