The document provides an overview of various topics including Linux, vim text editor, Jinja2 templating, building web applications with HTML, CSS, and JavaScript, and using Subversion (SVN) for version control. For Linux, it lists common commands like ls, cd, mv, cp. For vim, it describes modes, copying/pasting, searching, regular expressions. Jinja2 topics include for loops, if statements, filters. The application section discusses project structure, templating base layouts, including files, and using NieJS to interact with the DOM. Finally, SVN topics cover commands like checkout, status, add/delete/commit, resolving conflicts.
This document provides an overview and introduction to Ruby on Rails. It begins with an agenda and introduction to the speaker. It then provides a brief introduction to Rails, including what industries use it, examples of popular websites built with Rails, and an explanation of its model-view-controller architecture and RESTful design philosophy. The document continues with sections on auditing Rails applications, identifying common vulnerabilities like mass assignment and cross-site scripting, and recommendations for removing vulnerabilities.
The document introduces PSR-7 and middleware in Zend Expressive. It discusses PSR-7 interfaces like RequestInterface and ResponseInterface that define HTTP messages. It also covers middleware and how middleware can be used to add functionality like authentication. Zend Expressive is introduced as a framework that uses PSR-7 and middleware. It has features like routing, dependency injection and templating. Examples are given of creating middleware for authentication, downloading files, and handling unavailable pages. The document concludes by thanking the reader and providing contact details.
Digital Texts scholarly communication in a digital networked ageTony Hirst
1. The document discusses scholarly communication and proposes that the traditional model of journal publications no longer adequately defines communication units.
2. It suggests moving towards more granular, participatory, and networked forms of publishing like open notebooks, living documents, and composite works that dynamically combine information from multiple sources.
3. Key aspects that could be rethought include the purpose and audience of publishing, units of publication beyond journal articles, and utilizing social features like version control, issue tracking, and peer review to facilitate ongoing scholarly discourse.
Brubeck is a Python web framework built on top of Mongrel2, an asynchronous web server. It uses coroutines and message passing via ZeroMQ sockets for concurrency. Models are defined using DictShield, which allows for database-agnostic validation and storage without an ORM. This allows applications to be both database and backend platform agnostic.
The repoze.bfg framework allows Zope developers to use WSGI technologies more easily and non-Zope developers to use Zope technologies without all of Zope. It provides URL dispatch, templating, and declarative security while avoiding features like databases, sessions, and the ZMI. Repoze.bfg uses the Zope Component Architecture and aims for familiarity, simplicity, speed, documentation, and collaboration.
This document provides an overview and introduction to Ruby on Rails. It begins with an agenda and introduction to the speaker. It then provides a brief introduction to Rails, including what industries use it, examples of popular websites built with Rails, and an explanation of its model-view-controller architecture and RESTful design philosophy. The document continues with sections on auditing Rails applications, identifying common vulnerabilities like mass assignment and cross-site scripting, and recommendations for removing vulnerabilities.
The document introduces PSR-7 and middleware in Zend Expressive. It discusses PSR-7 interfaces like RequestInterface and ResponseInterface that define HTTP messages. It also covers middleware and how middleware can be used to add functionality like authentication. Zend Expressive is introduced as a framework that uses PSR-7 and middleware. It has features like routing, dependency injection and templating. Examples are given of creating middleware for authentication, downloading files, and handling unavailable pages. The document concludes by thanking the reader and providing contact details.
Digital Texts scholarly communication in a digital networked ageTony Hirst
1. The document discusses scholarly communication and proposes that the traditional model of journal publications no longer adequately defines communication units.
2. It suggests moving towards more granular, participatory, and networked forms of publishing like open notebooks, living documents, and composite works that dynamically combine information from multiple sources.
3. Key aspects that could be rethought include the purpose and audience of publishing, units of publication beyond journal articles, and utilizing social features like version control, issue tracking, and peer review to facilitate ongoing scholarly discourse.
Brubeck is a Python web framework built on top of Mongrel2, an asynchronous web server. It uses coroutines and message passing via ZeroMQ sockets for concurrency. Models are defined using DictShield, which allows for database-agnostic validation and storage without an ORM. This allows applications to be both database and backend platform agnostic.
The repoze.bfg framework allows Zope developers to use WSGI technologies more easily and non-Zope developers to use Zope technologies without all of Zope. It provides URL dispatch, templating, and declarative security while avoiding features like databases, sessions, and the ZMI. Repoze.bfg uses the Zope Component Architecture and aims for familiarity, simplicity, speed, documentation, and collaboration.
Git is a distributed version control system that keeps track of changes to code through snapshots of files and directories. It allows developers to work independently and merge changes together easily. Some key advantages of Git include its small size, ability to easily merge and branch code, and use of hooks for things like validating code commits.
Cocoapods is an automatic dependency manager for iOS and macOS projects. It allows developers to easily add third party libraries to their projects by specifying dependencies in a Podfile. Cocoapods will then download, integrate, and maintain the dependencies. It handles common tasks like adding frameworks to link against, copying resources, and generating a workspace. Cocoapods supports dependencies from public or private GitHub repositories, local paths, or custom sources. Developers can also create their own pods and publish them for others to use.
This document outlines workflows and tools for managing Magento 2 development. It discusses challenges with scalable and complicated processes and assumptions of skill. Lessons learned include keeping developer freedom and code integrity while maintaining accountability. Recommended tools include Vagrant for simplified developer setups, PHPStorm for code completion and testing, Git for version control, and Composer for dependencies. The workflow uses separate modules in a Git repository structure with branches for different environments and deployment automation.
This document provides a list of React code samples and tutorials for intermediate React developers. It includes 10 React code samples that use tools like GraphQL, Flux, and Redux. It also provides step-by-step instructions for setting up sample projects that combine React with Node, D3, GraphQL, SQLite, and Angular 2. Additionally, the document defines key concepts like Flux, Redux, Relay and GraphQL and compares REST APIs to GraphQL.
Snakes on a Treadmill discusses Chef for configuration management and deployment. It describes using Chef recipes to deploy code revisions from source control in an atomic manner using symlinks. Revisions are kept in a shared folder and symlinks are used to switch between them. It also covers running migrations, installing packages, and using Chef search to find nodes by role.
This document provides an introduction and overview of React Native, including what it is, how it works, and how to set it up for both iOS and Android development. It discusses some key differences between React Native and traditional web development, provides code samples and explanations of common React Native components and patterns, and outlines steps for creating a new React Native project. It also addresses common errors and links to additional documentation resources.
The document discusses the author's approach to setting up a development environment for Django projects. It describes establishing a project layout with separate folders for source code, virtual environments, requirements files, and more. It also covers tools and practices for tasks like dependency management, testing, debugging, deployment, and overall software development philosophy.
This document discusses iOS application architecture and module design. It recommends separating applications into common, service, and domain modules. It also recommends creating network modules that interact with APIs using Alamofire and creating domain models to encapsulate API responses. The document provides examples of module responsibilities and dependencies.
The document discusses goa, a framework for building REST APIs in Go. It provides an overview of goa's design slangage (DSL) for defining APIs, resources, media types, and code generation tools. Examples are given of defining an Account media type and Account resource using the DSL. The document also mentions using goagen to generate API, client, and Swagger code from the DSL definitions.
1. The document discusses decompiling an Android APK file into smali code using apktool and analyzing the smali code to understand the logic of the original Java code.
2. It shows how to decompile an APK, find the relevant smali files, and start translating smali instructions and structures back into equivalent Java code.
3. Useful resources mentioned for learning more about the Dalvik bytecode, smali syntax, and decompiling process include websites on Dalvik opcodes, the JUMPERZ blog, and the CodeGenerator source code.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
The document discusses techniques for optimizing Swift build times in Xcode projects. It provides several compiler flags like -debug-time-function-bodies and -warn-long-function-bodies that can profile build times. It also recommends using the Build Time Analyzer and xcprofiler tools to analyze build performance. Finally, it briefly covers updates to closures and generics in Swift that improved build times.
Android OpenGL ES Game ImageGrabber Final ReportJungsoo Nam
This document discusses the development environment, tools, and code for an Android OpenGL ES game image grabbing project. It includes:
1. An overview of the development environment setup including Eclipse, the Android SDK, NDK, and build instructions.
2. A review of the Java and C/C++ source code, covering key classes, methods, and functions for initializing the grabber, starting/stopping recording, and hooking OpenGL ES calls.
3. Details on the C code structure including JNI interfaces and hooked OpenGL ES functions that redirect rendering to enable capturing.
4. Links to documents explaining the ELF file format and Linux hooking mechanisms used to modify function addresses at runtime.
This document discusses Symfony2 and its command line interface (CLI). It provides examples of using the CLI to generate a new Symfony2 project, install assets, debug and dump routers, manage databases and entities, and generate and update schemas. The CLI allows automating common Symfony2 tasks through commands like app/console.
This document discusses Docker and its use for the Douban App Engine (DAE). It covers:
- The history of adopting Docker for DAE applications from 2014 to 2016.
- How DAE uses Docker to build and deploy over 400 application images across different environments.
- Techniques used to optimize the Docker build process and reduce image sizes.
- Integrating Docker with the DAE monitoring, logging, and maintenance systems.
This document discusses rapid development using Ruby on Rails. It covers how Rails enables rapid development through conventions, community best practices, and continuous innovation. It also provides tips for scaling Rails applications, such as client-side performance tuning, database optimization, version control, automation, and modern architectural patterns like Arel, Rack, and Bundler. The overall message is that Rails can help deliver projects quickly while maintaining quality through its principles of DRY, agile development, and an active community of developers.
The document discusses OpenCV, an open source computer vision and machine learning software library. It provides instructions for compiling OpenCV 3.2 on Windows 10 with Visual Studio 2015, an overview of OpenCV modules for tasks like image processing, video analysis, and machine learning, and examples of how to set up a basic OpenCV project in Visual Studio and write a simple program to read and display an image.
This document provides a summary of key steps for setting up Git, RVM, Rails, and deploying a Rails app to Heroku. It includes installing and configuring Git, installing RVM and Ruby, generating a new Rails project, committing code to a Git repository, and pushing the Rails app to Heroku. The tips section suggests automating Ruby/gemset selection with .rvmrc, disabling documentation installation for faster gem installation, and customizing the command prompt.
Git is a distributed version control system that keeps track of changes to code through snapshots of files and directories. It allows developers to work independently and merge changes together easily. Some key advantages of Git include its small size, ability to easily merge and branch code, and use of hooks for things like validating code commits.
Cocoapods is an automatic dependency manager for iOS and macOS projects. It allows developers to easily add third party libraries to their projects by specifying dependencies in a Podfile. Cocoapods will then download, integrate, and maintain the dependencies. It handles common tasks like adding frameworks to link against, copying resources, and generating a workspace. Cocoapods supports dependencies from public or private GitHub repositories, local paths, or custom sources. Developers can also create their own pods and publish them for others to use.
This document outlines workflows and tools for managing Magento 2 development. It discusses challenges with scalable and complicated processes and assumptions of skill. Lessons learned include keeping developer freedom and code integrity while maintaining accountability. Recommended tools include Vagrant for simplified developer setups, PHPStorm for code completion and testing, Git for version control, and Composer for dependencies. The workflow uses separate modules in a Git repository structure with branches for different environments and deployment automation.
This document provides a list of React code samples and tutorials for intermediate React developers. It includes 10 React code samples that use tools like GraphQL, Flux, and Redux. It also provides step-by-step instructions for setting up sample projects that combine React with Node, D3, GraphQL, SQLite, and Angular 2. Additionally, the document defines key concepts like Flux, Redux, Relay and GraphQL and compares REST APIs to GraphQL.
Snakes on a Treadmill discusses Chef for configuration management and deployment. It describes using Chef recipes to deploy code revisions from source control in an atomic manner using symlinks. Revisions are kept in a shared folder and symlinks are used to switch between them. It also covers running migrations, installing packages, and using Chef search to find nodes by role.
This document provides an introduction and overview of React Native, including what it is, how it works, and how to set it up for both iOS and Android development. It discusses some key differences between React Native and traditional web development, provides code samples and explanations of common React Native components and patterns, and outlines steps for creating a new React Native project. It also addresses common errors and links to additional documentation resources.
The document discusses the author's approach to setting up a development environment for Django projects. It describes establishing a project layout with separate folders for source code, virtual environments, requirements files, and more. It also covers tools and practices for tasks like dependency management, testing, debugging, deployment, and overall software development philosophy.
This document discusses iOS application architecture and module design. It recommends separating applications into common, service, and domain modules. It also recommends creating network modules that interact with APIs using Alamofire and creating domain models to encapsulate API responses. The document provides examples of module responsibilities and dependencies.
The document discusses goa, a framework for building REST APIs in Go. It provides an overview of goa's design slangage (DSL) for defining APIs, resources, media types, and code generation tools. Examples are given of defining an Account media type and Account resource using the DSL. The document also mentions using goagen to generate API, client, and Swagger code from the DSL definitions.
1. The document discusses decompiling an Android APK file into smali code using apktool and analyzing the smali code to understand the logic of the original Java code.
2. It shows how to decompile an APK, find the relevant smali files, and start translating smali instructions and structures back into equivalent Java code.
3. Useful resources mentioned for learning more about the Dalvik bytecode, smali syntax, and decompiling process include websites on Dalvik opcodes, the JUMPERZ blog, and the CodeGenerator source code.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
The document discusses techniques for optimizing Swift build times in Xcode projects. It provides several compiler flags like -debug-time-function-bodies and -warn-long-function-bodies that can profile build times. It also recommends using the Build Time Analyzer and xcprofiler tools to analyze build performance. Finally, it briefly covers updates to closures and generics in Swift that improved build times.
Android OpenGL ES Game ImageGrabber Final ReportJungsoo Nam
This document discusses the development environment, tools, and code for an Android OpenGL ES game image grabbing project. It includes:
1. An overview of the development environment setup including Eclipse, the Android SDK, NDK, and build instructions.
2. A review of the Java and C/C++ source code, covering key classes, methods, and functions for initializing the grabber, starting/stopping recording, and hooking OpenGL ES calls.
3. Details on the C code structure including JNI interfaces and hooked OpenGL ES functions that redirect rendering to enable capturing.
4. Links to documents explaining the ELF file format and Linux hooking mechanisms used to modify function addresses at runtime.
This document discusses Symfony2 and its command line interface (CLI). It provides examples of using the CLI to generate a new Symfony2 project, install assets, debug and dump routers, manage databases and entities, and generate and update schemas. The CLI allows automating common Symfony2 tasks through commands like app/console.
This document discusses Docker and its use for the Douban App Engine (DAE). It covers:
- The history of adopting Docker for DAE applications from 2014 to 2016.
- How DAE uses Docker to build and deploy over 400 application images across different environments.
- Techniques used to optimize the Docker build process and reduce image sizes.
- Integrating Docker with the DAE monitoring, logging, and maintenance systems.
This document discusses rapid development using Ruby on Rails. It covers how Rails enables rapid development through conventions, community best practices, and continuous innovation. It also provides tips for scaling Rails applications, such as client-side performance tuning, database optimization, version control, automation, and modern architectural patterns like Arel, Rack, and Bundler. The overall message is that Rails can help deliver projects quickly while maintaining quality through its principles of DRY, agile development, and an active community of developers.
The document discusses OpenCV, an open source computer vision and machine learning software library. It provides instructions for compiling OpenCV 3.2 on Windows 10 with Visual Studio 2015, an overview of OpenCV modules for tasks like image processing, video analysis, and machine learning, and examples of how to set up a basic OpenCV project in Visual Studio and write a simple program to read and display an image.
This document provides a summary of key steps for setting up Git, RVM, Rails, and deploying a Rails app to Heroku. It includes installing and configuring Git, installing RVM and Ruby, generating a new Rails project, committing code to a Git repository, and pushing the Rails app to Heroku. The tips section suggests automating Ruby/gemset selection with .rvmrc, disabling documentation installation for faster gem installation, and customizing the command prompt.
16. JINJA2 - -5
• import a macro
macros.html
sample.html
17. JINJA2 -
•
• {% for a in aList %} {{ a }} {% endfor %}
• {% if a %} {{ a }} {% endif %}
• filters
• escape : {{ diary_content | escape }} or {{ diary_content | e }}
• more filters: http://jinja.pocoo.org/2/documentation/templates#builtin-
filters
18. AGENDA
• linux
• vim
• (jinja2)
•
• app/ html js
• svn
25. APP/ -5
app html css
• app html id id test tag id
app12_test 12 appid
• link css app css <nie:css
> <nie:css src=”xx.css”/>
• app css css app
#app_content_[appid] app id
app_content_[appid] div
26. APP/ -6
app html css
• html tag
• css expression
• html tag css
27. APP/ -7
nieJS
• js <nie:script>
• nieJS
• nieJS js
document.getElementById(id)
• value var a =
obj.value; / obj.value = “aaa” nieJS var a = obj.getValue(); / obj.setValue(“aaa”)
• document.cookie
• http://123.125.48.32:8899/NIEJS
31. SVN -1
• svn co <addr> checkout
• svn up
• svn st
• svn add <file>
• svn del <file>
• svn mv src_file desc_file
• svn diff
• svn ci <file> /
32. SVN -2
svn st
• A added
• C conflict
• D deleted
• M modified
• R replace
• not under version control
• under version control but missing
• ~ The file, directory, or symbolic link item is in the repository as one kind of object, but what's actually in your
working copy is some other kind
33. SVN -3
svn up
• U The files marked with U contained no local changes but were Updated with changes from the
repository.
• G The G stands for merGed, which means that the file had local changes to begin with, but the
changes coming from the repository didn't overlap with the local changes.
• C Confict
• U G C up C ~~
34. SVN -4
C conflict ...
• C a.html
• vim >>> ===
•
•
• svn resolved a.html svn
• svn st a.html c
35. SVN -5
• svn co checkout
•
• svn st
svn add
• svn up conflict
• svn st c conflict
• svn diff > t.diff t.diff vim t.diff
• svn ci log log