Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreDropsolid
Given at DrupalJam 2015 - Netherlands.
This presentation explains some of the fundamental issues you have to overcome when designing software for distributed systems that can fail. Also called "Cloud" in other terminologies. The presentation uses AWS components to explain these fundamentals and uses Drupal as the example application. The example is by no means perfect, but gives you a good idea how to design your system from scratch.
Technologies used:
Cloudformation
EC2 Instances
RDS MySQL Database
Elastic Load Balancer
ElastiCache (Memcache)
Example can be found here:
https://gist.github.com/nickveenhof/601c5dc1b76ff26896bf
Take note that the example does not include components such as VPC for simplicity, but it is highly recommended to add this.
This document provides an overview of creating and deploying OSGi plugins for the Domino HTTP task. It discusses setting up the Eclipse development environment with the necessary prerequisites like the Domino OSGi target platform and the Notes.jar plugin. It then demonstrates creating a simple "Hello World" servlet plugin that runs on the Equinox HTTP service, and deploying/debugging it using the PDE tool directly from Eclipse.
Mechanical Engineer having 5+ years experience in Erection & Commissioning En...Qamar Ahmad
• Study of project and drawing as per planning sheet
• Work out of erection time and cost of project
• Site visit to check condition of the site and discuss with client regarding erection of equipment
• Allocate the workmen depending upon the erection schedule
• Allocate the requirement/facilities based upon the requirement.
• Specialized to do the modification at site as per the process requirement
• Knowledge of erection & fabrication drawings & PID drawings
• Provide solutions and fixed Crane or Hoist malfunctioning, modifications and performed replacements and /or new installation
• Assigned personnel and technical support teams to sites requiring erection
• Design and implemented special strategies related to erection procedures
• Inspection of assembled equipment, to ensure proper installation.
• Inspection of all operating parts to ensure proper operation within expected tolerances.
• Clearly and professionally interact with customer, regarding status of erection, on a daily basis
• Interact with internal and external project managers during field projects
• Preparing schedule and planning using MS Office and Word.
• Preparing of project documents such as weekly report, progress report, erection plan, precost and actual cost of projects, bar chart of projects etc
• Site visit for training and troubleshooting to client.
Prasanna Hegde is a software testing engineer with over 2 years of experience in manual and automation testing of web and e-commerce applications. He has expertise in test automation tools like QTP and Telerik Test Studio. Currently he works as a testing engineer at IntuVision Labs where he tests their medical application. Previously he has tested applications for clients in various domains like e-commerce, desktop, and healthcare.
Akshay Sharma has over 4 years of experience managing mechanical projects across industries. He is currently responsible for a 570 crore zinc smelting plant project in Chittorgarh, Rajasthan, which includes overseeing the erection of boilers, turbines, piping, and other equipment. Previously, he managed projects for furnace manufacturers and engineering consultants, completing tasks like boiler commissioning, equipment installation, and quality checks. Akshay holds a B.Tech in Mechanical Engineering and has skills in AutoCAD, piping design, safety procedures, and Microsoft Office.
This document discusses KeyRock and Wilma, which provide identity management and authorization in FIWARE. KeyRock is based on OpenStack's Horizon and Keystone and provides user registration, authentication, and authorization. Wilma acts as a PEP proxy, enforcing access policies defined in AuthZForce. Together, they allow secure authentication of users and authorization of access to FIWARE services and applications.
Mahfuzur Rahman has 8 years of experience in instrumentation and fire and gas systems in offshore and onshore oil and gas facilities in Qatar, Saudi Arabia, and Bangladesh. He currently works as an instrumentation and control technician for Dolphin Energy in Qatar. He has experience in preventative maintenance, calibration, commissioning, and troubleshooting of instrumentation systems including DCS, PLC, and fire and gas detection systems. He is skilled in reading engineering drawings and has safety certifications including OPITO H2S training.
Shoaib Kamal is a QA Analyst/Lead with over 8 years of experience in testing software applications. He has extensive experience testing applications in the banking, insurance and financial domains. Some of his skills include test planning, case authoring, defect management, and working with testing tools such as HP ALM, Selenium and JMeter. He is looking for a suitable position that allows him to add value to an organization through his software and communication skills.
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreDropsolid
Given at DrupalJam 2015 - Netherlands.
This presentation explains some of the fundamental issues you have to overcome when designing software for distributed systems that can fail. Also called "Cloud" in other terminologies. The presentation uses AWS components to explain these fundamentals and uses Drupal as the example application. The example is by no means perfect, but gives you a good idea how to design your system from scratch.
Technologies used:
Cloudformation
EC2 Instances
RDS MySQL Database
Elastic Load Balancer
ElastiCache (Memcache)
Example can be found here:
https://gist.github.com/nickveenhof/601c5dc1b76ff26896bf
Take note that the example does not include components such as VPC for simplicity, but it is highly recommended to add this.
This document provides an overview of creating and deploying OSGi plugins for the Domino HTTP task. It discusses setting up the Eclipse development environment with the necessary prerequisites like the Domino OSGi target platform and the Notes.jar plugin. It then demonstrates creating a simple "Hello World" servlet plugin that runs on the Equinox HTTP service, and deploying/debugging it using the PDE tool directly from Eclipse.
Mechanical Engineer having 5+ years experience in Erection & Commissioning En...Qamar Ahmad
• Study of project and drawing as per planning sheet
• Work out of erection time and cost of project
• Site visit to check condition of the site and discuss with client regarding erection of equipment
• Allocate the workmen depending upon the erection schedule
• Allocate the requirement/facilities based upon the requirement.
• Specialized to do the modification at site as per the process requirement
• Knowledge of erection & fabrication drawings & PID drawings
• Provide solutions and fixed Crane or Hoist malfunctioning, modifications and performed replacements and /or new installation
• Assigned personnel and technical support teams to sites requiring erection
• Design and implemented special strategies related to erection procedures
• Inspection of assembled equipment, to ensure proper installation.
• Inspection of all operating parts to ensure proper operation within expected tolerances.
• Clearly and professionally interact with customer, regarding status of erection, on a daily basis
• Interact with internal and external project managers during field projects
• Preparing schedule and planning using MS Office and Word.
• Preparing of project documents such as weekly report, progress report, erection plan, precost and actual cost of projects, bar chart of projects etc
• Site visit for training and troubleshooting to client.
Prasanna Hegde is a software testing engineer with over 2 years of experience in manual and automation testing of web and e-commerce applications. He has expertise in test automation tools like QTP and Telerik Test Studio. Currently he works as a testing engineer at IntuVision Labs where he tests their medical application. Previously he has tested applications for clients in various domains like e-commerce, desktop, and healthcare.
Akshay Sharma has over 4 years of experience managing mechanical projects across industries. He is currently responsible for a 570 crore zinc smelting plant project in Chittorgarh, Rajasthan, which includes overseeing the erection of boilers, turbines, piping, and other equipment. Previously, he managed projects for furnace manufacturers and engineering consultants, completing tasks like boiler commissioning, equipment installation, and quality checks. Akshay holds a B.Tech in Mechanical Engineering and has skills in AutoCAD, piping design, safety procedures, and Microsoft Office.
This document discusses KeyRock and Wilma, which provide identity management and authorization in FIWARE. KeyRock is based on OpenStack's Horizon and Keystone and provides user registration, authentication, and authorization. Wilma acts as a PEP proxy, enforcing access policies defined in AuthZForce. Together, they allow secure authentication of users and authorization of access to FIWARE services and applications.
Mahfuzur Rahman has 8 years of experience in instrumentation and fire and gas systems in offshore and onshore oil and gas facilities in Qatar, Saudi Arabia, and Bangladesh. He currently works as an instrumentation and control technician for Dolphin Energy in Qatar. He has experience in preventative maintenance, calibration, commissioning, and troubleshooting of instrumentation systems including DCS, PLC, and fire and gas detection systems. He is skilled in reading engineering drawings and has safety certifications including OPITO H2S training.
Shoaib Kamal is a QA Analyst/Lead with over 8 years of experience in testing software applications. He has extensive experience testing applications in the banking, insurance and financial domains. Some of his skills include test planning, case authoring, defect management, and working with testing tools such as HP ALM, Selenium and JMeter. He is looking for a suitable position that allows him to add value to an organization through his software and communication skills.
This document discusses REST APIs and how to attack them. It begins by explaining what REST APIs are and how they map CRUD operations to HTTP verbs like GET, POST, PUT, DELETE. It then covers REST architecture constraints like using resources and representations. The document outlines how to interact with APIs through requests and responses. It provides examples of enumeration, injection, authentication vulnerabilities and how to test authorization, rate limiting, SSL and information disclosure. It concludes with discussing cross-site request forgery attacks on REST APIs.
PIM, PAM, PUM: Best Practices for Unix/Linux Privileged Identity & Access Man...Ryan Gallavin
PIM, PAM and PUM have different meanings, and interpretations, to different people. For the most part the concepts around these three far-ranging topics intersect, and for the most part we are talking about the same thing. PIM, privileged identity management; PUM, privileged user management; and PAM, privileged account management OR privileged access management. All three of these acronyms revolve around a few simple concepts: who can get to a server, how they can get to a server and what they can do when they get there.
This CV summarizes the qualifications and experience of P. Sathiyprabhu seeking an engineer level position in piping stress analysis. He has 3 years and 7 months of experience performing piping stress analysis using CAESAR II software for projects in various industries. He is proficient in ASME and ISO piping standards and has worked on projects for clients in oil and gas, power, and petrochemical industries. His experience includes analyzing piping systems, preparing reports, and reviewing drawings to qualify piping systems and recommend pipe supports. He holds a Bachelor's degree in Mechanical Engineering and is skilled in various piping design software and AutoCAD.
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Masoud Kalali
This session focuses on how Java EE 7 provides extensive set of new and enhanced features to support standards like HTML5, WebSockets, and Server Sent Events among others.In this session we will show how these new features are designed and matched to work together for developing lightweight solutions matching end users high expectation from a web application’s responsiveness. The session will cover best practices and design patterns governing application development using JAX-RS 2.0, Async Servlet, and JSON-P (among others) as well as iterating over the pitfalls that should be avoided. During the session we will show code snippets and block diagrams that clarify use of APIs coming from the demo application we will show at the end.
LINE is introducing FIDO authentication to improve security for account registration, login, and transactions across its various services. Potential use cases for FIDO include social login, setting confirmation, desktop app login, transaction authentication for payments, IoT control, and hands-free IoT control. LINE plans to integrate FIDO using UAF and FIDO2 standards and deploy an authentication platform to serve as an identity provider across its services and other apps and websites by 2020.
The document discusses considerations for implementing a single sign-on (SSO) strategy. It recommends first agreeing on terminology, then assessing the current authentication and authorization landscape. The document outlines a vision of SSO utopia and compares approaches of building an in-house SSO solution versus purchasing a vendor framework. It proposes a roadmap including defining terms, assessing vendors, integrating new and existing applications, and production deployment.
This document discusses microservices architecture in Kubernetes for the ZaloPay Merchant Platform. It begins with an introduction of the author and their background. It then describes the architecture of the previous monolithic eSale system and the challenges it posed. The document outlines how the system was refactored into microservices and the problems that emerged. It explains why Kubernetes was adopted to deploy and manage the microservices, focusing on benefits like automation, scaling, and reduced operational overhead. Finally, it shares some lessons learned around state management, load balancing, auto-scaling, and monitoring in the Kubernetes environment.
OpenID for Verifiable Credentials provides a standardized way to issue, present, and authenticate credentials in a decentralized manner using existing OpenID Connect standards. It defines protocols for verifiable presentations and credential issuance that leverage OAuth 2.0 security mechanisms and can support different credential formats. Implementations are planned or underway across several companies and government initiatives to support use cases like mobile driving licenses and vaccination records.
This document is a CV for S. Saravanan summarizing his experience as a senior ELV systems engineer. Some key points:
- Over 16 years of experience in ELV systems including building automation, security, fire alarm, and telecommunications systems.
- Has worked on many projects in Qatar for Louis Berger Group and Leighton Contractors, including educational campuses.
- Responsibilities included managing ELV installation, testing, commissioning, and training as well as reviewing submittals and drawings.
- Also has experience in India working on manufacturing facilities and railway signaling projects.
Software Developer in JAVA with 1 Year of ExperienceVijay Malusare
Vijay Tatyaba Malusare is a Java developer with 1 year of experience developing web applications using technologies like Java, J2EE, JSP, Servlets, and databases like SQL Server 2008. He is currently working on a payroll management system for his employer Disha Technologies Software Solutions & Services. He has a MCA from University of Pune and experience developing, testing, and troubleshooting applications.
Mohammed Mubashir Ahmed has over 9 years of experience as an electrical engineer and quality control engineer in the oil, gas, and power sectors. He has a Bachelor's degree in Electrical and Electronics Engineering and has worked on numerous construction, installation, and commissioning projects for companies like Saudi Aramco, Intertek Moody International, and others. Currently, he works as a Quality Inspection Engineer for Saudi Aramco overseeing quality control for electrical and instrumentation aspects of a gas processing project.
A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
New features in Domino Designer include enhancements to the Domino Query Language (DQL) like improved indexing capabilities and support for additional data types. The NotesDominoQuery class allows compiling and running DQL queries from LotusScript and Java. Other additions are the NotesGPS class for location data and @Platform conditional compilation. The C API SDK was updated and OSGI Tasklet Service support was added.
Protocol Buffers are a language-neutral, platform-neutral way of serializing structured data developed by Google to deal with problems of scale. Data formats are defined using .proto files which are then compiled to generate data access classes. This allows structured data to be serialized and transmitted efficiently across various languages and platforms while maintaining backward/forward compatibility. Protocol Buffers offer advantages over other solutions like XML in being more efficient, compact and faster. They have found many use cases at Google and other companies for messaging, data storage and transmission.
Sanjay Sharma has over 8.5 years of experience in technical support, installation, product maintenance, managed services, testing, and operations in the telecom industry. He is currently working as a Technical Solution Leader for Aricent on the VISPL Europe project. Previously he has worked on projects for Hutchinson 3G in the UK, MTN in Ivory Coast, Idea, TTSL, BSNL, and VSNL in India. He is experienced with IMS, 4G/LTE, CS core, packet core, and ZTE, Nokia, and Oracle switching platforms.
B.Tech in Electronics & Communication with 11 years of experience in Managing, Project Engineering, Project Coordination and Site Engineering in ELV systems field.
Deepa_Resume (Manual Testing _2 years Exp_Updated)Deepa Keshav
- Deepa G has over 3.8 years of experience in IT with expertise in software testing, production support, and quality processes.
- She has experience in functional, integration, and system testing as well as writing, executing, and reviewing test cases.
- Deepa G has worked on projects in the banking and financial services domain for clients like HCL and UBS.
This document discusses REST APIs and how to attack them. It begins by explaining what REST APIs are and how they map CRUD operations to HTTP verbs like GET, POST, PUT, DELETE. It then covers REST architecture constraints like using resources and representations. The document outlines how to interact with APIs through requests and responses. It provides examples of enumeration, injection, authentication vulnerabilities and how to test authorization, rate limiting, SSL and information disclosure. It concludes with discussing cross-site request forgery attacks on REST APIs.
PIM, PAM, PUM: Best Practices for Unix/Linux Privileged Identity & Access Man...Ryan Gallavin
PIM, PAM and PUM have different meanings, and interpretations, to different people. For the most part the concepts around these three far-ranging topics intersect, and for the most part we are talking about the same thing. PIM, privileged identity management; PUM, privileged user management; and PAM, privileged account management OR privileged access management. All three of these acronyms revolve around a few simple concepts: who can get to a server, how they can get to a server and what they can do when they get there.
This CV summarizes the qualifications and experience of P. Sathiyprabhu seeking an engineer level position in piping stress analysis. He has 3 years and 7 months of experience performing piping stress analysis using CAESAR II software for projects in various industries. He is proficient in ASME and ISO piping standards and has worked on projects for clients in oil and gas, power, and petrochemical industries. His experience includes analyzing piping systems, preparing reports, and reviewing drawings to qualify piping systems and recommend pipe supports. He holds a Bachelor's degree in Mechanical Engineering and is skilled in various piping design software and AutoCAD.
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Masoud Kalali
This session focuses on how Java EE 7 provides extensive set of new and enhanced features to support standards like HTML5, WebSockets, and Server Sent Events among others.In this session we will show how these new features are designed and matched to work together for developing lightweight solutions matching end users high expectation from a web application’s responsiveness. The session will cover best practices and design patterns governing application development using JAX-RS 2.0, Async Servlet, and JSON-P (among others) as well as iterating over the pitfalls that should be avoided. During the session we will show code snippets and block diagrams that clarify use of APIs coming from the demo application we will show at the end.
LINE is introducing FIDO authentication to improve security for account registration, login, and transactions across its various services. Potential use cases for FIDO include social login, setting confirmation, desktop app login, transaction authentication for payments, IoT control, and hands-free IoT control. LINE plans to integrate FIDO using UAF and FIDO2 standards and deploy an authentication platform to serve as an identity provider across its services and other apps and websites by 2020.
The document discusses considerations for implementing a single sign-on (SSO) strategy. It recommends first agreeing on terminology, then assessing the current authentication and authorization landscape. The document outlines a vision of SSO utopia and compares approaches of building an in-house SSO solution versus purchasing a vendor framework. It proposes a roadmap including defining terms, assessing vendors, integrating new and existing applications, and production deployment.
This document discusses microservices architecture in Kubernetes for the ZaloPay Merchant Platform. It begins with an introduction of the author and their background. It then describes the architecture of the previous monolithic eSale system and the challenges it posed. The document outlines how the system was refactored into microservices and the problems that emerged. It explains why Kubernetes was adopted to deploy and manage the microservices, focusing on benefits like automation, scaling, and reduced operational overhead. Finally, it shares some lessons learned around state management, load balancing, auto-scaling, and monitoring in the Kubernetes environment.
OpenID for Verifiable Credentials provides a standardized way to issue, present, and authenticate credentials in a decentralized manner using existing OpenID Connect standards. It defines protocols for verifiable presentations and credential issuance that leverage OAuth 2.0 security mechanisms and can support different credential formats. Implementations are planned or underway across several companies and government initiatives to support use cases like mobile driving licenses and vaccination records.
This document is a CV for S. Saravanan summarizing his experience as a senior ELV systems engineer. Some key points:
- Over 16 years of experience in ELV systems including building automation, security, fire alarm, and telecommunications systems.
- Has worked on many projects in Qatar for Louis Berger Group and Leighton Contractors, including educational campuses.
- Responsibilities included managing ELV installation, testing, commissioning, and training as well as reviewing submittals and drawings.
- Also has experience in India working on manufacturing facilities and railway signaling projects.
Software Developer in JAVA with 1 Year of ExperienceVijay Malusare
Vijay Tatyaba Malusare is a Java developer with 1 year of experience developing web applications using technologies like Java, J2EE, JSP, Servlets, and databases like SQL Server 2008. He is currently working on a payroll management system for his employer Disha Technologies Software Solutions & Services. He has a MCA from University of Pune and experience developing, testing, and troubleshooting applications.
Mohammed Mubashir Ahmed has over 9 years of experience as an electrical engineer and quality control engineer in the oil, gas, and power sectors. He has a Bachelor's degree in Electrical and Electronics Engineering and has worked on numerous construction, installation, and commissioning projects for companies like Saudi Aramco, Intertek Moody International, and others. Currently, he works as a Quality Inspection Engineer for Saudi Aramco overseeing quality control for electrical and instrumentation aspects of a gas processing project.
A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
New features in Domino Designer include enhancements to the Domino Query Language (DQL) like improved indexing capabilities and support for additional data types. The NotesDominoQuery class allows compiling and running DQL queries from LotusScript and Java. Other additions are the NotesGPS class for location data and @Platform conditional compilation. The C API SDK was updated and OSGI Tasklet Service support was added.
Protocol Buffers are a language-neutral, platform-neutral way of serializing structured data developed by Google to deal with problems of scale. Data formats are defined using .proto files which are then compiled to generate data access classes. This allows structured data to be serialized and transmitted efficiently across various languages and platforms while maintaining backward/forward compatibility. Protocol Buffers offer advantages over other solutions like XML in being more efficient, compact and faster. They have found many use cases at Google and other companies for messaging, data storage and transmission.
Sanjay Sharma has over 8.5 years of experience in technical support, installation, product maintenance, managed services, testing, and operations in the telecom industry. He is currently working as a Technical Solution Leader for Aricent on the VISPL Europe project. Previously he has worked on projects for Hutchinson 3G in the UK, MTN in Ivory Coast, Idea, TTSL, BSNL, and VSNL in India. He is experienced with IMS, 4G/LTE, CS core, packet core, and ZTE, Nokia, and Oracle switching platforms.
B.Tech in Electronics & Communication with 11 years of experience in Managing, Project Engineering, Project Coordination and Site Engineering in ELV systems field.
Deepa_Resume (Manual Testing _2 years Exp_Updated)Deepa Keshav
- Deepa G has over 3.8 years of experience in IT with expertise in software testing, production support, and quality processes.
- She has experience in functional, integration, and system testing as well as writing, executing, and reviewing test cases.
- Deepa G has worked on projects in the banking and financial services domain for clients like HCL and UBS.
9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅Youngmin Koo
Python 프로그램을 디버깅하실 때 어떤 툴을 사용하시나요? 아무래도 가장 많이 사용하고 계신 툴은 PyCharm이 아닐까 싶습니다. PyCharm은 JetBrains에서 만든 GUI 환경에서 사용할 수 있는 Python IDE입니다.
PyCharm은:
로컬 컴퓨터에서 디버깅 모드로 (PyDev로) Python 프로세스를 실행할 수 있습니다.
로컬 컴퓨터에서 실행 중인 Python 프로세스에 Attach해 디버깅할 수 있습니다.
원격 서버에서 디버깅 모드로 (PyDev로) Python 프로세스를 실행할 수 있습니다.
하지만 원격에서 동작하고 있는 프로세스에 디버거를 Attach하는 기능은 제공하지 않고 있습니다. 또한 Python 디버깅 모듈인 pdb를 사용하여도 동작하고 있는 프로세스에 Attach하는 것은 지원하고 있지 않습니다.
로컬 환경에서는 문제 없이 돌아갔던 Python 프로그램이 원격 서버에서는 아무런 로그 없이 멈춰 버리는 경우 어디서부터 손을 대야 할지 정말 막막합니다. 이 때 GDB와 strace를 이용하면 어디에서 문제가 발생했는지 진단할 수 있습니다. 이 세션에서는 GDB와 strace를 이용해 디버깅하여 원격 리눅스 서버에서 Python Process가 Hang 되어 버리는 문제를 진단하고 해결했던 경험을 공유하려고 합니다.
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
The document discusses undefined behavior (UB) in programs and its relationship to compiler optimizations. It introduces the concept of poison values to represent violations of assumptions. The freeze instruction is proposed as a way to handle UB and inconsistencies caused by optimizations like global value numbering and loop unswitching. Freezing values before operations prevents miscompilations by treating undefined inputs as nondeterministic rather than undefined.
This document discusses using The Composable Architecture (TCA) with SwiftUI to build a GitHub search app. It introduces TCA concepts like state, actions, reducers, effects and dependencies. It provides examples of modeling a counter app with TCA and connecting it to the GitHub API. The document outlines workshops to apply TCA in SwiftUI, including setting up state management, handling side effects, and implementing real-time search. TCA is said to enable better state management, easier debugging, improved testability and modular code composition compared to alternatives like MVVM.
Swift is proposed as a next-generation platform for TensorFlow that could provide benefits over Python like improved performance, type safety, and enabling automatic differentiation at compile time. However, Python currently dominates the machine learning ecosystem. Swift and Python are intended to have a complementary relationship, with each suited to different use cases. Examples show comparable MNIST implementations in both Swift and Python for TensorFlow.
2. 목표 : 집가서 크로미움에 컨트리뷰션 하기!
• 과정
• 소스코드 다운로드
• 이슈 찾기(GoodFirstBug)
• CLA 서명
• Gerrit에 upload후 review받기
• Merged, issue closed
• Contribution 끝!
3. Chromium 을 시작하기 전에
• 컴퓨터사양
• 64-bit, virtual memory 4GB
• window - visual studio 2015 debugger
• mac - Mac Pro, os 10.7+, Xcode 5+ debugger
• Linux - Z840, 64-bit Ununtu
4. 소스코드 다운로드
• 크로미움 홈 https://www.chromium.org/Home
• 소스코드 다운로드 https://www.chromium.org/developers/how-tos/get-the-code
• 소스코드 다운로드6시간 빌드 4시간정도
• fetch --nohooks --no-history chromium 옵션 추가하면 시간단축
• 한글 윈도우 버전에선 에러 발생 - 언어 옵션 영어로 바꾸면 해결
8. Gerrit에 upload
• 브랜치를 새로 만든 뒤 소스코드 수정.
• depot_tools를 통해 git cl upload
• https://gerrit-review.googlesource.com/Documentation/user-upload.html
• Review받기
• 해당 코드의 AUTHORS에 있는 사람혹은 이슈를 올린 사람을 리
뷰어로 추가.
9. Merged, issue closed
• gerrit에서 리뷰어 추가하고 코드 리뷰받기
• IRC, mailing list 등을 통해 리뷰 요청가능!
• 리뷰어가 빌드 큐에 넣어줌
• Buildbot이 test run을 하고 이상 없으면 머지됨
• issue closed 혹은 다음 patch에 대해 논의
11. 심화된 contribution을 하고 싶다면?
• https://www.chromium.org/developers 중에서 한 분야에 대해 공부해보시
는 것도 좋을 것 같습니다!
• https://chromium.googlesource.com/chromium/src/+/master/docs/README.md
• 크로미움 프로젝트 DOC