Introduction to Apache KafkaJeff HolomanThe document provides an introduction and overview of Apache Kafka presented by Jeff Holoman. It begins with an agenda and background on the presenter. It then covers basic Kafka concepts like topics, partitions, producers, consumers and consumer groups. It discusses efficiency and delivery guarantees. Finally, it presents some use cases for Kafka and positioning around when it may or may not be a good fit compared to other technologies.
코틀린 멀티플랫폼, 미지와의 조우Arawn Park본 장표는 인프콘 2022 / 코틀린 멀티플랫폼, 미지와의 조우 세션에 대한 강연 자료입니다.
코틀린은 멀티플랫폼을 지원하는 언어로 Server-side와 Android뿐만이 아니라 JavaScript 엔진이 있는 브라우저나 Node.js도 지원하며, Native 등 다양한 플랫폼에서 쓸 수 있습니다. 이를 이용해 코틀린 코드를 공유하는 단일 코드베이스로 모바일부터 웹과 데스크톱, 서버에 이르기까지 다중 플랫폼 애플리케이션을 작성할 수 있습니다.
본 핸즈온 세션을 통해 코틀린 멀티플랫폼과 함께 리액트, 스프링부트로 웹 애플리케이션의 프론트엔드부터 백엔드까지 직접 개발하며 친해져 보는 시간을 가져보세요. 참가자는 코틀린 멀티플랫폼 프로젝트를 이해하고, 더 나아가 프론트엔드와 백엔드 간의 공유 로직 작성, Kotlin/JS 기반 리액트 및 스프링 웹 프로그래밍을 경험할 수 있습니다.
https://github.com/arawn/building-fullstack-webapp-with-kotlin-multiplatform
https://infcon.day/speaker/박용권-김지헌-코틀린-멀티플랫폼/
Apache Kafka Architecture & Fundamentals ExplainedconfluentThe document outlines the fundamentals and architecture of Apache Kafka, focusing on key elements such as topics, producers, brokers, and consumers. It explains how Kafka decouples producers and consumers, leverages Zookeeper for configuration, and manages data through partitions and segments. Additionally, it provides information on training and certification opportunities for developing and administering Apache Kafka.
Reactive programmingSUDIP GHOSH1) Reactive programming is a new programming paradigm that is asynchronous and non-blocking, treating data flows as event-driven streams.
2) Traditional REST APIs are synchronous and blocking with limitations on concurrent users, while reactive programming supports asynchronous operations, uses fewer threads, and enables back pressure on data streams.
3) Key aspects of reactive programming include reactive streams specifications, publishers that represent data sources, subscribers, and asynchronous non-blocking libraries like RxJava and Project Reactor that implement the specifications.
Introduction To RabbitMQKnoldus Inc.This document provides an introduction to RabbitMQ, a messaging broker that implements the Advanced Message Queuing Protocol (AMQP). It details the messaging system's components, including producers, consumers, queues, and exchanges, explaining how messages flow from production to consumption. Various types of exchanges, such as direct, fanout, topic, and header exchanges, are also discussed, highlighting their routing mechanisms.
Event Sourcing & CQRS, Kafka, Rabbit MQAraf Karsh HamidThe document outlines a multi-part presentation on building cloud-native applications using microservices, focusing on event streaming, Kafka, and various messaging techniques such as asynchronous calls and distributed transactions. It emphasizes the principles of microservices architecture, scalability, and fault tolerance, alongside the advantages of using Kafka over traditional queuing systems for managing data streams. Key concepts include event storming, replication strategies, and performance-related aspects of using Kafka in a cluster environment.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
Apache KafkaSaroj PanyasrivanitThis document provides an overview of Apache Kafka. It begins with defining Kafka as a distributed streaming platform and messaging system. It then lists the agenda which includes what Kafka is, why it is used, common use cases, major companies that use it, how it achieves high performance, and core concepts. Core concepts explained include topics, partitions, brokers, replication, leaders, and producers and consumers. The document also provides examples to illustrate these concepts.
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기YongSung YoonThe document discusses strategies for implementing microservices architecture (MSA) using various components such as Hystrix for circuit breaking, Eureka for service discovery, and Zuul as an API gateway. It emphasizes the importance of resilience in inter-service communication and outlines configurations for these technologies. The document also reflects on past experiences and challenges faced during its implementation.
Enterprise Messaging with Apache ActiveMQelliando diasThis document provides an overview of enterprise messaging with Apache ActiveMQ. It discusses what messaging is, describes the core components of Apache ActiveMQ like topics, queues, clients, selectors, wildcards, broker architecture, message persistence, security, transports, failover, wire formats including OpenWire and STOMP, monitoring, testing, visualization tools, prefetch, exclusive consumers, message groups, total ordering, consumer priority, virtual destinations, bridging to other protocols, and includes an example of routing messages with Apache Camel.
서버학개론(백엔드 서버 개발자를 위한)SU BO KIM어느 해커쏜에 참여한 백엔드 개발자들을 위한 교육자료
쉽게 만든다고 했는데도, 많이 어려웠나봅니다.
제 욕심이 과했던 것 같아요. 담번엔 좀 더 쉽게 !
- 독자 : 백엔드 개발자를 희망하는 사람 (취준생, 이직 희망자), 5년차 이하
- 주요 내용 : 백엔드 개발을 할 때 일어나는 일들(개발팀의 일)
- 비상업적 목적으로 인용은 가능합니다. (출처 명기 필수)
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요Jo HoonThe document discusses the significance of Kubernetes for network engineers, emphasizing its growing importance in modern IT environments. It highlights the author's role as a technical advisor and contributor to various IT communities, while also providing educational resources on Kubernetes and Ansible. Additionally, it outlines the evolving demands on traditional network engineers and encourages collaborative learning in the IT field.
Dependency Injection in Spring in 10minCorneil du PlessisDependency injection with Spring allows managing object dependencies and compositions. It handles composing objects by externalizing the lookup and assembly of collaborating objects. This avoids tight coupling. Spring supports dependency injection through XML configuration, annotations, and Java configuration. It handles creating and assembling objects and their dependencies. Dependency injection improves testability and maintainability of applications.
Apache Camel v3, Camel K and Camel QuarkusClaus IbsenThe document outlines the features and evolution of Apache Camel, a Java-based integration framework, detailing its architecture and capabilities, including Camel K, a lightweight integration platform designed for Kubernetes. It highlights the advancements in Camel 3, which include modularized components, reactive routing, and serverless support through Knative. Additionally, it emphasizes the growing significance of serverless computing in application development and the framework's adaptability across various runtime environments.
Grafana Loki: like Prometheus, but for LogsMarco PracucciThe document discusses Grafana Loki, an open-source tool for efficiently managing logs in observability systems. It details the architecture, including components like Promtail, and explains how logs are processed, indexed, and stored in various backends. Additionally, it covers sharding, replication strategies, and the query mechanism utilized to enhance performance in log management.
Introduction to Kong API GatewayYohann CiurlikThis document provides an overview of Kong, an open-source API gateway. It discusses that Kong is a cloud-native, scalable middleware between clients and APIs, and supports features like authentication, security, traffic control, and analytics. The document also summarizes the Community and Enterprise editions of Kong, including that the Enterprise edition provides additional capabilities like an admin GUI, API analytics, and support. It concludes with an example of using Kong to expose an API and discusses benefits and concerns of Kong.
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Steve PemberThe document discusses the anatomy of a Spring Boot application utilizing clean architecture principles, highlighting the importance of software architecture for modularity, testability, and maintainability. It explains various architectural concepts, such as SOLID principles, component separation, and the need to treat databases and environment configurations as implementation details. The presentation emphasizes designing a flexible architecture that prioritizes core business logic while decoupling details to enhance adaptability and maintainability.
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong ChoiCloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
Rest api standards and best practicesAnkita MahajanThis presentation outlines best practices for developing RESTful web services over HTTP, focusing on naming conventions, URI structure, API versioning, error handling, and response standards. It emphasizes the importance of standard HTTP methods (GET, POST, PUT, DELETE) for CRUD operations and provides guidelines for resource representation and interaction. Key topics include response status codes, managing resources, and ensuring clear communication with clients about resource availability and errors.
The RabbitMQ Message BrokerMartin ToshevRabbitMQ is an open source message broker that implements the AMQP protocol. It provides various messaging patterns using different exchange types and supports clustering for scalability and high availability. Administration of RabbitMQ includes managing queues, exchanges, bindings and other components. Integrations exist for protocols like STOMP, MQTT and frameworks like Spring, while security features include authentication, authorization, and SSL/TLS encryption.
Event Sourcing & CQRS, Kafka, Rabbit MQAraf Karsh HamidThe document outlines a multi-part presentation on building cloud-native applications using microservices, focusing on event streaming, Kafka, and various messaging techniques such as asynchronous calls and distributed transactions. It emphasizes the principles of microservices architecture, scalability, and fault tolerance, alongside the advantages of using Kafka over traditional queuing systems for managing data streams. Key concepts include event storming, replication strategies, and performance-related aspects of using Kafka in a cluster environment.
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao황민호(robin.hwang) / kakao corp. DSP개발파트
---
최근 Spring Cloud와 Netflix OSS로 MSA를 구성하는 시스템 기반의 서비스들이 많아지는 추세입니다.
카카오에서도 작년에 오픈한 광고 플랫폼 모먼트에 Spring Cloud 기반의 MSA환경을 구성하여, API Gateway도 적용하였는데 1년 반 정도 운영한 경험을 공유할 예정입니다. 더불어 MSA 환경에서는 API Gateway를 통해 인증을 어떻게 처리하는지 알아보고 OAuth2 기반의 JWT Token을 이용한 인증에 대한 이야기도 함께 나눌 예정입니다.
Apache KafkaSaroj PanyasrivanitThis document provides an overview of Apache Kafka. It begins with defining Kafka as a distributed streaming platform and messaging system. It then lists the agenda which includes what Kafka is, why it is used, common use cases, major companies that use it, how it achieves high performance, and core concepts. Core concepts explained include topics, partitions, brokers, replication, leaders, and producers and consumers. The document also provides examples to illustrate these concepts.
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기YongSung YoonThe document discusses strategies for implementing microservices architecture (MSA) using various components such as Hystrix for circuit breaking, Eureka for service discovery, and Zuul as an API gateway. It emphasizes the importance of resilience in inter-service communication and outlines configurations for these technologies. The document also reflects on past experiences and challenges faced during its implementation.
Enterprise Messaging with Apache ActiveMQelliando diasThis document provides an overview of enterprise messaging with Apache ActiveMQ. It discusses what messaging is, describes the core components of Apache ActiveMQ like topics, queues, clients, selectors, wildcards, broker architecture, message persistence, security, transports, failover, wire formats including OpenWire and STOMP, monitoring, testing, visualization tools, prefetch, exclusive consumers, message groups, total ordering, consumer priority, virtual destinations, bridging to other protocols, and includes an example of routing messages with Apache Camel.
서버학개론(백엔드 서버 개발자를 위한)SU BO KIM어느 해커쏜에 참여한 백엔드 개발자들을 위한 교육자료
쉽게 만든다고 했는데도, 많이 어려웠나봅니다.
제 욕심이 과했던 것 같아요. 담번엔 좀 더 쉽게 !
- 독자 : 백엔드 개발자를 희망하는 사람 (취준생, 이직 희망자), 5년차 이하
- 주요 내용 : 백엔드 개발을 할 때 일어나는 일들(개발팀의 일)
- 비상업적 목적으로 인용은 가능합니다. (출처 명기 필수)
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요Jo HoonThe document discusses the significance of Kubernetes for network engineers, emphasizing its growing importance in modern IT environments. It highlights the author's role as a technical advisor and contributor to various IT communities, while also providing educational resources on Kubernetes and Ansible. Additionally, it outlines the evolving demands on traditional network engineers and encourages collaborative learning in the IT field.
Dependency Injection in Spring in 10minCorneil du PlessisDependency injection with Spring allows managing object dependencies and compositions. It handles composing objects by externalizing the lookup and assembly of collaborating objects. This avoids tight coupling. Spring supports dependency injection through XML configuration, annotations, and Java configuration. It handles creating and assembling objects and their dependencies. Dependency injection improves testability and maintainability of applications.
Apache Camel v3, Camel K and Camel QuarkusClaus IbsenThe document outlines the features and evolution of Apache Camel, a Java-based integration framework, detailing its architecture and capabilities, including Camel K, a lightweight integration platform designed for Kubernetes. It highlights the advancements in Camel 3, which include modularized components, reactive routing, and serverless support through Knative. Additionally, it emphasizes the growing significance of serverless computing in application development and the framework's adaptability across various runtime environments.
Grafana Loki: like Prometheus, but for LogsMarco PracucciThe document discusses Grafana Loki, an open-source tool for efficiently managing logs in observability systems. It details the architecture, including components like Promtail, and explains how logs are processed, indexed, and stored in various backends. Additionally, it covers sharding, replication strategies, and the query mechanism utilized to enhance performance in log management.
Introduction to Kong API GatewayYohann CiurlikThis document provides an overview of Kong, an open-source API gateway. It discusses that Kong is a cloud-native, scalable middleware between clients and APIs, and supports features like authentication, security, traffic control, and analytics. The document also summarizes the Community and Enterprise editions of Kong, including that the Enterprise edition provides additional capabilities like an admin GUI, API analytics, and support. It concludes with an example of using Kong to expose an API and discusses benefits and concerns of Kong.
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Steve PemberThe document discusses the anatomy of a Spring Boot application utilizing clean architecture principles, highlighting the importance of software architecture for modularity, testability, and maintainability. It explains various architectural concepts, such as SOLID principles, component separation, and the need to treat databases and environment configurations as implementation details. The presentation emphasizes designing a flexible architecture that prioritizes core business logic while decoupling details to enhance adaptability and maintainability.
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong ChoiCloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
Rest api standards and best practicesAnkita MahajanThis presentation outlines best practices for developing RESTful web services over HTTP, focusing on naming conventions, URI structure, API versioning, error handling, and response standards. It emphasizes the importance of standard HTTP methods (GET, POST, PUT, DELETE) for CRUD operations and provides guidelines for resource representation and interaction. Key topics include response status codes, managing resources, and ensuring clear communication with clients about resource availability and errors.
The RabbitMQ Message BrokerMartin ToshevRabbitMQ is an open source message broker that implements the AMQP protocol. It provides various messaging patterns using different exchange types and supports clustering for scalability and high availability. Administration of RabbitMQ includes managing queues, exchanges, bindings and other components. Integrations exist for protocols like STOMP, MQTT and frameworks like Spring, while security features include authentication, authorization, and SSL/TLS encryption.
웹:앱 기술 동향ssuser0e53c8외부 강연용 PPT입니다.
비전공 학원 교육생 대상으로 발표에 이용하였던 PPT이고,
세부적인 내용을 배제하였을때 약 3시간 정도 발표 시간이 나왔습니다.
원본은 Keynote이기 때문에 일부 틀어진 부분이 있을 수 있습니다.
CoreDot TechSeminar 2018 - Session1 Park JihunCore.Today코어닷 기술 세미나 2018
Session #1 : 박지훈 (코어닷투데이 개발자)
파이썬을 이용해 세상에서 가장 쓸모없는 홈페이지 만들기
14:00 ~ 14:50
Python Flask로 사용자가 글을 쓰면, 마음대로 수정하고 삭제해버리는 쓸모없는 웹사이트(Useless Website)를 만들어 봅니다.
- Python라이브러리인 flask을 이용한 웹사이트 개발 과정 소개
- MongoDB를 이용해 웹사이트상에서 게시물 작성,조회,수정,삭제(CRUD) 기능 구현 실습
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
https://www.youtube.com/watch?v=gfbWxyz7Zeo
JSP 프로그래밍 #01 웹 프로그래밍Myungjin LeeJSP 프로그래밍 #01 웹 프로그래밍
1.1 웹 (온라인 강의: https://youtu.be/qDZXXHhMr4A)
1.2 서블릿 (온라인 강의: https://youtu.be/a8hHeUhbz2k)
1.3 JSP(Java Server Page) (온라인 강의: https://youtu.be/Q4ezLP6KLwM)
1.4 프로그래밍을 위한 환경 설정 (온라인 강의: https://youtu.be/k2eR6gLULA8)
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기 iFunFactory Inc.Unite'17 Seoul 아이펀팩토리 발표자료
1. 강연주제: 클라이언트 개발자, 서버 개발 시작하기
2. 강연자: 박근환 TD
3. 강연소개: 이 세션은 주로 게임 클라이언트 개발자로 경력을 쌓아오던 개발자가 게임 서버 솔루션 회사에서 일하면서 알게된 사실들을 바탕으로, 클라이언트 개발자가 서버 개발을 시작하려면 필요한 것들이 무엇인지, 어떻게 시작해야 하는지에 대하여 이야기합니다.
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?nexusz99드랍박스, nDrive 등과 같은 클라우드 스토리지 서비스들은 데이터를 어떻게 저장하는지에 대한 이론적 내용과 실제 구현 내용을 살펴봅니다. 이 발표에서는 OpenStack 의 swift라는 Object Storage 를 이용하여 이론이 어떻게 구현되어있는지 알아봅니다.