Embedded C에서 TDD를 실천하기 위해 시도했던 경험과 방법을 기록해 보았습니다.
HW로부터 생기는 버그인지 SW로부터 생기는 버그인지 짐작조차 되지 않는 상황이 자주 발생한다면, TDD를 시작해보세요.
이 자료에서는 호스트 시스템(PC)에서 TDD를 실천하는 방법과 타깃 시스템(nRF51-DK)에서 TDD를 실천하는 방법을 기록하였습니다.
또한, nRF51-DK가 아닌 다른 보드를 가지고 있더라도 실천 가능합니다.
ktim610@gmail.com
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘Atlassian 대한민국
Git 기반의 권장 개발 프로세스, 빌드 테스트 자동화, Docker 활용법, Pull Request 기반의 프로세스 및 권장 저장소 구성
실사례 중심의 SW 유지보수 프로세스 상에서 JIRA Service Desk, Bitbucket, Pipeline, Bamboo, Jira의 역할과 연결성 및 활용 방법
[21 크리에이티브 디렉터 세미나] 발표자료입니다.
PM과 함께 일하는 디자이너, PM 역할을 겸해야 하는 디자이너분들을 대상으로 PM 직군이 조직과 제품의 성장을 위해 어떤 고민과 노력을 하고 있는지 공유합니다.
우아한형제들에서 B마트와 배민스토어를 만드는 B마트서비스팀의 사례가 함께 담겨있습니다.
DEVOPS 전반적인 것에 대해서 소개를 한 자료입니다.
http://wiki.tunelinux.pe.kr/display/sysadmin/DEVOPS
https://groups.google.com/forum/#!topic/sysadminstudy/g4bM_xbZPC8
DevOps 시작
DevOps 정의
Dev vs Ops 충돌
DevOps 유래
참고자료
애자일 방법론
ITIL
린스타트업
린 생산방식
애자일을 OPS로 확장
DevOps 관점 : 측정지표 관점, 프로세스 관점, 기술 관점
DevOps가 아닌 것은?
DevOps 소개
프로젝트 세팅 : 전통적인 프로젝트 세팅, 애자일 프로세스 세팅
하나의 팀
핵심
가치와 목적
프로세스
도구
DevOps 구성하기
측정지표 : cycle time, 변경(change)
흐름 개선하기
배포 개선 및 가속화 : batch size 줄이고 더 자주 배포하여 cyclle time 줄이기.
못 다한 이야기 : Metrics and Measurement View / Process View / Technical View
Top 11 Things About DevOps
DevOps의 기초 원리 : 전체 시스템적인 사고, 피드백 루프를 확대하기, 지속적인 실헝과 학습
자동화 도구
이상적인 프로젝트란?
버전관리
티켓관리
지속적인 통합(CI)
지속적인 배포(CD)
프로비저닝 툴체인
OS설치
설정
오케스트레이션(배포)/워크플로우
이제 무엇을 할까?
나가면서
참고자료
최보경 : 실무자를 위한 인과추론 활용 - Best Practices
발표영상 https://youtu.be/wTPEZDc6fw4
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
The 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.
The 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 D2
This 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 D2
This 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.
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
This 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 D2
The 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
The 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.
This 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++.
The 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.
12. 현황NHN내의 개발자 사이에서 테스트 작성범위에 대한 논쟁이 있음테스트 커버리지 100% 달성해야 하는가? Mock 어디까지 사용해야 하는가?Action(혹은 Controller) 테스트 해야 하는가?
13. 현황(Cont`) - 예시public void joinToCafebook(Cafebook book, Article relatedArticle, CafeUsercurrentUser) {cafeBookDAO.insert(book);articleDAO.insert(relatedArticle);cafeUserDAO.insert(currentUser);}이런 코드도 Mock을 이용해서 단위 테스트 해야 하나?* 위 예는 실제 서비스 코드와 유사한 가상코드입니다.
14. 활동각 서비스 별 코드리뷰 혹은 단체 토론 교육을 통해 실제 서비스 상황 중심으로 테스트에 관한 심층적 논의논의를 하다 보면 아래 단어가 자주 등장 ROI유지보수성통합테스트,Acceptance Test상태검증, 행위검증, Mock
15. 결과아직 전사적으로 뚜렷한 합의점은 찾지 못한 상태‘서비스의 품질을 향상시킨다’라는 관점을 견지하며 지속적으로 고민하고 있는 상황
17. 현황품질활동을 시작하며 각 서비스 별 테스트 커버리지 수치를 측정해당 수치는 서비스 품질의 대표성을 갖기 때문에 해당 수치를 보며 품질향상에 대한 의욕이 고취되는 개발자도 있음반면 서비스의 품질을 높이려는 본래 의도와는 달리 테스트 커버리지 수치만 올리려는 개발자도 있음
18. 활동단순 수치의 달성이 아닌 품질향상이라는 본질적 의미를 반복적으로 강조정기적으로 서비스 별 품질활동 상황을 확인생산성혁신랩의지원 활동으로 현장에서는 서비스 품질 향상에 더욱 집중할 수 있게 함예)품질활동 제도 정비, 도구 지원및 개선 등
19. 결과더 좋은 테스트 혹은 효과적인 테스트에 대한 개발자의 관심이 커짐품질향상에 집중함으로 인해 높은 커버리지를 달성한 서비스는 자긍심을 가짐
20. 결과(Cont`)반복되는 강조에도 여전히 본질인 품질에 집중하는 개발자와 그렇지 않은 개발자로 나뉨높은 테스트 커버리지 수치가 품질을 보장하지 않음수치는 품질의 부산물