Put a Button on It: Removing Barriers to Going FastOSCON Byrum
This document discusses removing barriers to fast deployment at Etsy. It summarizes how Etsy optimized its deployment process to allow any engineer to deploy code at any time, rolling forward instead of rolling back in fear. Key aspects included adopting tools like Deployinator, Puppet, and Fabric to automate deployments, committing code directly to trunk, and establishing a culture that defaults to openness, communication, and constant improvement.
Rails Engine is a pre-packaged Ruby on Rails application that can be mounted within another Rails application to provide reusable functionality, it allows extracting common features into modules or gems that integrate with a Rails application using Railties, and some examples of Rails Engines include Devise for authentication and Rails Admin for administration.
This document provides an overview of the Ruby on Rails framework. It introduces Rails and its main components, which include ActiveRecord for database access, ActionPack for handling requests and routing, ActionMailer for email, Railties for gluing the framework together, and ActiveSupport for extensions. It then discusses ActiveRecord patterns and the MVC architecture. Sections provide code examples for a basic controller and routing. The document recommends following Ruby conventions and lists the main Rails gems. It concludes by thanking the reader and providing a link to a mini-Rails project on GitHub.
This document discusses Rails engines and gems. It explains that engines allow extracting common functionality into reusable modules. Engines use the Rails::Engine class and Railtie to integrate with Rails applications. The document also covers creating gems, testing engines, mounting engines to host apps, and overriding engine classes and views.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
This document discusses best practices for designing RESTful APIs including planning for versioning, request and response formats, and authentication. It recommends using a RESTful approach, starting with a minimum viable API and maintaining features across versions. It suggests implementing versioning through URI design and sub-controllers, and handling requests and responses with JSON and the respond_with method in Rails. It also provides examples of authentication with Devise or request signatures, and testing API actions.
Put a Button on It: Removing Barriers to Going FastOSCON Byrum
This document discusses removing barriers to fast deployment at Etsy. It summarizes how Etsy optimized its deployment process to allow any engineer to deploy code at any time, rolling forward instead of rolling back in fear. Key aspects included adopting tools like Deployinator, Puppet, and Fabric to automate deployments, committing code directly to trunk, and establishing a culture that defaults to openness, communication, and constant improvement.
Rails Engine is a pre-packaged Ruby on Rails application that can be mounted within another Rails application to provide reusable functionality, it allows extracting common features into modules or gems that integrate with a Rails application using Railties, and some examples of Rails Engines include Devise for authentication and Rails Admin for administration.
This document provides an overview of the Ruby on Rails framework. It introduces Rails and its main components, which include ActiveRecord for database access, ActionPack for handling requests and routing, ActionMailer for email, Railties for gluing the framework together, and ActiveSupport for extensions. It then discusses ActiveRecord patterns and the MVC architecture. Sections provide code examples for a basic controller and routing. The document recommends following Ruby conventions and lists the main Rails gems. It concludes by thanking the reader and providing a link to a mini-Rails project on GitHub.
This document discusses Rails engines and gems. It explains that engines allow extracting common functionality into reusable modules. Engines use the Rails::Engine class and Railtie to integrate with Rails applications. The document also covers creating gems, testing engines, mounting engines to host apps, and overriding engine classes and views.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
This document discusses best practices for designing RESTful APIs including planning for versioning, request and response formats, and authentication. It recommends using a RESTful approach, starting with a minimum viable API and maintaining features across versions. It suggests implementing versioning through URI design and sub-controllers, and handling requests and responses with JSON and the respond_with method in Rails. It also provides examples of authentication with Devise or request signatures, and testing API actions.
The document discusses the modular architecture of Rails, including Railties, Engines, Applications, and Plugins. It explains how these pieces work together through configuration, initialization, generators, and other mechanisms to provide a flexible and extensible framework. Key components like Railtie, Engine, and Application are described in terms of their responsibilities and how they relate to and extend each other.
Ember.js is a client-side MVC JavaScript framework for building single-page web applications. It uses conventions over configurations and has components like routers, controllers, templates, and models. The router maps application state to URLs, controllers present data to views, templates render markup, and models store and retrieve data. Components allow creating reusable controls to simplify templates.
Be Happy With Ruby on Rails - EcosystemLucas Renan
Ruby on Rails is a popular web application framework for building database-backed web applications. It uses the Ruby programming language along with gems, a Gemfile, and the asset pipeline to manage web application assets and dependencies. Rails emphasizes conventions over configuration, making it well-suited for rapid prototyping and development of web applications.
- Ruby on Rails is an open-source web framework that is optimized for programmer happiness and sustainable productivity. It uses conventions over configurations to favor writing beautiful code.
- Rails includes tools like ActiveRecord for ORM, ActiveView for templating, and ActionController for handling web requests. It also provides integrated support for AJAX, RESTful web services, and testing.
- The framework emphasizes conventions like MVC patterns and uses Ruby code for everything including database access and JavaScript integration for a simpler development experience.
Rack provides a simple interface for building web applications in Ruby. This document outlines how to build a basic web framework on top of Rack by leveraging existing Rack middleware and tools. It demonstrates how to add features like routing, controllers, views, ORM, authentication, testing, and a console using middleware like Usher, Tilt, DataMapper, Warden, rack-test, and racksh. The goal is to create a simple but full-featured framework with minimal code by combining existing Rack components.
Brief introduction to create a very simple application using AngularJS and Ruby on Rails. The app example is on Github:
https://github.com/elenatorro/BeersQuizz
This document discusses how using AngularJS with Ruby on Rails can save Rails developers time and effort. It provides reasons for using AngularJS like its large ecosystem and popularity. It describes the author's experience migrating projects to use AngularJS fully for frontend rendering instead of Rails views. This separation of concerns relieves backend developers and allows frontend developers more control. It also improves performance. Challenges like SEO, learning curve, and version changes are noted. Tips for integrating AngularJS and Rails like API documentation, testing, and caching tools are provided.
A brief introduction to Rails Eingines. The joy and shortcomings of building modular web apps the Rails way. Originally presented at the 22nd Athens Ruby Meetup.
Rails engines can help organize large Rails applications by extracting specific functionality into reusable components. The document discusses creating several engines - one for the presentation layer, one for the domain layer, and potentially others. It demonstrates building out a cargo shipping feature by first creating an integration test, then generating a cargo_shipping engine for the presentation layer and a customers engine in the domain layer to encapsulate customer model code. The engines are tested and integrated with the main application to successfully pass the initial test. Engines allow breaking up a monolithic Rails app into modular components to help manage complexity as an application grows.
This talk covers a successful utilization of Rails Engines to share features that cut across the layers of MVC in different Rails 3 projects. Rails Engines thus provide the best of both worlds: improved productivity by reusing MVC code (including assets like Javascript, CSS, and Images) and better flexibility by allowing different applications to customize behavior as needed without reliance on application-dependent conditionals. Rails Engine patterns will be provided to guide developers on how to leverage Rails Engines' reusability and flexibility without sacrificing maintainability.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
Cucumber-Rails is an integration testing tool for Rails 3 applications that uses Cucumber's behavior-driven development (BDD) approach. It allows customers and developers to collaborate on acceptance tests written in a natural language format called Gherkin. Cucumber tests (called "features") are high-level and focus on integration, while RSpec tests are more granular unit tests. Features are made up of scenarios written in Gherkin, while step definitions translate those scenarios into code. Cucumber can be used with Rails to improve communication, clarify requirements, and reduce bugs through automated acceptance testing.
Rails Engines as a way to Micro servicesLucas Alencar
This document discusses Rails engines and microservices. It explores how Rails engines can be used to decompose monolithic Rails applications and achieve some benefits of microservices like decoupling and improved code organization. It provides examples of how to structure applications using multiple Rails engines within a single codebase or across multiple repositories. It also discusses some advantages of starting with Rails engines before fully adopting microservices.
JBoss can be used to deploy Ruby on Rails applications. JRuby allows Rails applications to run on the Java Virtual Machine. The jruby-rack and jboss-rails plugins allow easy deployment of Rails applications to JBoss with features like clustering and caching. Virtual machine images like JBoxx, based on Fedora with JBoss pre-installed, make it simple to deploy clustered Rails applications on cloud infrastructures like Amazon EC2.
This document introduces a Namespace Less Engine that allows projects to reuse code from other projects without worrying about namespaces. Some key points:
- It allows reusing an entire project (CMS, news system, etc.) rather than just parts of code. Everything can be inherited and overridden.
- Models, controllers and other code can be written without namespaces. Placeholder files define inline namespaces.
- Views cannot be directly inherited but can be overridden. Helpers can also be included.
- The engine gem is included in the Gemfile. Migrations and other setup is installed via rake tasks.
- Tips include using the engine as a submodule instead of gem, and generating models/controllers
This document discusses adding authentication to a Rails application using the Devise gem. It covers generating a User model with Devise, installing Devise and its dependencies, and configuring authentication features like login, logout, and restricting access to controllers. Key aspects include:
1. Generating a User model with rails generate devise:install.
2. Adding Devise and its dependencies to the Gemfile and running bundle install.
3. Adding authentication checks like user_signed_in? and current_user to views.
4. Restricting controller actions with a before_filter to authenticate users.
This document discusses the Laravel PHP framework and provides an overview of its key characteristics and features. It highlights aspects like Eloquent ORM, routing, MVC architecture, Blade templating, easy creation of RESTful APIs, and Artisan CLI. It also mentions features like authentication, forms, validation, caching, testing, and more. The document concludes with an example tutorial for building a RESTful API in Laravel involving models, controllers and JSON responses.
Project Fedena and Why Ruby on Rails - ArvindArvind G SThoughtWorks
Project Fedena is an open source school management system built using Ruby on Rails. It was developed by Foradian Technologies in response to requests from schools in India needing an efficient data management solution. The project started with two developers learning Ruby and Rails simultaneously with building the initial application. Key aspects of the system include its user-friendly interface, ease of use, and architectural design using Rails, MySQL database, and other plugins. While Rails provided benefits like code readability and conventions, ongoing work is focused on improvements to testing, deployment, performance, and scalability. The project aims to develop an open community of contributors on its website at ProjectFedena.org.
This document provides an overview and recap of key concepts in building web applications with Ruby on Rails, including the Rails console, ActiveRecord queries, views with embedded Ruby and layouts, helper methods, models, controllers, routing, validations, and associations. It discusses using the Rails console to run ActiveRecord queries. It also covers defining routes and generating RESTful routes, writing controller actions, and linking views to controllers. Finally, it discusses writing tests to validate models, and setting up associations between the Station and Stream models using has_many and belongs_to.
If you are new to Single Page Applications, This will give you a great understanding of a proven technology stack & Architecture used in a popular commercial project.
"Fun with JavaScript and sensors" by Jan JongboomFwdays
This document discusses using sensors and device capabilities with JavaScript. It begins by describing the various sensors available on mobile devices like accelerometers and gyroscopes. It then provides examples of projects that utilize these sensors, such as using the light sensor to control an on-screen music player or tracking device movement to render a 3D model. The document also introduces JanOS, a fork of Firefox OS intended for phones and Raspberry Pi devices that provides access to phone APIs in JavaScript. It encourages attendees to experiment with sensors and think creatively about new uses.
Рассказ о том, каково это – жить в heroku с чем-то чуть более сложным, чем pet-project или прототип. Какие сокровища и подводные камни таит в себе море PAAS?
Что можно, а что нельзя сделать на этой платформе? Подходит ли heroku для хостинга java/scala приложений? Ответы на эти и многие другие вопросы – в этом докладе
The document discusses the modular architecture of Rails, including Railties, Engines, Applications, and Plugins. It explains how these pieces work together through configuration, initialization, generators, and other mechanisms to provide a flexible and extensible framework. Key components like Railtie, Engine, and Application are described in terms of their responsibilities and how they relate to and extend each other.
Ember.js is a client-side MVC JavaScript framework for building single-page web applications. It uses conventions over configurations and has components like routers, controllers, templates, and models. The router maps application state to URLs, controllers present data to views, templates render markup, and models store and retrieve data. Components allow creating reusable controls to simplify templates.
Be Happy With Ruby on Rails - EcosystemLucas Renan
Ruby on Rails is a popular web application framework for building database-backed web applications. It uses the Ruby programming language along with gems, a Gemfile, and the asset pipeline to manage web application assets and dependencies. Rails emphasizes conventions over configuration, making it well-suited for rapid prototyping and development of web applications.
- Ruby on Rails is an open-source web framework that is optimized for programmer happiness and sustainable productivity. It uses conventions over configurations to favor writing beautiful code.
- Rails includes tools like ActiveRecord for ORM, ActiveView for templating, and ActionController for handling web requests. It also provides integrated support for AJAX, RESTful web services, and testing.
- The framework emphasizes conventions like MVC patterns and uses Ruby code for everything including database access and JavaScript integration for a simpler development experience.
Rack provides a simple interface for building web applications in Ruby. This document outlines how to build a basic web framework on top of Rack by leveraging existing Rack middleware and tools. It demonstrates how to add features like routing, controllers, views, ORM, authentication, testing, and a console using middleware like Usher, Tilt, DataMapper, Warden, rack-test, and racksh. The goal is to create a simple but full-featured framework with minimal code by combining existing Rack components.
Brief introduction to create a very simple application using AngularJS and Ruby on Rails. The app example is on Github:
https://github.com/elenatorro/BeersQuizz
This document discusses how using AngularJS with Ruby on Rails can save Rails developers time and effort. It provides reasons for using AngularJS like its large ecosystem and popularity. It describes the author's experience migrating projects to use AngularJS fully for frontend rendering instead of Rails views. This separation of concerns relieves backend developers and allows frontend developers more control. It also improves performance. Challenges like SEO, learning curve, and version changes are noted. Tips for integrating AngularJS and Rails like API documentation, testing, and caching tools are provided.
A brief introduction to Rails Eingines. The joy and shortcomings of building modular web apps the Rails way. Originally presented at the 22nd Athens Ruby Meetup.
Rails engines can help organize large Rails applications by extracting specific functionality into reusable components. The document discusses creating several engines - one for the presentation layer, one for the domain layer, and potentially others. It demonstrates building out a cargo shipping feature by first creating an integration test, then generating a cargo_shipping engine for the presentation layer and a customers engine in the domain layer to encapsulate customer model code. The engines are tested and integrated with the main application to successfully pass the initial test. Engines allow breaking up a monolithic Rails app into modular components to help manage complexity as an application grows.
This talk covers a successful utilization of Rails Engines to share features that cut across the layers of MVC in different Rails 3 projects. Rails Engines thus provide the best of both worlds: improved productivity by reusing MVC code (including assets like Javascript, CSS, and Images) and better flexibility by allowing different applications to customize behavior as needed without reliance on application-dependent conditionals. Rails Engine patterns will be provided to guide developers on how to leverage Rails Engines' reusability and flexibility without sacrificing maintainability.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
Cucumber-Rails is an integration testing tool for Rails 3 applications that uses Cucumber's behavior-driven development (BDD) approach. It allows customers and developers to collaborate on acceptance tests written in a natural language format called Gherkin. Cucumber tests (called "features") are high-level and focus on integration, while RSpec tests are more granular unit tests. Features are made up of scenarios written in Gherkin, while step definitions translate those scenarios into code. Cucumber can be used with Rails to improve communication, clarify requirements, and reduce bugs through automated acceptance testing.
Rails Engines as a way to Micro servicesLucas Alencar
This document discusses Rails engines and microservices. It explores how Rails engines can be used to decompose monolithic Rails applications and achieve some benefits of microservices like decoupling and improved code organization. It provides examples of how to structure applications using multiple Rails engines within a single codebase or across multiple repositories. It also discusses some advantages of starting with Rails engines before fully adopting microservices.
JBoss can be used to deploy Ruby on Rails applications. JRuby allows Rails applications to run on the Java Virtual Machine. The jruby-rack and jboss-rails plugins allow easy deployment of Rails applications to JBoss with features like clustering and caching. Virtual machine images like JBoxx, based on Fedora with JBoss pre-installed, make it simple to deploy clustered Rails applications on cloud infrastructures like Amazon EC2.
This document introduces a Namespace Less Engine that allows projects to reuse code from other projects without worrying about namespaces. Some key points:
- It allows reusing an entire project (CMS, news system, etc.) rather than just parts of code. Everything can be inherited and overridden.
- Models, controllers and other code can be written without namespaces. Placeholder files define inline namespaces.
- Views cannot be directly inherited but can be overridden. Helpers can also be included.
- The engine gem is included in the Gemfile. Migrations and other setup is installed via rake tasks.
- Tips include using the engine as a submodule instead of gem, and generating models/controllers
This document discusses adding authentication to a Rails application using the Devise gem. It covers generating a User model with Devise, installing Devise and its dependencies, and configuring authentication features like login, logout, and restricting access to controllers. Key aspects include:
1. Generating a User model with rails generate devise:install.
2. Adding Devise and its dependencies to the Gemfile and running bundle install.
3. Adding authentication checks like user_signed_in? and current_user to views.
4. Restricting controller actions with a before_filter to authenticate users.
This document discusses the Laravel PHP framework and provides an overview of its key characteristics and features. It highlights aspects like Eloquent ORM, routing, MVC architecture, Blade templating, easy creation of RESTful APIs, and Artisan CLI. It also mentions features like authentication, forms, validation, caching, testing, and more. The document concludes with an example tutorial for building a RESTful API in Laravel involving models, controllers and JSON responses.
Project Fedena and Why Ruby on Rails - ArvindArvind G SThoughtWorks
Project Fedena is an open source school management system built using Ruby on Rails. It was developed by Foradian Technologies in response to requests from schools in India needing an efficient data management solution. The project started with two developers learning Ruby and Rails simultaneously with building the initial application. Key aspects of the system include its user-friendly interface, ease of use, and architectural design using Rails, MySQL database, and other plugins. While Rails provided benefits like code readability and conventions, ongoing work is focused on improvements to testing, deployment, performance, and scalability. The project aims to develop an open community of contributors on its website at ProjectFedena.org.
This document provides an overview and recap of key concepts in building web applications with Ruby on Rails, including the Rails console, ActiveRecord queries, views with embedded Ruby and layouts, helper methods, models, controllers, routing, validations, and associations. It discusses using the Rails console to run ActiveRecord queries. It also covers defining routes and generating RESTful routes, writing controller actions, and linking views to controllers. Finally, it discusses writing tests to validate models, and setting up associations between the Station and Stream models using has_many and belongs_to.
If you are new to Single Page Applications, This will give you a great understanding of a proven technology stack & Architecture used in a popular commercial project.
"Fun with JavaScript and sensors" by Jan JongboomFwdays
This document discusses using sensors and device capabilities with JavaScript. It begins by describing the various sensors available on mobile devices like accelerometers and gyroscopes. It then provides examples of projects that utilize these sensors, such as using the light sensor to control an on-screen music player or tracking device movement to render a 3D model. The document also introduces JanOS, a fork of Firefox OS intended for phones and Raspberry Pi devices that provides access to phone APIs in JavaScript. It encourages attendees to experiment with sensors and think creatively about new uses.
Рассказ о том, каково это – жить в heroku с чем-то чуть более сложным, чем pet-project или прототип. Какие сокровища и подводные камни таит в себе море PAAS?
Что можно, а что нельзя сделать на этой платформе? Подходит ли heroku для хостинга java/scala приложений? Ответы на эти и многие другие вопросы – в этом докладе
Анна Лаврова "When Fairy Tale meets Reality: Точность-надежность-дизайн"Fwdays
О том, что бывает, когда в "когда-то идеальном сказочном проекте" бывают изменения и как с ними жить.
Рассмотрим случаи:
когда резко пропадает Product Owner
когда на проекте нет UX специалиста и дизайнера
когда демо идет не по плану
когда API ломает продукт перед релизом
Все ситуации из настоящих проектов и способы их решения тоже. Мы рассмотрим ситуации, которые уже случились и те, которые могли бы произойти.
Про что не стоит забывать, когда начинаешь разрабатывать под WatchKit:
-Ограничения дизайна(о которых забывают дизайнеры, рисуя под WatchKit)
-Гениальные идеи клиентов, которые разбиваются о суровую реальность ограничений WachKit.
-Пример обмена данными между основным приложением и wachKit, точки синхронизации (кто главный).
-и еще немного обо всем ;)
As a developers we always want to push our limits further and produce features quick and with high internal quality. In my team we write a lot of tests, and I want to share some learned lessons with you.
I will show different decomposition technics and testing approaches. I will review and compare several existing libraries for unit tests.
Андрей Уманский и Дмитрий Горин "Нет скучным ретроспективам! Создаём эффектив...Fwdays
Расскажем о том как для команды из непонятной и неинтересной хрени сделать эффективный ритуал, как оглядываться назад чтобы идти вперед и что для этого надо.
Максим Климишин "Борьба с асинхронностью в JS"Fwdays
Доклад о том, какие модели работы с асинхронностью есть в JS, почему они возникли и почему синхронный код лучше, чем асинхронный.
И как итог – коротко как писать асинхронный код в виде синхронного на базе CSP.
Многие аналитики предрекают реактивному программированию большое будущее в решении задач Mobile и Big Data.
TypeSafe, разработчики языка Scala, создали многообещающий реактивный фреймворк Akka, который "дружит" с Java.
Чем он может быть интересен Java-разработчикам? Сможет ли Akka+Java конкурировать с Akka+Scala? И как ей в этом помогут новые фичи Java 8?
Об этом я расскажу в своем докладе "Посмотрим на Акку-Джаву".
Александр Корниенко "Как реально построить Dream-team?"Fwdays
В меню лекции:
- классические истории причин успеха команд в спорте и бизнесе;
- классические и новейшие данные нейробиологии и социальной психологии о групповых и командных взаимодействиях;
- реальный опыт спикера по работе с множеством команд в Украине и по всему миру;
- вековая мудрость и новейшие тренды и тенденции командной работы;
"Walk in a distributed systems park with Orleans" Евгений БобровFwdays
Долгое время разработка производительных, масштабируемых, надежных и экономически эффективных распределенных систем, была прерогативой узкого круга специалистов. Переезд в «облако», сам по себе, проблему не решил. Обещанная провайдерами дешевая линейная масштабируемость, по-прежнему, недостижимая мечта для всех, сидящих «на игле» реляционных баз данных и монолитных архитектур.
С выходом Microsoft Orleans, разработчики, наконец-то, получили максимально простую и удобную платформу для создания масштабируемых и отказоустойчивых распределенных систем, предназначенных для запуска в «облаке» или в приватном дата-центре.
В докладе будут рассмотрены основные концепции и прецеденты использования платформы, такие как: Internet Of Things (IoT), распределенная обработка потоков данных, масштабирование РСУБД и любых других ограниченных ресурсов, отказоустойчивая координация длительно выполняющихся бизнес-процессов.
"The Grail: React based Isomorph apps framework" Эльдар ДжафаровFwdays
Since Nodejs came into my life the idea of architecture that would allow me to build SPA apps that would render on server as well as on client. With Grail, Reactjs and React router this is possible right now without any side effects and with any kind of backend API.
Уже много всего говорили про React, но этот доклад о другом. Этот доклад о том, как мы добавили React.js в большое приложение (>2000 файлов, 2 года разработки) и что из этого получилось. Модульность, Backbone Flux и котики. +Бонус - React Native
"От разработчика в консультанты - история одного тренера" Александр БаглайFwdays
Появлялись ли у тебя когда-либо мысли типа "а что дальше?" Есть многолетний опыт работы. Вот он. 5+ лет. И ты программируешь сейчас на проекте. И платят неплохо. Очень даже неплохо. Много предложений от рекрутеров. Есть классно подготовленное резюме. Если что-то пойдет не так - одно-два-три-пять собеседований и у тебя есть новая работа. Но вот как-то что-то не так. Теперь уже не так. То ли приелось. То ли что? Внутри укрепляется чувство, а разве для этого я был создан? Пробуешь разрабатывать pet-проектики для себя, для души. Быть может берешь себе падавана и менторишь его. Может на конференции зачастишь. Где-то даже поволонтерить получится или доклад подготовить. Немного отпускает. Но потом снова накатывает второй волной, но уже сильнее. И вроде числишься в стране как приватный предприниматель и в квэдах написано, что ты консультируешь и все такое. Но предпринимательством не пахнет.
И вот ты пилишь еще более усиленно свои pet-project. И даже появляются идеи о том, чтобы "а не застартапить ли его". И может постепенно решаешь заняться тренингами вначале в свободное время для коллег, потом для соседних проектов в компании. Может быть организуешь свой клуб по интересам, собираетесь раз в две недели. Там драйвишь ребят. Шаг за шагом. Доклад за докладом, растет твой тренерский опыт. Опыт консультанта. И тут случается первый шоустоппер.
В неделе выходных всего 2 а в сутках 24 часа. Остальное время - дорога домой, сон и работа. Хочется развернуться. Уходишь вначале на пол ставки. Потом и полностью в тренера подаешься. Все кругом говорят - чувак, без практики знания устаревают - не боишься ли? Но ты то понимаешь, что только сейчас по-настоящему и начал у
"Эффективность и оптимизация кода в Java 8" Сергей МоренецFwdays
Если мы захотим понять, что такое совершенный(идеальный) код, то одной из его характеристик будет эффективность. Это включает в себя и быстродействие кода, и объем потребляемых ресурсов(память, дисковых, I/O).
Зачастую эффективность отодвигается на второй план, поскольку ее не так просто рассчитать заранее, а также точно определить на ревью кода. В то же время это единственная характеристика, которая затрагивает конечного пользователя наших проектов.
В моем докладе я рассмотрю, что такое эффективность, как ее правильно измерять, мы коснемся мифов об эффективности, которые очень популярны сейчас, рассмотрим примеры эффективного и неэффективного кода, нужной и бессмысленной оптимизации кода.
Главный упор будет сделан на функциональности, которая была добавлена в Java 8.
Михаил Чалый "Serverless Architectures using .NET and Azure"Fwdays
I would like to give an overview of the Serverless architectures with examples using Azure. We will explore strong and weak parts of the architecture. Take a look at use cases and scenarios. And see some practical demos: Azure Functions, Azure Logic Apps, and some other services.
"From CRUD to Hypermedia APIs with Spring" Владимир ЦукурFwdays
Typical way to design and expose HTTP API today is a so called CRUD approach: come up with URL templates for resources, map create-read-update-delete operations to HTTP verbs and serialize domain model as JSON. Nice and easy, isn't it?
This talk will present limitations of CRUD style APIs and how to address them using "real" REST and hypermedia, HAL and ALPS.
We'll take a look how a set of libraries and tools from Spring helps building these APIs.
All the talking is not worth it without an example, so Spring-based application will be our guide. Amazon, PayPal, GitHub and other API providers have already started embracing hypermedia and linking by enhancing their HTTP interfaces.
Are you next?
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"Fwdays
Модель компонентов существует уже несколько лет, однако только за последний год она действительно обрела силу, пожалуй, благодаря React.
Компоненты играют ключевую роль в Angular 2.0, однако использовать их уже можно и нужно сейчас в существующем коде.
В этой лекции мы разберем по косточкам все супер-силы, которые есть у Angular Components и возможности, которые открываются с их использованием на основе реального приложения. После этого, Вам вряд ли захочется возвращаться в обычный мир Angular.
Маргарита Остапчук "Що нового в Windows 10 для розробників"Fwdays
Універсальна платформа Windows - це велика зміна для Microsoft, що надає радикально нові можливості для розробників: можливість створювати один додаток, який може запускатись на кількох типах пристроїв, здійснюючи підтримку відповідного досвіду використання.
"Выучить язык программирования за 25 минут" Дмитрий МантулаFwdays
Три года назад я, будучи "прожженным Java-программистом", решил пройти курс "FunProg in Scala". Scala взорвала мне мозг! Хоть я и чуствовал себя неуверенным джуном – не было уже никакого желания возвращаться в Java. Нужна была работа на Scala.
Но кому же нужен новичок без опыта? Тогда я начал искать лайфхаки: нужно было как-то мобилизовать свои силы и выучить новые парадигмы программирования в короткие сроки. Со временем это превратилось в систему, которую я использую по сей день и которой поделюсь в своем докладе.
"Война типов: сильные против слабых" Виктор ПолищукFwdays
Вы скорее всего участвовали в спорах о лучшем языке: Assembler vs Basic, Cobol vs Lisp, Pascal vs C, Delphi vs C++, Java vs ..., Java vs .Net, + OCaml + Scala + Haskel + Schema + Javascript + Python + Groovy + Whateverlanguageisit.
Иногда вы использовали определения "слабо-"/"сильно-" типизированный язык. Я бы поговорил об этом. Это слишком важно, чтобы быть в стороне.
Я хочу сравнить несколько разных языков, и показать насколько иллюзорны идеи деления на сильно/слабые. Немного математики и общепринятого безумства: Javascript, Java, Scala, C++, .Net, Haskel и может что-то сверху. Я хочу показать разные подходы к типам с точки зрения их применимости, полезности, эффективности. Возможно даже то, что нас ждет в Java 40.0.
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...Alberto Perdomo
Strangers In The Night discusses a Ruby web development conference called "Gem Talk" held in Las Palmas on November 5th, 2010. The talk was given by Alberto Perdomo and covered various Ruby web servers, frameworks, and middleware that can be used to build web applications and services. It also provided an overview of the Sinatra microframework, highlighting features like routes, templates, errors and testing. Examples of real-world Sinatra applications were shown to demonstrate its use for small sites, services and modular applications.
This document discusses Rack, a modular Ruby web server interface.
It describes problems with different web servers and frameworks, and how Rack provides an abstraction layer through a simple request-response interface. Rack middleware is explained, as well as how Rails integrates with Rack. Examples of Rack applications and middleware are provided.
This document discusses ways to create lightweight Ruby solutions by simplifying frameworks and components. It suggests replacing ActiveRecord with the simpler and faster Sequel ORM. It also recommends using Zepto.js instead of jQuery for mobile apps, and Rack and Sinatra to build lightweight web apps instead of full Rails applications. Benchmarks show these lightweight approaches can significantly improve performance compared to default Rails. Tools mentioned that aid lightweight development include Pow for local web serving and rbenv for Ruby version management. The document concludes by reminding developers not to see Ruby as the only solution and to consider other languages like Erlang, Scala and C++ for certain problems.
This document discusses various web frameworks and tools including Sinatra, Padrino, CoffeeScript, Sass, and Sprockets. It summarizes Padrino as a modular web framework built on Sinatra that aims to provide more features out of the box compared to Sinatra. Padrino includes generators to create projects, controllers, models and other components. It supports features like modular design, multiple apps, helpers for tags/assets/links, an optional mailer, and a development-friendly environment. The document presents Padrino as a fully-featured alternative to building applications with just Sinatra.
Introduction to Rails - presented by Arman Ortegaarman o
This document provides an introduction to Ruby on Rails presented by Arman Ortega. It outlines what will be covered including an overview of Ruby and Rails, the concept of convention over configuration in Rails, and performing CRUD (create, read, update, delete) operations. It then demonstrates creating a sample blog application in Rails and provides links for additional learning resources.
Rails and the Apache SOLR Search EngineDavid Keener
What good is content if nobody can find it? Many information sites are like icebergs, with only a limited amount of content directly accessible to users and the rest, the "underwater" potion, only available through searches. This talk shows how Rails web sites can take advantage of the world-class Apache SOLR search engine to provide sophisticated and customizable search features. We'll cover how to get started with SOLR, integrating with SOLR using the Sunspot gem, indexing, hit highlighting and other topics.
Ruby on Rails com certeza é a estrela que elevou Ruby ao patamar de linguagem praticamente obrigatória a todo programador moderno. Porém muitos esquecem que Rails não é a única forma de desenvolver aplicações Web e muitas vezes nem é a melhor opção. O Ecossistema Ruby evolui a passos largos, todos os novos frameworks Web em Ruby adotaram o padrão Rack, que facilita a interoperabilidade entre frameworks Ruby. Além disso muitos estão olhando para o mundo da alta concorrência com novas tecnologias como Node.JS, mas o mundo Ruby tem opções robustas e testadas em produção como EventMachine. Enfim, vamos tentar aumentar o leque de soluções web com Ruby, além do Rails, traçando um paralelo com a plataforma .NET.
Ruby on Rails + AngularJS + Twitter BootstrapMarcio Marinho
This document provides an overview of setting up a Ruby on Rails application that integrates AngularJS and Twitter Bootstrap. It discusses why these technologies are used together and how to set them up, including installing necessary gems, modifying files, and adding AngularJS controllers. Code examples are provided to demonstrate basic CRUD functionality using Rails and AngularJS. The document concludes by describing the presenters' consulting company and providing contact information.
The document introduces Spiceweasel, a tool for converting YAML or JSON configuration files describing infrastructure components like cookbooks, roles, and nodes into Chef knife commands. This allows infrastructure to be defined as code and deployed in a versioned and repeatable way. Key points covered include supported infrastructure components, validation of the configuration, and examples of real-world usage.
Introducing the Seneca MVP framework for Node.jsRichard Rodger
The document discusses starting a Node.js community project called Seneca. Seneca is described as a toolkit that allows building a startup minimum viable product in a weekend. It encourages participants to sign up via Twitter or email and contribute code to the GitHub repository. The document provides an overview of Node.js modules and how to create, publish and use them as part of developing the Seneca project.
The document discusses starting a Node.js community project called Seneca. Seneca is described as a toolkit that allows building a startup MVP in a weekend. It encourages participants to sign up via Twitter or email and contribute code to the GitHub repository. The document provides an overview of Node.js modules and how they work, and promotes contributing to the Seneca project by writing plugins and documentation.
Sinatra is a lightweight web application framework for Ruby. It provides a simple DSL (domain specific language) for quickly building RESTful web services and web applications. Some key features of Sinatra include routing requests to code blocks, using template engines like ERB for views, layouts for wrapping pages, and the ability to connect to databases using ORMs like ActiveRecord. Sinatra applications follow a simple file structure and conventions, and can be extended through plugins, filters, and helpers.
The document discusses Ruby on Rails and alternatives for building web applications in Ruby. It covers concepts like coupling and cohesion in software design. It then introduces Rack, an interface between web servers and Ruby frameworks, and how it helped connect different Ruby frameworks like Sinatra, Merb, and Ramaze. It provides examples of using Rack with the Sequel ORM and Thin web server to build simple web applications in Ruby.
JRuby, Ruby, Rails and You on the Cloud is a presentation about using Ruby on Rails with JRuby on cloud platforms. It introduces JRuby and how to set up a development environment. It demonstrates generating a Rails scaffold and accessing Java libraries from Rails. Deployment options on platforms like Engine Yard AppCloud are discussed. The presentation provides an overview of testing and recommends resources for learning more about Ruby, Rails, JRuby and deployment strategies.
This document discusses some of the challenges of using Sinatra for complex web projects compared to Rails, including:
1. Models require additional configuration like dependent options and counter caches compared to ActiveRecord in Rails.
2. The ORM Sequel requires more setup than ActiveRecord in Rails but offers more flexibility.
3. Migrations need to be run manually from the command line rather than using Rails generators.
4. Additional gems are needed to get Rails-like functionality for assets, forms, routing, and reloading.
The story about difficulties, surprises, and workarounds using Sinatra for complex projects. The presentation prepared by Vadim Evseev for the Ruby Meditation Conference, Kyiv.
This document provides an overview of learning to code for a startup minimum viable product (MVP) using Ruby on Rails. It discusses setting up a development environment, using Git version control, the Ruby programming language basics, Rails models and object-relational mapping, authentication with Devise, Rails controllers and routing, and using scaffolding to build out a sample Mini Twitter app with Posts and Users models. The goal is to provide attendees with the necessary skills to build a basic MVP for a startup.
This document provides an overview of RSpec testing for Rails applications. It discusses installing and generating RSpec files, different types of RSpec specs including model, controller, view, helper and routing specs. It covers spec syntax for expectations, matchers, factories and stubs. It also mentions features specs using Capybara, debugging techniques, JavaScript testing, and tools like DatabaseCleaner. The document is intended as a tutorial for setting up and writing different kinds of RSpec tests for a Rails application.
Ecossistema Ruby - versão SCTI UNF 2013Fabio Akita
This document discusses various topics related to Ruby on Rails development including:
- The Ruby on Rails ecosystem and frameworks like Ruby, Rails, and JRuby.
- Version control using Git for source code management.
- Development tools and environments including Vagrant, Vim, and dotfiles.
- Continuous integration, exception tracking, code quality, and search using tools like Airbrake, Brakeman, and Sunspot.
- Asynchronous messaging with Pusher.
- Deployment using web servers like Nginx, Passenger and web platforms like Heroku, AppFog, and Helios.
Similar to Ruby w/o Rails (Олександр Сімонов) (20)
"What I learned through reverse engineering", Yuri ArtiukhFwdays
In recent years, I have gained most of my knowledge through reverse engineering, how I did it and what I learned during this period, I decided to share. All this concerns graphic programming, performance, best practices in the frontend.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
"Micro frontends: Unbelievably true life story", Dmytro PavlovFwdays
A real life story about the experience of using Micro frontends in an existing Enterprise product. Problems and their solutions on the way from the integration of a separate component to an extensible No-code platform.
"Objects validation and comparison using runtime types (io-ts)", Oleksandr SuhakFwdays
A common task in modern JS is parsing, validating and then comparing JSON objects. In this talk I will quickly go through most common ways to parse/validate and compare objects we use today and then focus more on how runtime types (based on io-ts) can help make such tasks easier and quicker to implement.
"JavaScript. Standard evolution, when nobody cares", Roman SavitskyiFwdays
Should we take a look at JavaScript when everyone is writing in TypeScript? What happens to the standard? What did we get last year? What new features can we expect this and next year? And most importantly, when will Observer be standardized?
Let's try to answer all these questions and even a little more, dream about the future, and enjoy that Observer is alive (or not).
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
Case study of how small team in Preply started with inheriting an existing ranking model to being able to produce a model per day. In this talk we'll cover steps to take if you find yourself in a similar situation: what kind of technology and processes can you introduce in order to achieve a great speedup in a development speed.
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
In my talk, I will tell about the world of GenAI services beyond GPT-wrappers and how we developed and scaled GenAI-centric applications. I'll share personal experiences about the obstacles, lessons, and strategic tools and methodologies that were key in taking GenAI applications from 0 to 1. I'll talk about the challenges we faced when launching LLM-based and image generative applications and delivering them to end users, and what conclusions and solutions were made.
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
Python engineers are introduced to the transformative potential of Large Language Models (LLMs) in the realm of advanced data analysis and the application of Semantic Kernel techniques. We will talk about how LLMs like ChatGPT can be integrated into Python environments to automate data processing, enhance predictive modeling, and unlock deeper insights from complex datasets. The session will delve into practical strategies for embedding Semantic Kernel methods within Python projects, illustrating how these advanced techniques can refine the accuracy of machine learning models by embedding domain-specific knowledge directly into the analysis process. Attendees will leave with a clear roadmap for leveraging the combined power of LLMs and Semantic Kernels, equipped with actionable knowledge to drive innovation in their data analysis projects and beyond, marking a significant leap forward in the evolution of Python engineering practices.
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
Federated learning. Algorithmic solution to the problem of privacy preserving ML. Pieces involved to support the training with NVIDIA Flare as example. How newest legislation affects federated learning.
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
Today, large language models are becoming an integral part of almost every IT solution. However, their use is often accompanied by certain limitations, such as the relevance of information or its depth and specificity. One of the ways to overcome these limitations is the method of working with LLMs - RAG (Retrieval Augmented Generation).
In an ideal world, you would write Python code and then it would work perfectly. But unfortunately, it doesn't work in this manner. In my talk, I'll cover how to efficiently debug your programs, especially in cloud environments or inside Kubernetes.
MLOps (Machine Learning Operations) is a recent buzzword, that trends a lot. Let's figure out together how maintaining applications with machine learning components is significantly different from maintaining applications without them.
We will look into MLOps best practices and typical problems and their implementations/solutions in real world production.
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while "Favor composition over inheritance!" is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do?
The discussion on composition vs. inheritance is so frustrating because far-reaching design decisions like this can only be made with the ecosystem in mind – and because there's more than one type of subclassing!
Let's take a dogma-free stroll through the types of subclassing through a Pythonic lens and untangle some patterns and trade-offs together. By the end, you'll be more confident in deciding when subclassing will make your code more Pythonic and when composition will improve its clarity.
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
The current architecture of Prom.ua is built on microservices and GraphQL API, but it was not always like that. In this talk, I'll tell you how far we've come and how we've made using graphs in a microservice architecture convenient and simple. I will talk about the problems we faced and how we overcame them, made our development process more accessible, deployments faster, and the remains of the monolith less loaded.
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
ETL stands for extract, transform, load. It's a process that combines data from different sources into a single repository for further processing, analysis, and utilization.
This talk provides an example of how pandas can be used to solve ETL tasks as a stage in the evolution of the data intake component. This involves preliminary validation, filtering, and conversion of data according to a set of business rules and internal representation, with intermediate combination with other sources.
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...Fwdays
I’m confident that many IT professionals are currently facing the same situation I was in a few months ago. Mobilization, uncertainty. How can I be maximally beneficial to the country with my experience and continue professional development in such circumstances? Since the onset of the full-scale invasion, I've been actively volunteering and assisting the army. Mobilization became the next logical step.
I want to share:
My journey in IT, volunteering, and the beginning of my service in the Armed Forces
Impressions from the first few months
Which Soft Skills are helpful in this context
I aim to dispel myths about the mobilization process and projects of the Armed Forces. Address your questions
And yes, military personnel can travel abroad during their leave.
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...Fwdays
The leader must be strong all the time. The leader cannot afford to make mistakes, let alone fail in front of their team. Is that really true? Nick Gicinto, a cybersecurity leader with over 25 years of experience, who has worked for the CIA and has built security systems from scratch at Tesla and Uber, fully hiring teams for these projects, will talk about the importance of being vulnerable to build trust within a team.
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...Fwdays
Sharing open feedback can be difficult because it equals much work on yourself. However, feedback needs attention and a special place in the corporate culture. It helps to grow dynamically, build a team of like-minded people and achieve powerful results.
In the presentation, I will talk about:
The ability to work with feedback as a soft, solid skill in developing technical specialists.
A list of difficulties that prevent quality work with feedback.
The 4A Framework is a tool for successful giving and receiving feedback.
I will also help specialists learn the following:
Form constructive feedback and understand how and when to give it.
Work analytically with the received feedback.
Feel free to share your thoughts and be heard.
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...Fwdays
Will discuss:
Current communication challenges, including mishaps and toxic versus productive interactions.
Ever wondered about PDP? It’s likely because its relevance to career planning, even outside your current company, hasn’t been fully spotlighted.
Exploring how PDP functions within career planning, applicable even if you’re eyeing an exit.
“Who do I aspire to become?”
Summarizing key points with a reference to a practical form you can download to use.
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...Fwdays
This talk will reveal four destructive communication patterns that can undermine team spirit, reduce productivity and cause conflict, and offer effective strategies for neutralizing them.
Let's start with exciting storytelling about a fictional team of developers working on Scrum. You will learn about situations that their team member noticed during team meetings.
Next, we will analyze "The Gottman Four Horsemen" model, which describes the four "horsemen of the apocalypse" of work relationships: criticism, defensiveness, contempt, and stonewalling. For each of these patterns, specific "antidotes" will be offered that allow you to build healthier and more productive relationships in the team.
Finally, we'll look at why this topic is critical to team productivity, drawing on Google's "Project Aristotle" research. Special attention will be paid to the concept of psychological safety, which is a key factor in the success of high-performance teams.
This talk will not only provide valuable insights and tools for improving communication and management in Tech teams, but will also help each member better understand their own contribution to the overall success of the team.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
18. require 'rubygems'
require 'bundler/setup'
require 'sequel'
require 'dotenv'
require 'rake'
env = ENV['RACK_ENV'] || 'development'
namespace :db do
desc 'Run migrations'
task :migrate, [:version] do |_t, args|
::Dotenv.load(".env", ".env.#{env}")
::Sequel.extension :migration
db = ::Sequel.connect(::ENV.fetch('DATABASE_URL'))
if args[:version]
puts "Migrating to version #{args[:version]}"
::Sequel::Migrator.run(db, 'db/migrations', target: args[:version].to_i)
else
puts 'Migrating to latest'
::Sequel::Migrator.run(db, 'db/migrations')
end
end
end
Rakefile
19. ::Sequel.migration do
transaction
up do
create_table :companies do
primary_key :id
String :company_id, null: false, index: true
String :name, null: false
String :einvoice_address, null: false
String :einvoice_operator, null: false
end
end
down do
drop_table :companies
end
end
db/migrations/001_create_companies.rb
20. class CompanyUpdaterWorker
include ::Sidekiq::Worker
sidekiq_options unique: :while_executing
URL = "http://verkkolasku.tieke.fi/ExporVLOsoiteToExcel.aspx?type=csv"
def perform
path = ::Tempfile.new('vlo').path
if http_download_uri(::URI.parse(URL), path)
::NetvisorSpreadsheets::CompaniesFillerService.new(path).import
end
end
def http_download_uri(uri, filename)
begin
::Net::HTTP.new(uri.host, uri.port).start do |http|
http.request(Net::HTTP::Get.new(uri.request_uri)) do |response|
::File.open(filename, 'wb') do |io|
response.read_body { |chunk| io.write(chunk) }
end
end
end
rescue Exception => e
return false
end
true
end
end
companies_updater_worker.rb
21. companies_filler_service.rb
class CompanyUpdaterWorker
include ::Sidekiq::Worker
sidekiq_options unique: :while_executing
URL = "http://verkkolasku.tieke.fi/ExporVLOsoiteToExcel.aspx?type=csv"
def perform
path = ::Tempfile.new('vlo').path
if http_download_uri(::URI.parse(URL), path)
::NetvisorSpreadsheets::CompaniesFillerService.new(path).import
end
end
def http_download_uri(uri, filename)
begin
::Net::HTTP.new(uri.host, uri.port).start do |http|
http.request(Net::HTTP::Get.new(uri.request_uri)) do |response|
::File.open(filename, 'wb') do |io|
response.read_body { |chunk| io.write(chunk) }
end
end
end
rescue Exception => e
return false
end
true
end
end
22. require 'sinatra/base'
require 'sinatra/json'
module NetvisorSpreadsheets
class Server < Sinatra::Base
configure :production, :development do
enable :logging
set :json_encoder, :to_json
end
get '/' do
if params['company_id'] && params['company_id'].length > 0
json ::NetvisorSpreadsheets::CompanyFinderService.find(params['company_id'])
else
400
end
end
end
end
server.rb
23.
24. What we get?
• Only 40Mb RAM
• 1 second app load
• Fast deployment