2023/07 13

Stream의 개념을 설명할 수 있나요? (의역)

"Stream"이라는 단어는 실제로 그걸 사용할때 전달하고자하는 의미와 비슷해서 선택된 것입니다. 그냥 다 잊어버리고, 물줄기(Water stream)에 대해서 생각해봅시다. 강에 흐르는 물처럼, 우리는 흐르는 데이터를 받을 수 있습니다. 이 데이터가 어디서 왔는지 알 필요는 없죠. 이게 파일에서 오든, 소켓에서 왔든, 다른 어떤 것이든...정말 알 필요가 없습니다. 뭐 물을 받을 때도 마찬가지입니다. 이 물이 호수에서 오든, 분수에서 왔든간에 알 필요가 없습니다. 즉, 이 데이터가 어디서 왔는지 관계없이 데이터를 받는데에만 신경을 쓰게된다는 겁니다. 데이터의 흐름이 추상화된 것이 "Stream"이라는 것이죠. int ReadInt(StreamReader reader) { return Int32.Pars..

메멘토 패턴 (Memento Pattern): Rust로 구현

메멘토는 세부 구현을 드러내지 않으면서 객체의 이전 상태를 복원하고, 저장할 수 있게 해주는 디자인 패턴이다. 문제 간단한 텍스트 편집기를 개발한다고 가정해보자. 상태 스냅샷을 만드는것을 간단히 생각해보면, 저장소에 모든 필드들을 저장소에 저장하는 것을 생각할 수 있다. 하지만 아래와 같은 문제들이 있을 수 있다. 캡슐화로 인해 모든 필드들에 접근할 수 없을지도 모른다. 나중에 텍스트 편집기 클래스를 리팩토링하거나 일부 필드를 추가/제거 한다고 했을때 상태 복사를 담당하는 클래스도 같이 변경해야하는 번거로움이 생긴다. 상태를 저장 및 복원하기 위해 스냅샷도 필드들을 모두 열어놓아야(public)한다. 솔루션 메멘토 패턴은 앞에서 생각했던 것 처럼 다른 객체가 외부에서 에디터의 상태를 복사하려고 시도하는 ..

[상도역] 고우마구로 - 초밥

일 끝나고 종종 가는 초밥집이다. 그냥 저냥 캐주얼하게 먹을 수 있는 판초밥집은 아주 많지만, 맛있는 판초밥집은 드물다. 난 초밥을 세상 모든음식중에 제일 좋아하는데 부자가 아니라서 오마카세를 맨날먹지 못한다. 그래서 경험적으로 맛있는 판초밥집을 찾을 수 있는 기준이 어느정도 있다. ㅋㅋㅋ 1. 초밥과 회 모양이 균일할것 초밥 크기가 비슷하고 균일하게 생겼는지가 해당된다. 위에 올려진 횟감에도 해당되는 얘기인데 예를들면 같은 연어초밥인데 자른 회 모양이 다 다르게 생겻다거나하면 그 집은 별로다... 2. 반질반질 윤기가 날것 솔직히 요리사가 아니라 뭘바르는건지 모르겠지만 맛있는집은 회가 반질반질 빛이난다. 3. 새우초밥은 흔히보는 그 모양이 아닐것 납작한 그 이마트초밥에 붙은 초새우 그대로 쓰는 집은 그..

[중앙대] 채홍 - 탕수육

상도에 막 이사 왔을때, 친구랑 같이 집을 청소하고 어디서 먹을까 방황하던중 그냥 후기도 안보고 들어간 가게다. 그런데 왠걸 탕수육이 너무 맛있었다. ㅋㅋㅋㅋ 여태까지 숱한 탕수육을 먹어봤지만 이 집에 비하면 아래였다. 탕수육을 전문으로 하는 집보다 탕수육을 잘한다. 특이한 맛집이 판지는 요즘에 비하면 비주얼은 평범하지만 정말 맛있게 잘만든 탕수육이다. 중국집의 3인방인 짜장과 짬뽕도 전국최고!이런 급은아닌 평범한 맛이지만, 맛있는 탕수육과 함께먹기 적당할정도로는 맛이 받쳐준다. 1층은 어르신들이나 1인 손님, 몸이 불편한 손님들을 위해 항상 여유공간을 마련해주시는 것 같고 대부분은 2층에서 식사를 한다. 연예인들도 몇몇 와서 싸인흔적이 곳곳에 있고 사장님이 아주 젠틀하시고 식당도 깔끔해서 중국 레스토랑..

Google I/O Extended Seoul 2023 후기

코엑스에서 열린 Google I/O Extended Seoul에 다녀왔다. 난생 처음 가보는 개발자 컨퍼런스였는데, 개발덕후들 속에서 자극을 받고싶어서 컨퍼런스를 다녀보겠다는 결심을 했다. 입장료는 10,000원으로 저렴한 편인데, 기념품도 빠방해서 컨퍼런스에서 얻을 수 있는 정보까지 더하면 구글은 완전히 적자가 아닐까? 생각이들었다. ㅋㅋㅋ 주요 목적이 모르는 개발 용어들을 접해보고, 평소에 관심없던 분야에 대한 찍먹을 경험해보고 싶은 마음이 있어서 일부러 안드로이드 강의를 좀 피했다. 강의는 대부분 20분/40분으로 나눠져있는데, 20분 강의를 하시는 분들은 시간에 쫓겨 아쉽게도 훅훅 넘어간 부분들이 많았다. 강의 후기 및 간략한 요약 세상의 모든 데이터베이스 이야기: 윤명식 / @메가존클라우드 세상..

나/리뷰 2023.07.29

Google I/O Extended Seoul 2023: Dagger Hilt로 의존성 주입하기

https://speakerdeck.com/fornewid/dagger-hiltro-yijonseong-juibhagi @네이버 웹툰 안성용님 발표자료를 글로 옮긴 것입니다. 의존성 주입이란? 의존성 주입은 하나의 객체가 다른 객체의 의존성을 제공하는 기법. 의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것. // 의존성 주입 X class Car { private val engine: Engine = Engine() fun start() { engine.start() } } // 의존성 주입 예시 - 생성자에서 전달 class Car(private val engine: Engine) { fun start() { engine.start() } } // 의존성 주입 예시 - 필드 주입 clas..

[마인크래프트 모드추천] 현실처럼 자연스럽게 청크로딩, Distant Horizons 모드

현실에서처럼 산같은 높은 곳이 멀리 보이면서 세부적인게 점점 로딩되는 형식으로 청크로딩 방식이 바뀝니다. 더 멀리보이면서도 View Distance 성능을 높여준다고합니다. 이 모드를 사용하며 월드를 돌아다닌다면 더 모험하는 기분을 느낄 수 있을것같습니다! https://www.curseforge.com/minecraft/mc-mods/distant-horizons 말보다는 영상으로 보시는게 좋을 것 같네요. https://youtu.be/_04BZ8W2bDM

[마인크래프트 모드추천] 멀티의 재미를 추가하는 Player Ladder 모드

https://www.curseforge.com/minecraft/mc-mods/player-ladder Player Ladder는 플레이어 위에 앉을 수 있는 모드인데요, 서버쪽에만 있으면 되는 서버사이드 모드입니다. 플레이어를 우클릭하면 앉을 수 있습니다. 현재 1.20.1 이상을 지원하는 모드입니다. 지속적으로 업데이트 되고 있는 것 같네요. 친구들이랑하면 너무 재밌을 것 같습니다 ㅋㅋㅋ

AGC WALLET 개인정보처리방침

총칙 AGC (이하 '회사')는 온라인상에서 ‘통신비밀보호법’, ‘전기통신사업법’, ‘정보통신망 이용촉진 및 정보보호 등에 관한 법률’ 등 정보통신서비스제공자가 준수하여야 할 관련 법령상의 개인정보보호 규정을 준수하며, 관련 법령에 의거한 개인정보취급방침을 정하여 회원의 개인정보 보호에 최선을 다하고 있습니다. 회사의 개인정보보호는 다음과 같이 이루어지고 있습니다. 회사는 개인정보보호방침을 통하여 회원이 제공하는 개인정보를 관련법률 및 정부지침의 변경과 더불어 내부 신규서비스의 추가와 서비스 확대시 이에 따른 정책이 추가/변동될 수 있으므로 어떠한 용도와 방식으로 이용되고 있으며 개인정보보호를 위해 어떠한 조치가 취해지는지 홈페이지 첫 화면에 공개함으로써 회원이 언제나 용이하게 보실 수 있도록 조치하고 ..

빠르게 서버를 구축하기 위한 Docker Compose 템플릿 공유

version: "3.4" services: mc: image: itzg/minecraft-server container_name: mc tty: true stdin_open: true ports: - 25565:25565 - 25575:25575 environment: # server type TYPE: FORGE FORGE_VERSION: "47.1.21" VERSION: "1.20.1" # server.properties SERVER_NAME: "Server Name" MOTD: "Your Server's MOTD" EULA: TRUE GAMEMODE: SURVIVAL DIFFICULTY: EASY VIEW_DISTANCE: 10 SIMULATION_DISTANCE: 4 MAX_PLAYERS: 32..