분류 전체보기

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 다음 문제는 dfs와 bfs의 가장 기초적인 문제다. 문제 풀이법은 딱히 중요한건 아닌 것 같고, 이 문제를 사실 9개월 전에 한번 풀었다가 감이 죽은 지금 다시 한번 풀었는데 메모리랑 실행시간이 너무 크게 비교가 돼서...(물론 9개월 전 코드가 더 아름다웠다.) 마음이 아파서 왜 그런지 비교해보도록 하겠다. 9개월 전 똑똑했던 나의 코드 #include #..
자바에서는 로깅을 slf4j를 사용한다. Logger를 쓰는 이유 로깅을 쓰는 이유는 간단하다. 당장 아래 예시의 결과만 봐도 Logger를 활용한다면 알 수 있는 것이 훨씬 많다. @RequestMapping("/log-test") public String logTest() { String name = "Spring"; System.out.println("name = " + name); log.info("info log={}", name); return "ok"; } 또한 application.properties를 통해서 Debug 레벨을 선택할 수 있다. 이것이 로깅의 또다른 장점이기도 하다! trace, debug, info(로컬에서는 trace, 개발에서는 debug, 운영에서는 info를 주로 ..
봄학기 현장실습 한 달이 지났다. 지난 겨울방학에 이어 1학기 현장실습도 벌써 1/4가 지나갔다. 지난 겨울방학의 마음가짐과 이번 마음가짐이 사뭇 다른 것 같다. 겨울방학 봄 학기 아는 것이 0에 수렴함 어느정도 아는 것 같음 (우매함의 봉우리?) 그렇다 보니 겨울방학 때는 잔뜩 겁먹고 "한 달동안 전속력으로 달려야지!!!" 라는 마인드였다면, 이번 봄학기는 "음.. 뭘 더 해보려나? 흠... 시키는 것들만 해도 늘거야" 라고 생각한게 큰 것 같다. 이렇게 살아본 후기로... 그렇게 살아도 괜찮겠어? 라는 말이 요즘더러 툭 튀어나오긴 하더라. 초반에는 내 커리큘럼을 내가 주체적으로 짜서 회사의 일을 내 속도에 맞추어 해결한 반면 요즘은 회사의 일에 잡혀 끌려간다는 느낌도 든다. 그런 순간 발전이라는게 딱..
도입 최근 내가 스타트업에서 하고 있는 프로젝트는 기존에 Php 라라벨로 작성되었다가 Java Spring으로 넘어와 지금은 Kotlin+Spring으로 짜여져있다. 이미 자바로 중요한 비지니스 로직이 짜여져있다보니 한 번에 모든 코드를 Kotlin으로 마이그레이션 하는 것은 비용적인 면에서 좋지 않기 때문에, 도메인 단위로 쪼개어서 필요하다면 마이그레이션을 진행하고 있는 상황이었다. 다행이도 Java와 Kotlin은 같은 JVM언어로 서로 호환이 매우 잘 되는 편이지만(물론, 아직 경험이 그다지 많지 않아서 확실하진 않지만 대체로 그런 것 같다.) 외부 오픈소스 프로젝트를 사용하게 된다면 가끔 언어가 다르다는 이유로 Build할 때 예상하지 못한 문제를 겪기도 한다. 비교적 최근에 겪었던 문제인데, 만..
헬로 스타트업 다음으로 CTO님과 인턴 넷이 함께 읽은 책은 "함께 자라기"라는 책이다. 따로 알고 있었던 책은 아닌데, 소프트웨어 엔지니어 사이에서 꽤 유명한 책이라고 해서 얼핏 들어봤던 것 같은 기억은 난다. 소프트웨어 개발 문화에 대한 이야기가 많았다. 이번 글에서는 책의 줄거리보다는, 세미나에서 나왔던 이야기들과 그에 관련된 내 생각에 대해서 정리해보는 시간을 가지는 것이 목표다. 소포트웨어의 본질은 곧 문화다. Sendy라는 회사에 가면 CTO는 Technical한 것(Kotlin, Spring, NextJS같은 것)들을 가르쳐주는 것이 메인 역할이 아니다. 곧 문화를 알려주고 내가 어떤 난간에 봉착했을 때 그것을 이겨내는 방법, 새로운 기술을 만났을 때 더 효율적으로, 잘 대처하는 방법들과 같..
· Backend
요구사항 이번 게시물의 배경이 되는 Context를 설명하도록 하겠다. Kinesis로 모바일 유저들에 위치/속도 등 여러가지 데이터가 실시간으로 1명당 10초에 1번 꼴로 수집되는 상황이다. 약 10000명 이상의 유저가 있으며 스트림 데이터로서 관리하여야 한다. Kinesis + Lambda를 통해서 비동기적으로 데이터가 들어올 때마다 API Gateway를 거쳐서 websocket으로 전송되던 구조에서, Spring 백엔드 서버로 Kinesis에 수집되는 데이터를 비동기적으로 수집하고 이를 또다시 비동기적으로 구독한 Client에게 실시간으로 데이터를 전송하여야 하는 상황이다. 도입 이번 게시물은 Kotlin언어 + Spring 프레임워크에서 Amazon Kinesis에서 코틀린의 코루틴과 EFO(..
지미닝
'분류 전체보기' 카테고리의 글 목록 (3 Page)