TIL(Today I Learned) #3 이야기
2024. 11. 9. 19:40
잡담
문제는 틈틈히 푸는데 TIL를 쓰기엔 정성이 부족해서 잘안하게 되네요.. ㅎㅎ 오늘은 백준 문제 12605번 : 단어순서 뒤집기 에 대해서 이야기 해볼까 합니다. 문제스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다. 입력첫 행은 N이며, 전체 케이스의 개수이다.N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.N = 51 ≤ L ≤ 25 앞서 그냥 받은 문자열을 뒤집는것이 아닌 항해99에서 내준 문제는 ..
TIL - 2번째
2024. 11. 3. 18:35
카테고리 없음
https://www.acmicpc.net/problem/31562 오늘은 백준 에서 31562 전주 듣고 노래 맞히기 에 대해서 진행해보도록하겠습니다. 문제 :윤수와 정환은 「전주 듣고 노래 맞히기」라는 게임을 할 예정이다. 「전주 듣고 노래 맞히기」는 주어진 노래의 전주를 듣고 먼저 제목을 맞히는 사람이 점수를 얻어 최종적으로 점수가 더 많은 사람이 이기는 게임이다. 절대 음감을 가진 윤수는 노래의 첫 네 음만 듣고도 어떤 노래든 바로 맞힐 수 있다. 따라서, 정환은 윤수를 이기기 위해 첫 세 음만으로 노래를 맞히게 해주는 프로그램을 만들려고 한다. 우선 정환이 알고 있는 노래 제목, 음이름 등을 데이터로 만든 뒤 프로그램을 구현하기 시작했다. 예를 들어, 다음은 TwinkleStar(반짝반짝 작은 ..
TIL
2024. 10. 29. 23:24
카테고리 없음
오늘은 화요일 향해99에서 2번째 맞이하는 날입니다. 월요일은 회사일이 너무 바뻐서 참여를 못했지만 처음으로 화요일날 참여하게되었습니다. TIL - Todya I Learn 오늘은 비기너 두번째날 문제를 풀어봤습니다. 문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항1 ≤ p의 길이..
메세지큐 - 카프카에 대해서
2024. 10. 27. 19:43
글또
아파치 카프카란 무엇인가?한마디로 말 하자면 Data inMotion platform이라고 말할수 있습니다. 즉, 움직이는 데이터를 처리하는 플랫폼이라고 하면서 또 다른 말로 하자면 Event Streaming Platform 이라고 합니다.실시간으로 흐르는 이벤트를 받아서 데이터가 필요한곳으로 데이터를 전송해주는것! Event는 비지니스 상에서 흐르는 모든 일들을 (Data)을 의미합니다. 예시로는우리가 웹 상에서 클릭송금청구서 발행위치정보택시 GPS, 배달 기사분들의 실시간 위치센서의 온도/압력 데이터이러한 Event의 특징은 BigData의 특징을 가지고있습니다.비지니스 모든 영역에서 광범위하게 발생대용량의 데이터가 발생끝임없이 데이터가 들어오기 때문에 event stream 이라고 부르고있습니다..
안정적으로 메시지 처리하는 카프카
2024. 10. 13. 18:06
글또
안녕하세요, 카프카에 관련된 글을 적기 위해서 고민을 하던차에 미국의 대기업 중 하나인 월마트의 카프카 사용에 대한 좋은 글을 읽게 되어서 먼저 공유를 하고 점차적으로 글을 공유하려고합니다.먼저 카프카에 대해서 어느정도 알고 있다면 큰 어려움 없이 읽을수 있을거같습니다. 요약Walmart는 여러 클라우드(퍼블릭 및 프라이빗)에 걸쳐 25,000명 이상의 Kafka 소비자와 함께 Apache Kafka를 배포하고 있습니다. 데이터 이동, 이벤트 기반 마이크로서비스, 스트리밍 분석 등 비즈니스에 중요한 사용 사례를 지원합니다. 이러한 사용 사례는 99.99의 가용성을 요구하며 갑작스러운 트래픽 급증으로 인해 발생하는 백로그를 신속하게 처리해야 합니다. Walmart 규모에서는 여러 언어로 작성된 다양한 Ka..
안녕하세요, 개발자 던킨입니다.
2024. 9. 20. 00:36
잡담
안녕하세요, 글또 10기를 지원하게 된 개발자 던킨입니다.저라는 사람의 지나온 시간을 글로 풀어내 독자에게 전달하는 일이 쉽지 않지만, 진솔하고 담백하게 적어보려고 합니다.먼저, 비전공자로서 개발자의 길을 선택하게 된 계기를 나누고자 합니다. 제 인생에서 중요한 전환점이었고, 개발자가 된 이유가 저를 가장 잘 표현하는 선택이라고 생각하기 때문입니다. "제가 개발자가 되기로 한 결정은 저라는 사람을 가장 잘 나타내는 선택이라고 생각합니다. 다양한 문화와 사람들을 이해하며 자란 제 삶에서, 개발은 단순한 기술적 학습을 넘어 끊임없이 변화하고 적응하는 능력을 요구하는 분야입니다. 이는 제 삶의 태도와 닮아 있습니다. 요리를 통해 배운 섬세함과 사람들에게 가치를 전달하려는 마음이, 개발에서도 같은 방식으로 구현..
static 과 JVM 메모리 모델을 이해해보자!
2024. 9. 1. 00:13
Language/Java
객체지향 프로그래밍 시작하기Static 과 메모리의 관계를 알아보도록 해보자이 글의 목표는 static 키워드와 메모리 관계에 있어서 이해를 돕고자 또한, JVM 에 사용하는 메모리 모델을 통해 자바 프로그래임이 어떤식으로 동작하는지에 대한 원리를 학습하는것을 목표로 합니다. 1. static 과 메모리의 관계2. static 멤버 들의 접근 방법3. private 생성자와 static과의 관계4. JVM 이 상요하는 메모리 영역5. class, object, instance의 상호관계 1. static 과 메모리의 관계메인(시작) 클래스는 왜 객체 생성(new)없이 실행이 되나요?public class StaticTest { public static void main(String[] args) {..
아파치 스톰 과 아파치 카프카
2024. 7. 16. 20:59
잡담
안녕하세요, 요즘 야근에 푹 빠져 살고있어서 오랜만에 글을 적습니다.예전부터 늘 공유하고 싶었던 아파치 스톰과 카프카의 장단점에 대해 적어보도록하겠습니다.저는 FDS(이상거래방지 시스템) 과 관련된 솔루션 회사에 근무를 하고 있고,제가 오기전부터 대용량 처리를 위한 파이프라인의 한 축을 카프카 아닌 스톰을 데이터 스트림의 실시간 처리를 위해 채택을 했습니다.이런식으로 데이터가 오갈때 log 를 수집하기도 하며 룰탐지를 통해서 미리 예방할수도 있습니다. 요즘은 금감원에서 더더욱 책임을 은행에 묻고 있어서 더 견고하게 만들어야하는 경우가 생기고있습니다.왜 카프카 가 아닌 스톰을 했는지 알지는 못하여서 둘의 차이점을 살펴보면서 왜 도입하게 되었는지 알아보도록하겠습니다.먼저, 대용량 처리에 필수적인 요소인..
Database Lock 이란?
2024. 6. 18. 21:33
DB
제가 일하고 있는 분야에서 RDBMS 에 보단 NoSql(Elasticsearch) 를 주로 쓰다 보니 공부하는 겸 공유를 하게 되었습니다.예전부터 궁금했던것들중에 하나가 선착순으로 지급해주는 이벤트성은 DB에서 어떻게 처리할까? 였습니다. DB lock에서 어느정도 궁금증을 해소하게 되었습니다. 혹시나 저처럼 이러한 생각을 한 분들은 이미 DB lock에 대해서 공부를 하셨다고 생각이 들지만 그럼에도 글을 공유하게 되었습니다.DataBase는 데이터를 영속적으로 저장하는 시스템입니다. 즉 같은 자원에 대해서 동시에 접근하는 경우가 생길 수밖에 없습니다. Lock 이란 트랜잭션 처리의 순차성을 보장하는 방법이라고 했습니다. 트랜잭션이란 DB의 나누어지지 않는 최소한의 처리 단위입니다. 2가지의 lock ..
컬렉션 API 개선 - modern java in action
2024. 6. 18. 19:52
Language/Java
큰틀에서 챕터 8은 아래와 같은 내용을 공유한다.컬렉션 팩토리 사용하기리스트 및 집합과 사용할 새로운 관용 패턴 배우기맵과 사용할 새로운 관용 패턴 배우기앞서, Modern Java in Action 에서는 챕터 8~10 까지는 Part 3으로 ‘스트림과 람다를 이용한 효과적 프로그래밍’ 으로 분류를 합니다.책의 저자는 ‘컬랙션 API 가 없었다면 자바 개발자의 삶은 많이 외로웠을 것’이라고 표현합니다.책에서 표현 하듯이, 거의 모든 자바 애플리케이션에서 컬렉션을 사용하고, 지금까지 컬렉션과 스트림 API를 이용해 데이터 처리 쿼리를 어떻게 효율적으로 처리할 수 있을지 살펴보려고 합니다.컬렉션 API 에는 성가시고, 에러를 유발하는 여러 단점이 존재합니다.챕터 8에서는 자바 8,9 에서 추가되어 우리의 ..