Extending MariaDB with user-defined functionsMariaDB plc
Learn how to write user-defined functions (UDFs) as stored functions or C/C++ extensions. While MariaDB Server provides a wide range of built-in functions defined in the SQL specification, some applications can benefit from custom-built, server-side functions. Want to build a function to calculate the Tanimoto coefficient between two chemical compounds or genes? In this advanced session, MariaDB's Andrew Hutchings and Sylvain Arbaudie will get you started writing UDFs that could give you a leg up on the competition.
As your service footprint grows, adding traffic control capabilities beyond stock solutions like kube-proxy becomes critical. Envoy provides fine grained routing control, load shedding, and metrics that help you scale your environment smoothly. We'll walk through several traffic control strategies using Envoy.
Extending MariaDB with user-defined functionsMariaDB plc
Learn how to write user-defined functions (UDFs) as stored functions or C/C++ extensions. While MariaDB Server provides a wide range of built-in functions defined in the SQL specification, some applications can benefit from custom-built, server-side functions. Want to build a function to calculate the Tanimoto coefficient between two chemical compounds or genes? In this advanced session, MariaDB's Andrew Hutchings and Sylvain Arbaudie will get you started writing UDFs that could give you a leg up on the competition.
As your service footprint grows, adding traffic control capabilities beyond stock solutions like kube-proxy becomes critical. Envoy provides fine grained routing control, load shedding, and metrics that help you scale your environment smoothly. We'll walk through several traffic control strategies using Envoy.
Docker and Go: why did we decide to write Docker in Go?Jérôme Petazzoni
Docker is currently one of the most popular Go projects. After a (quick) Docker intro, we will discuss why we picked Go, and how it turned out for us.
We tried to list all the drawbacks and minor inconveniences that we met while developing Docker; not to complain about Go, but to give the audience an idea of what to expect. Depending on your project, those drawbacks could be minor inconveniences or showstoppers; we thought you would want to know about them to help you to make the right choice!
어느 해커쏜에 참여한 백엔드 개발자들을 위한 교육자료
쉽게 만든다고 했는데도, 많이 어려웠나봅니다.
제 욕심이 과했던 것 같아요. 담번엔 좀 더 쉽게 !
- 독자 : 백엔드 개발자를 희망하는 사람 (취준생, 이직 희망자), 5년차 이하
- 주요 내용 : 백엔드 개발을 할 때 일어나는 일들(개발팀의 일)
- 비상업적 목적으로 인용은 가능합니다. (출처 명기 필수)
PostgreSQL is a very popular and feature-rich DBMS. At the same time, PostgreSQL has a set of annoying wicked problems, which haven't been resolved in decades. Miraculously, with just a small patch to PostgreSQL core extending this API, it appears possible to solve wicked PostgreSQL problems in a new engine made within an extension.
Docker and Go: why did we decide to write Docker in Go?Jérôme Petazzoni
Docker is currently one of the most popular Go projects. After a (quick) Docker intro, we will discuss why we picked Go, and how it turned out for us.
We tried to list all the drawbacks and minor inconveniences that we met while developing Docker; not to complain about Go, but to give the audience an idea of what to expect. Depending on your project, those drawbacks could be minor inconveniences or showstoppers; we thought you would want to know about them to help you to make the right choice!
어느 해커쏜에 참여한 백엔드 개발자들을 위한 교육자료
쉽게 만든다고 했는데도, 많이 어려웠나봅니다.
제 욕심이 과했던 것 같아요. 담번엔 좀 더 쉽게 !
- 독자 : 백엔드 개발자를 희망하는 사람 (취준생, 이직 희망자), 5년차 이하
- 주요 내용 : 백엔드 개발을 할 때 일어나는 일들(개발팀의 일)
- 비상업적 목적으로 인용은 가능합니다. (출처 명기 필수)
PostgreSQL is a very popular and feature-rich DBMS. At the same time, PostgreSQL has a set of annoying wicked problems, which haven't been resolved in decades. Miraculously, with just a small patch to PostgreSQL core extending this API, it appears possible to solve wicked PostgreSQL problems in a new engine made within an extension.
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
대부분의 중소 모바일 게임 업체는 앱을 잘 만들기에도 시간이 모자라 출시일을 잘 맞추기 급급한 상황이다. 그러다 보니 운영을 위한 툴은 소홀히 개발하는 경우가 대부분이고 운영 캠페인은 날림으로 개발하거나 그때 그때 개발자가 필요한 부분만 개발하기 일쑤다. 그러다보니 마케터는 결국 늘 개발자 눈치만 살피게 된다. 필자는 블루윈드에서 이러한 문제를 절감했고 '모바일 게임 개발사가 앱 개발에만 집중할 수 있게 해주고 싶다'는 IGAworks의 철학에 공감하여 라이브 오퍼레이션 프로젝트를 시작하게 되었다.
라이브 오퍼레이션의 개발 중점과제는 5가지였다. 첫번째, 다수의 개발사가 하나의 큰 클라우드 시스템을 사용하도록 multi-tenant 인프라를 구축해야 한다. 두번째, TCO(Total cost of ownership)를 최소화해야 한다. 세번째, 앱의 핵심유저를 실시간으로 그룹화하여 타게팅 캠페인을 할 수 있어야 한다. 네번째, 캠페인의 성과를 마케터에게 실시간으로 피드백해야 한다. 다섯째, 3개월 안에 정식 서비스가 되어야 한다는 점이었다. (왜 우리에게 주어지는 시간은 늘 3개월인가) 그리고 당연하지만 이 서비스를 혼자 개발해야 했다.
이 다섯가지 이슈를 해결하기 위하여 AWS 클라우드 상에 생산성과 성능이 검증된 node.js 와 mongodb를 이용하여 서비스 백엔드를 구성하였고, multi-tenant를 구성하기 위한 여러가지 고민과 그 해결책을 직접 구현하였다. 필자는 node.js와 mongodb를 사용해 본 경험이 충분하다 생각했지만 대규모 정식 서비스를 진행하며 많은 함정에 빠졌고 결국 해결했다.
이 발표를 통해 청강자는 node.js와 mongodb를 이용하여 multi-tenant 인프라를 구축해야 할 때 고려해야 할 설계 방식과 기술적인 고민, 그것에 대한 현실적인 해법을 얻을 수 있다.
[2017년 SW 마에스트로 100+ 컨퍼런스]
- 발표자: 오픈스택 한국 커뮤니티 조성수
- 행사 정보: https://www.facebook.com/swmaestro/photos/a.816861878341341.1073741828.812223648805164/1832957773398408/?type=3&theater&ifg=1
2. 만들면서배우는 클린아키텍처
한 페이지 요약
• 책 분류
• 개발, 소프트웨어 공학
• 대상 독자
• 클린 아키텍처, 마이크로서비스 아키텍처, 리팩토링에 관심이 많은 자바
개발자
• 특징
• 클린 아키텍처를 실제로 구현하면 어떤 형태가 될까? 그 과정에서 무엇을
조심해야할까? 코드로 직접 확인해보자.
• 참고
• 오늘은 마지막에 도서 증정 이벤트가 준비되어 있습니다!
3. 만들면서배우는 클린아키텍처
이 책의 목차
클린 아키텍처를 코드로 구성하면 어떤 모습이 될까?
01장: 계층형 아키텍처의 문제는 무엇일까?
02장: 의존성 역전하기
03장: 코드 구성하기
04장: 유스케이스 구현하기
05장: 웹 어댑터 구현하기
06장: 영속성 어댑터 구현하기
07장: 아키텍처 요소 테스트하기
08장: 경계 간 매핑하기
09장: 애플리케이션 조립하기
10장: 아키텍처 경계 강제하기
11장: 의식적으로 지름길 사용하기
12장: 아키텍처 스타일 결정하기
4. 만들면서배우는 클린아키텍처
무엇이 이 책을 흥미롭게 만드는가?(1)
로버트 마틴(Robert C. Martin)의 클린 아키텍처(clean architecture) 책이 마음에 들었다면?
• 전통적인 계층형 아키텍처와 클린 아키텍처의 차이점을 잘 정리
• 마이크로서비스 아키텍처에 잘 어울리는 여러 가지 실전 기법: 육각형 아키텍처, 도메인 주도 설계
• 아키텍처의 요소를 어떻게 애플리케이션에 녹여낼지 구체적으로 설명
• 기술 부채와 관련해 의식적으로 부채를 일으키고 나중에 갚는 방법을 아키텍처적으로 설명
• 온라인 송금 예제 애플리케이션인 BuckPal을 차근차근 만들어가면서 아키텍처 개선 방안을 제시
• 전체 BuckPal 예제 코드 제공: https://github.com/wikibook/clean-architecture
5. 만들면서배우는 클린아키텍처
무엇이 이 책을 흥미롭게 만드는가?(2)
부담없이 빠르게 읽을 수 있게 구성되어 있으면서도 완결된 내용을 다룸
• 본문이 144페이지 정도이며, 각 장이 짧게 구성되어서 부담없이 읽을 수 있음
• 아키텍처 스타일에 대해서 괜찮은 결정을 내리기 위한 경험치를 높이게 구성 → 전통적인 계층형 아키텍처로 작업하는 분들도 이 책에서
얻어갈 내용이 많다!
• 클린 아키텍처와 마이크로서비스 아키텍처와 리팩터링(w/ 테스트)에 대한 내용을 하나로 연결하는 마법을 보여준다
• 경계를 어떻게 나누고 매핑을 어떻게 해야할지 세부적인 지침을 제공한다
• 다이어그램이 풍부하고 이해하기 쉽다(다음 페이지 참고)
7. 만들면서배우는 클린아키텍처
대상 독자
백엔드 자바 개발자
• 주의: 초급서 아님!
• 스프링 프레임워크를 기반으로 의존성 역전과 주입 원칙을 이해하고 있으며 애너테이션(annotation)
등 자바의 여러 기능에 대해 알고 있어야 한다
• 로버트 마틴의 클린 아키텍처 책을 읽고 오는 편이 좋다
• 개발자 뿐만 아니라 아키텍처 설계를 담당하는 아키텍트도 이 책을 읽으면 큰 도움이 될 것으로 보임
8. 만들면서배우는 클린아키텍처
결론
***** 좋은 아키텍처를 기반으로 좋은 소프트웨어를 만들고 싶은 분들께 이 책을 추천한다
• 도대체 클린 아키텍처를 어떻게 만들어야 할지 막막했던 분들이라면 이 책을 읽고 나서 뭔가 길이 보일 것이다
• 육각형(hexagonal) 아키텍처를 실제 코드에 어떻게 적용하는지 확실하게 보여준다
• 단, 앞서 이야기했지만 얇고 코드가 간단하고 해서 결코 초급서는 아니며 어느 정도 전통적인 계층형 아키텍처에 익숙하거나
마이크로서비스에 익숙해야 이 책에서 무엇을 이야기하고 있는지 이해가 간다는 점에 주의하길…
• 팀 내에서 뭔가 기준점을 잡아야 하는 경우 이 책에서 제시하는 현실적인 조언이 큰 도움이 될 것이다
• 책을 보내주신 위키북스 담당자분께 감사 말씀드립니다.
9. 만들면서배우는 클린아키텍처
하나 더: 이벤트!
위키북스와 함께 하는 도서 증정 이벤트
• 총 다섯 분께 <만들면서 배우는 클린 아키텍처> 책을 선물로 드립니다.
• 응모 방법
• 2021년 12월 6일(월) 오후 11시 30분까지 유튜브 댓글로 이 책을 읽고 싶은 이유를 적어주시면 됩니다.
• 당첨자 추첨은 12월 7일(화) 오후 10시에 생방송으로 진행할 예정입니다.
• 좋은 선물을 받을 확률을 높이는 보너스(여러 번 진행해보니 확실히 효과가 있습니다): 댓글을 다실 때, 자신의 SNS에
이 방송 URL을 공유한 다음에 SNS 좌표를 올려주시면 됩니다!
• 이벤트를 위해 도서를 협찬해주신 위키북스 담당자분께 다시 한 번 감사 말씀드립니다.
10. 발표자 소개
기술 배경
전문 검색 엔진, 임베디드 시스템(리눅스 커널 디바이스 드라이버), 빅데이터/인공지능 연구 개발,
고성능 고가용성 데이터베이스
주요활동
IT 전문서 번역 (클린 코드, 피플웨어, 해커: 광기의 랩소디, 게임 엔진 블랙 북 등)
개발강의 (삼성전자, SK C&C, 삼성SDC, 현대자동차 기술 세미나와 교육)
활동채널
블로그: https://jhrogue.blogspot.com
슬라이드 셰어: https://www.slideshare.net/jrogue/presentations
유튜브: https://www.youtube.com/c/박재호dev
문의 jrogue@gmail.com
박재호