꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea<3탄>스프링 부트를 사용한 마이크로 서비스 개발 (로컬 환경) | 페어 프로그래밍 데모 (테스트 작성)
이번 세션에서는 Spring Boot를 사용한 웹 애플리케이션 개발에 대해 소개합니다. 이때 제작되는 애플리케이션은 Pivotal에서 풀타임으로 사용하고 있는 페어프로그래밍을 통해 테스트부터 작성하는 핑퐁 페어등을 소개합니다. 두명이 함께 코드를 작성하는 환경을 통해 빠른 사업환경의 변화를 수용할 수 있는 개발 업무가 Pivotal에서는 어떻게 다른지 살펴봅니다.
The Future of C# and .NET Framework명신 김테크데이즈 코리아 2014 에서 "The Future of C# and .NET Framework"라는 제목으로 발표한 슬라이드 입니다. 관련 동영상 : http://www.microsoftvirtualacademy.com/training-courses/-techdays-korea-2014-t14
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서Jeongmin Cha2021.03월 버전.
경력 및 세부 사항이 추가되는 대로 새로운 파일로 업로드할 예정입니다.
이력서 및 경력기술서를 합쳐서 하나의 파일로 완성했습니다 :)
궁금하신 사항은 개인 이메일 (cjm9236@gmail.com) 로 연락부탁드리겠습니다.
초고속 웹사이트 개발을 위한 Codeigniter PHP FrameworkInseok Lee지난 10월에 연구실에서 진행했던 세미나 자료입니다.
웹개발에 대한 기본적인 개념이나 프레임웤에 대한 내용을 전혀 모르는 학부 학생들과 연세가 있으신 박사과정 학생들을 위해 제작되었습니다.
Codeigniter의 내용보다도 왜 Codeigniter를 쓰면 좋은지, 그리고 웹 개발 방법은 어떻게 바뀌어 왔는지 등을 이곳저곳의 슬라이드(Codeigniter 한국사용자 포럼의 웅파님, 다음커뮤니케이션의 윤석찬님)를 정리하였습니다.
초보자를 대상으로 하는 강의에서 참고하면 좋을 것 같아용~
관련 문의는 Codeigniter 한국사용자 포럼 codeigniter-kr.org 에서 해주세요~
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk프로그래밍을 막 시작하거나 하고 있는 사람들을 위해 준비된 내용으로 요즘 프로그래밍 언어의 패러다임은 예전하고는 많이 달라졌다. 격변하고 있는 프로그래밍 언어의 세계에서 과거와 현재는 어떻게 다르며, 우리가 대처해야 할 자세는 무엇일까.
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Daniel Juyung SeoTizen - A Linux Based Open Source Platform
제 17회 한국 LUG 소프트웨어 테크니컬 세미나
http://onoffmix.com/event/34545
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서Jeongmin Cha2021.03월 버전.
경력 및 세부 사항이 추가되는 대로 새로운 파일로 업로드할 예정입니다.
이력서 및 경력기술서를 합쳐서 하나의 파일로 완성했습니다 :)
궁금하신 사항은 개인 이메일 (cjm9236@gmail.com) 로 연락부탁드리겠습니다.
초고속 웹사이트 개발을 위한 Codeigniter PHP FrameworkInseok Lee지난 10월에 연구실에서 진행했던 세미나 자료입니다.
웹개발에 대한 기본적인 개념이나 프레임웤에 대한 내용을 전혀 모르는 학부 학생들과 연세가 있으신 박사과정 학생들을 위해 제작되었습니다.
Codeigniter의 내용보다도 왜 Codeigniter를 쓰면 좋은지, 그리고 웹 개발 방법은 어떻게 바뀌어 왔는지 등을 이곳저곳의 슬라이드(Codeigniter 한국사용자 포럼의 웅파님, 다음커뮤니케이션의 윤석찬님)를 정리하였습니다.
초보자를 대상으로 하는 강의에서 참고하면 좋을 것 같아용~
관련 문의는 Codeigniter 한국사용자 포럼 codeigniter-kr.org 에서 해주세요~
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk프로그래밍을 막 시작하거나 하고 있는 사람들을 위해 준비된 내용으로 요즘 프로그래밍 언어의 패러다임은 예전하고는 많이 달라졌다. 격변하고 있는 프로그래밍 언어의 세계에서 과거와 현재는 어떻게 다르며, 우리가 대처해야 할 자세는 무엇일까.
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Daniel Juyung SeoTizen - A Linux Based Open Source Platform
제 17회 한국 LUG 소프트웨어 테크니컬 세미나
http://onoffmix.com/event/34545
(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 인프라를 구축해야 할 때 고려해야 할 설계 방식과 기술적인 고민, 그것에 대한 현실적인 해법을 얻을 수 있다.
LinqPad for DevOps성수 이C# 을 서비스에서 사용한다면 LinqPad는 필수입니다!
현재 live service 중인 project에서 linqpad의 사용 예시를 들어
운영과 서비스 활용 사례를 설명합니다.
좋은 툴을 알려주신 lacti 님 감사합니다. (__)
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍Chris Ohk INFCON 2022에서 진행했던 "Rust 크로스 플랫폼 프로그래밍"의 발표 자료입니다. Rust 언어로 크로스 플랫폼 엔진을 어떻게 만드는지, 그리고 만들면서 겪었던 시행착오와 해결 방법을 이야기했습니다. 많으 분들에게 도움이 되었으면 합니다.
RAD스튜디오 100% 활용하기 Devgear2017년 4월 출시된 최신 RAD스튜디오 10.2 도쿄 버전의 최신 기술들을 정리한 문서입니다.
개발 성능 향상, 최신 OS지원, 새로운 개발 영역(클라우드, IoT 등)으로의 손쉬운 확장 등.
개발자들에게 복잡할 수 있는 기술들을 간편하게 적용할 수 있는 RAD스튜디오의 기술과 활용팁 입니다.
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2The document discusses various machine learning clustering algorithms like K-means clustering, DBSCAN, and EM clustering. It also discusses neural network architectures like LSTM, bi-LSTM, and convolutional neural networks. Finally, it presents results from evaluating different chatbot models on various metrics like validation score.
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2The document discusses challenges with using reinforcement learning for robotics. While simulations allow fast training of agents, there is often a "reality gap" when transferring learning to real robots. Other approaches like imitation learning and self-supervised learning can be safer alternatives that don't require trial-and-error. To better apply reinforcement learning, robots may need model-based approaches that learn forward models of the world, as well as techniques like active localization that allow robots to gather targeted information through interactive perception. Closing the reality gap will require finding ways to better match simulations to reality or allow robots to learn from real-world experiences.
[243] Deep Learning to help student’s Deep LearningNAVER D2This document describes research on using deep learning to predict student performance in massive open online courses (MOOCs). It introduces GritNet, a model that takes raw student activity data as input and predicts outcomes like course graduation without feature engineering. GritNet outperforms baselines by more than 5% in predicting graduation. The document also describes how GritNet can be adapted in an unsupervised way to new courses using pseudo-labels, improving predictions in the first few weeks. Overall, GritNet is presented as the state-of-the-art for student prediction and can be transferred across courses without labels.
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2This document provides a summary of new datasets and papers related to computer vision tasks including object detection, image matting, person pose estimation, pedestrian detection, and person instance segmentation. A total of 8 papers and their associated datasets are listed with brief descriptions of the core contributions or techniques developed in each.
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2그림이 정상 출력되는 다음 링크의 자료를 확인해 주세요.
/deview/233-network-load-balancing-maglev-hashing-scheduler-in-ipvs-linux-kernel
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2This document presents a formula for calculating the loss function J(θ) in machine learning models. The formula averages the negative log likelihood of the predicted probabilities being correct over all samples S, and includes a regularization term λ that penalizes predicted embeddings being dissimilar from actual embeddings. It also defines the cosine similarity term used in the regularization.
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2The document discusses running a TensorFlow Serving (TFS) container using Docker. It shows commands to:
1. Pull the TFS Docker image from a repository
2. Define a script to configure and run the TFS container, specifying the model path, name, and port mapping
3. Run the script to start the TFS container exposing port 13377
[213] Fashion Visual SearchNAVER D2The document discusses linear algebra concepts including:
- Representing a system of linear equations as a matrix equation Ax = b where A is a coefficient matrix, x is a vector of unknowns, and b is a vector of constants.
- Solving for the vector x that satisfies the matrix equation using linear algebra techniques such as row reduction.
- Examples of matrix equations and their component vectors are shown.
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2This document describes the steps to convert a TensorFlow model to a TensorRT engine for inference. It includes steps to parse the model, optimize it, generate a runtime engine, serialize and deserialize the engine, as well as perform inference using the engine. It also provides code snippets for a PReLU plugin implementation in C++.
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2The document discusses machine reading comprehension (MRC) techniques for question answering (QA) systems, comparing search-based and natural language processing (NLP)-based approaches. It covers key milestones in the development of extractive QA models using NLP, from early sentence-level models to current state-of-the-art techniques like cross-attention, self-attention, and transfer learning. It notes the speed and scalability benefits of combining search and reading methods for QA.
10. 어떤 부분을 공부해야 나?
•Object Oriented Programming
•Protocol Oriented Programming
•Functional Programming
•Reactive Programming
11. 어떤 부분을 공부해야 나?
•Swift Programming Language : 매우 중요
•Objective-C Programming Language : 중요
•C++ Programming Language : 선택
•C Programming Language : 선택
30. iOS 개발에서의 Open Source
•많은 수의 Open source가 사용됨
•사용에 있어 전략적 판단이 필요
- 사용만 할 것인가? contribution 할 것인가?
- 어떤 것은 쓰고, 어떤 것은 쓰지 않을 것인가?
31. Open Source : 사용하는 이유
•작업의 속도와 편의성
•중복구현은 불필요하다
•해당 기능이 핵심이 아님 - 가져다 써도 됨
32. Open Source : 사용하지 않는 이유
•신뢰하기 힘든 open source
- 신뢰도를 어떻게 검증할 것인가?
•제공하는 기능의 부족
- 새로 만들 것인가? 가져와서 고칠 것인가? 고쳤다면
contribution할 것인가?
•해당 기능은 내재화 시킬 필요가 있음