Під час проектування інтерфейсу найчастіше виникає запитання, а наскільки взагалі він ефективний? І що найголовніше — яким чином можна цю ефективність виміряти?
Найбільш дієвим способом перевірити це провести юзабіліті тестування. Інакшими словами, показати певній кількості людей прототип та попросити їх виконати декілька завдань.
Перевірка дизайн-рішень на контрольній групі не потребує багато часу чи великих витрат. Одак, як саме зрозуміти що нова версія інтерфейсу є ефективною? І як перевести дискусію усередині команди із суб’єктивного сприйняття віжуалу до мови цифр?
На цій презентації я розповім які метрики можна застосовувати для юзабіліті тестуваннь. Як працювати із Task Success Rate, Task Time, Task Error Rate та як вимірювати Efficiency та Lerability. А також як обчислювати та презентувати результати тестування команді та замовникам.
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
The functional programming elements are increasingly appearing in C# programming language every year. However, there are still elements for which there is no native support in the language. It is not always appropriate or possible to change the language to another, where there are such elements. Based on Language-Ext library as an example, which is widely used in the development by Uklon, we will analyse the most useful and popular elements of functional programming that have been already implemented in this library.
● Що таке "цикл зворотнього зв'язку"?
● Цикли зворотнього зв'язку у eXtreme
Programming
● Зміцнення та скорочення циклу
зворотнього зв'язку
● Декларація взаємозалежності
● Запитання та обговорення
Lisp(Lots of Irritating Superfluous Parentheses)Pivorak MeetUp
My presentation is about Lisp, and its influences on ruby language.
Also speak about Lambda calculus and Turing machine. This is crucial for Lisp origins understanding.
Show major Lisp dialects. And speak a little about Emacs and Emacs Lisp.
Also I going to show project management in Common Lisp and describe CLOS (Common Lisp Object System).
Business-friendly library for inter-service communicationPivorak MeetUp
I’m going to share the experience of creating a platform-level client library for communication between internal services.
The talk partially covers topology and protocols related decisions we made.
But the main focus is the Ruby library that defines the inter-service communication framework using business-related abstractions.
Sergiy Kukunin has 9 years of Web Development career and 4 of them - with Ruby. Now he is freelancing and owns a tattoo studio. But the story he is gonna share with us this time is about being a Team Leader - all from a personal experience.
Ever wanted to lead a team?
Hear his sincere story, practical advice and tips how not to screw up.
The document discusses Rails MVC architecture and its key components. It describes how the MVC pattern separates an application into the model, view, and controller components. It then provides examples of how routing, controllers, models, views, and layouts work in Rails applications to implement the MVC pattern.
Ruby on Rails is a full-stack web application framework written in Ruby. It allows developers to build database-backed web applications rapidly using conventions like MVC pattern and follows "convention over configuration" principle. Rails includes features like Active Record (ORM), validations, migrations, scaffolding, routing and helpers to help develop web applications quickly. Testing is an important part of Rails development using tools like RSpec, Factory Girl, Cucumber and Capybara.
Ruby Summer Course by #pivorak & OnApp - OOP Basics in RubyPivorak MeetUp
The document provides a list of resources for learning Ruby including books, podcasts, and websites. It recommends the books "The Well-Grounded Rubyist" by David A. Black, "Clean Code" by Robert C. Martin, and "POODR" by Sandi Metz. It also recommends the Ruby Rogues podcast available at https://devchat.tv/ruby-rogues as a podcast resource for learning Ruby.
The Saga Pattern: 2 years later by Robert PankoweckiPivorak MeetUp
When you split your application into multiple module how do you make them talk to each other? How do you make them react to changes happening in other parts of the system? How do you make them tell each other that something needs to be done? When should it happen? We will have a look what we can squeeze out of domain events being published in various parts of our application and how we can use them to orchestrate a bigger business process.
Під час проектування інтерфейсу найчастіше виникає запитання, а наскільки взагалі він ефективний? І що найголовніше — яким чином можна цю ефективність виміряти?
Найбільш дієвим способом перевірити це провести юзабіліті тестування. Інакшими словами, показати певній кількості людей прототип та попросити їх виконати декілька завдань.
Перевірка дизайн-рішень на контрольній групі не потребує багато часу чи великих витрат. Одак, як саме зрозуміти що нова версія інтерфейсу є ефективною? І як перевести дискусію усередині команди із суб’єктивного сприйняття віжуалу до мови цифр?
На цій презентації я розповім які метрики можна застосовувати для юзабіліті тестуваннь. Як працювати із Task Success Rate, Task Time, Task Error Rate та як вимірювати Efficiency та Lerability. А також як обчислювати та презентувати результати тестування команді та замовникам.
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
The functional programming elements are increasingly appearing in C# programming language every year. However, there are still elements for which there is no native support in the language. It is not always appropriate or possible to change the language to another, where there are such elements. Based on Language-Ext library as an example, which is widely used in the development by Uklon, we will analyse the most useful and popular elements of functional programming that have been already implemented in this library.
● Що таке "цикл зворотнього зв'язку"?
● Цикли зворотнього зв'язку у eXtreme
Programming
● Зміцнення та скорочення циклу
зворотнього зв'язку
● Декларація взаємозалежності
● Запитання та обговорення
Lisp(Lots of Irritating Superfluous Parentheses)Pivorak MeetUp
My presentation is about Lisp, and its influences on ruby language.
Also speak about Lambda calculus and Turing machine. This is crucial for Lisp origins understanding.
Show major Lisp dialects. And speak a little about Emacs and Emacs Lisp.
Also I going to show project management in Common Lisp and describe CLOS (Common Lisp Object System).
Business-friendly library for inter-service communicationPivorak MeetUp
I’m going to share the experience of creating a platform-level client library for communication between internal services.
The talk partially covers topology and protocols related decisions we made.
But the main focus is the Ruby library that defines the inter-service communication framework using business-related abstractions.
Sergiy Kukunin has 9 years of Web Development career and 4 of them - with Ruby. Now he is freelancing and owns a tattoo studio. But the story he is gonna share with us this time is about being a Team Leader - all from a personal experience.
Ever wanted to lead a team?
Hear his sincere story, practical advice and tips how not to screw up.
The document discusses Rails MVC architecture and its key components. It describes how the MVC pattern separates an application into the model, view, and controller components. It then provides examples of how routing, controllers, models, views, and layouts work in Rails applications to implement the MVC pattern.
Ruby on Rails is a full-stack web application framework written in Ruby. It allows developers to build database-backed web applications rapidly using conventions like MVC pattern and follows "convention over configuration" principle. Rails includes features like Active Record (ORM), validations, migrations, scaffolding, routing and helpers to help develop web applications quickly. Testing is an important part of Rails development using tools like RSpec, Factory Girl, Cucumber and Capybara.
Ruby Summer Course by #pivorak & OnApp - OOP Basics in RubyPivorak MeetUp
The document provides a list of resources for learning Ruby including books, podcasts, and websites. It recommends the books "The Well-Grounded Rubyist" by David A. Black, "Clean Code" by Robert C. Martin, and "POODR" by Sandi Metz. It also recommends the Ruby Rogues podcast available at https://devchat.tv/ruby-rogues as a podcast resource for learning Ruby.
The Saga Pattern: 2 years later by Robert PankoweckiPivorak MeetUp
When you split your application into multiple module how do you make them talk to each other? How do you make them react to changes happening in other parts of the system? How do you make them tell each other that something needs to be done? When should it happen? We will have a look what we can squeeze out of domain events being published in various parts of our application and how we can use them to orchestrate a bigger business process.
Data and Bounded Contexts by Volodymyr BynoPivorak MeetUp
Just a small talk about data segregation/modularity from the DDD perspective. It might be interesting for engineers that have to deal with the huge projects. Especially ones that are looking forward to visiting DDD workshop.
Successful Remote Development by Alex RozumiiPivorak MeetUp
More about his talk :
"You've most likely already heard something about remote work. While the concept is not that old, it's a trend that many well-known brands are implementing.
In this presentation, you'll learn the essentials and seldom thought of pitfalls about remote work. These are based on the speaker's experience working remotely for more than two years. Many of these lessons were gained while working at Toptal, a company whose whole business model is built around remote work."
Eugene Pirogov talks about “Origins of Elixir” during #pivorak Lviv Ruby MeetUp 2016
Details:
“For the past 6 years I've been programming in Ruby. Began shifting from Ruby to Elixir during a sabbatical. Started doing programming exercises in Elixir as well as contributing to Elixir language and variety of small libraries in the ecosystem. I'm a strong believer that Elixir, being backed by immensely powerful, robust and battle-tested Erlang VM will take over the world of web development.” - that’s what Eugene says.
The talk will be about solving CSS issues in big projects by adopting Functional CSS methodology.
You will learn how to take best ideas from Functional Programming, and apply them to your CSS codebase. This means side-effects are limited or nonexistent, already created classes can't be overridden because they are immutable and they are trying to be as "pure" as it's possible to achieve in CSS.
Multi language FBP with Flowex by Anton Mishchuk Pivorak MeetUp
The talk is about Flow-Based programming (FBP) using Flowex library built on top of Elixir GenStage feature.
You will find out about Flowex Railway-FBP design approach, about its abstractions, and the way to easily create pipelines of independent components.
Our speaker Anton also demonstrates how one can use Ruby, Python, and, in general, any other programming language inside Flowex pipes and therefore create reusable components with language-specific functionality.
About the speaker:
Anton Mishchuk is an experienced Ruby developer with more than 6 years in business). Now he’s working with Matic Insurance.
For the last 3 years his main addiction has been Elixir: “I’m happy with actors model of concurrency and functional programming. I have a couple of open-source projects written in Elixir - BDD testing library - ESpec and Flowex.”
Watch video of Anton's talk given at #pivorak here - https://www.youtube.com/watch?v=RY9THv-yosI
CryptoParty: Introduction by Olexii MarkovetsPivorak MeetUp
This document outlines the topics that will be covered at an upcoming CryptoParty event. The event will introduce participants to basic cryptography tools to help spread knowledge and privacy in a fun, public setting. It will cover tools like PGP/GPG for encrypting email, Tor for anonymity online, and Tails for secure operating systems. The goal is to educate people about digital privacy and security as mass government surveillance increases. Participants will learn practical skills over complex theory and have opportunities to network with others.
How to make first million by 30 (or not, but tryin') - by Marek PiaseckiPivorak MeetUp
This time Marek won’t be talking about what’s wrong with frameworks, because you can read it in his blog - http://bit.ly/2jSN0z4.
But about progressing career - strategy, negotiations, self development. And it will be his own story.
It should be interesting for anyone who cares about career/money - not only Ruby Devs.
Marek is from Poland, but now he works as a contractor in Rome for International Fund for Agricultural Development (IFAD) - which is United Nations agency. I’m using Rails of course :)” - he says.
Marek was our Lightning Talker last April about anti-frameworks. Please, check out his talk here emoji unicode: 1f3a5emoji unicode: 1f449 https://youtu.be/QsAArlQnktI
This document discusses integrating geospatial data and functionality into a Ruby on Rails application using the OpenGeo Suite. It provides an overview of key concepts like raster vs vector data, and describes how to store geospatial data from shapefiles in PostGIS, serve it with GeoServer, and display it in maps using OpenLayers. It also outlines the typical steps to publish a geospatial layer and introduces various APIs for GeoServer configuration. Finally, it lists requirements and describes a process for importing shapefiles into PostGIS through a background job to create layers in GeoServer.
Unikernels - Keep It Simple to the Bare MetalPivorak MeetUp
In this presentation Tomek Kalinowski introduces the Audience to the idea of “Library Operating System” and its modern extension - The Unikernel.
In short unikernel is another way of packaging and deploying code in which everything, including operating system, is tailored to serve your code’s single purpose (like displaying random cat pictures).
We'll try to answer the questions:
- Why and when it can be useful?
- Is this reusable? Interoperable?
- How we can leverage virtualization?
And last, but not least, is this the answer for inevitable coming of our Lord and Savior FPGA?
Практика студентів на складі одягу H&M у Польщіtetiana1958
Пропонуємо студентам Державного біотехнологічного університету активно поринути у аспекти логістики складу одягу H&M.
Метою практики є не тільки отримання теоретичних знань, а й їх застосування практично.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.tetiana1958
Державний біотехнологічний університет.
Випуск магістрів-науковців факультету мехатроніки та інжинірингу, 2024 р.
Спеціальність 133 "Галузеве машинобудування"
Безбар’єрність в бібліотеці – суспільна нормаssuser15a891
Виступ директора Арцизької міської публічної бібліотеки Галини Стоматової 08.06.2024 р. під час засідання круглого столу «Безбар’єрне середовище в публічній бібліотеці: комфорт для кожного», який відбувся в місті Чорноморськ, в рамках ХХІV Інтелект-форуму «Українська книга на Одещині»
проєкту від Національної бібліотеки України для дітей «Подорож містами України», у якому ти відкриєш для себе найкращі краєзнавчі перлини Батьківщини. Дванадцята зупинка присвячена західному, колоритному, найменшому за розміром регіону України - Чернівецькій області, яку називають Буковиною.
Передвиборча програма Майора Станіславаtetiana1958
Передвиборча програма Майора Станіслава - кандидата на посаду голови Студентського самоврядування Факультету переробних і харчових виробництв Державного біотехнологічного університету (м. Харків)
До 190-річчя від дня нродження українського письменника Юрія Федьковича пропонуємо переглянути віртуальну книжкову виставку, на якій представлена література про його життєвий шлях і твори автора.
Нинішній етап розвитку економіки країни вимагає підвищеного попиту на сільськогосподарську продукцію, виробництво якої неможливе без розвинутого агропромислового комплексу. Тому вплив наукових розробок на сферу виробництва сільськогосподарської продукції набуває все більшої уваги, розцінюється як визначальний фактор інноваційного розвитку в розбудові продовольчого ринку України.
У сучасних умовах сільськогосподарського виробництва пріоритетним напрямком наукових досліджень є обґрунтування та удосконалення сучасних агротехнологій вирощування зернобобових культур на засадах енерго- і ресурсозбереження та екологічної безпечності. Зернобобові культури належать до цінних у продовольчому, кормовому та агроекологічному значенні рослин сільського господарства України.
За посівними площами та валовими зборами товарного насіння група зернобобових культур у світовому землеробстві займає друге місце після зернових. Така їхня позиція зумовлена тим, що вони є найдешевшим джерелом високоякісного білка для харчування людей і годівлі тварин та птиці. Крім цього, насіння бобових вирізняється позитивним впливом на здоров’я людей та тварин завдяки оптимально поєднаному в ньому амінокислотному складу, комплексу вітамінів, мінеральних елементів, інших біологічно активних сполук.
3. Чому писати тести?
Допомагає знайти баги.
Перевіряє, чи Ваш код працює
належно.
Процес стимулює критичне
мислення.
Охоплення крайніх випадків та
періодична їх перевірка.
Зменшує кількість поганого
коду(зазвичай поганий код важко
тестувати)
Додає впевненості для
рефакторингу і покращеннь.
4. Чому писати тести?
Додає впевненості для
додавання функціональності.
Додає впевненості для
апгрейду ПО.
Додає впевненості під час
деплою коду.
Береже час розробки.
Допомагає розробникам спати
вночі.
5.
6.
7. Історії користувача
Опис досвіду користувача
вашого застосунку.
Якісний планувальний
інструмент.
Якісний інструмент комунікації
між розробниками.
Якісний інструмент комунікації з
клієнтом.
Описує один крок в досвіді
користувача.
8. З огляду на ... Коли ...
Тоді
З огляду на те, що користувач
не залогований.
Коли користувач заходить на
сторінку логіну.
Тоді користувач має бачити
поля форми для логіну та паролю і
кнопку підтвердження.
9. З огляду на ... Коли ...
Тоді
З огляду на те, що користувач
не залогований і переглядає форму
для входу в систему.
Коли користувач вводить
дійсний логін та пароль і
підтверджує форму.
Тоді запит має його
перенаправити на сторінку
профайла користувача.
10. Що тестувати?
Ви маєте тестувати лише те,
що має працювати.
Для існуючого коду, слід
писати тести за пріоритетністю.
Успішний сценарій.
Не успішні сценарії
Спеціальні ситуації
Кожен баг, який знайдено
11. Що не тестувати?
Базове Ruby
Базову функціональність RoR
Бібліотеки
Поведінку, що вже тестувалась
12. Важливі поради
Не якісне, часткове тестування
або поламані тести можуть мати
гірші наслідки ніж їхня відсутність.
Тести мають бути швидкими.
Всі тести мають проходити.
Уникати тести, які мають
залежності від конкретної
імплементації.
13. RSpec
Version >= v3
Глобальний файл конфігурації
~/.rspec
Файл конфігурації проекту
./.rspec
Локальний файл
./.rspec-local
18. Декілька порад, щодо
очікувань
В ідеалі, має бути одне
очікування для одного зразка.
Для сценаріїв, коли перед
тестом необхідно ініціалізувати
велику кількість даних - варто
використовувати декілька
очікувань.
41. Minitest Assertions
assert(test, msg = nil) - тест не
проходить, якщо параметр test є не
правдивий.
assert_empty(obj, msg = nil) - тест
успішний, якщо obj є порожнім.
assert_equal(exp, act, msg = nil) - тест
успішний, якщо exp == act.
assert_includes(collection, obj, msg =
nil) - тест успішний, якщо об’єкт входить до
колекції.
42. Minitest Assertions
assert_instance_of(cls, obj, msg = nil)
- тест успішний, якщо об’єкт є сутністю
класу.
assert_kind_of(cls, obj, msg = nil) -
тест успішний, якщо об’єкт є сутністю класу
або сутністю підкласу.
assert_match(matcher, obj, msg = nil)
- тест успішний, якщо obj відповідає
регулярному виразу.
assert_nil(obj) - тест успішний, якщо obj є
nil.
43. Minitest Assertions
assert_operator(o1, op, o2, msg = nil)
- тест успішний, якщо бінарна оператор
повертає правдиве значення.
assert_raises(*exp){|| } - тест успішний,
якщо block спричинить виняткову ситуацію.
assert_respond_to(obj, meth, msg =
nil) - тест успішний, якщо obj відповідає на
повідомлення meth.
assert_send(send_ary, m = nil) -
send_ary є масив, який містить отримувача
повідомлення, повідомленя та аргументи.
тест успішний, якщо метод повертає true
45. Minitest::Expectations
must_be() - працює, як assert_operator.
також може використовувати тверджуння.
must_be_empty() - працює, як assert_empty
must_equal() - працює, як assert_equal
must_include() - працює, як assert_includes
must_be_instance_of() - працює, як
assert_instance_of
must_be_kind_of() - працює, як
assert_kind_of
must_match() - працює, як assert_match
must_be_nil() - працює, як assert_nil
must_raise() - працює, як assert_raises
46. Minitest::Expectations
wont_be() - працює, як refute_operator.
також може використовувати тверджуння.
wont_be_empty() - працює, як refute_empty
wont_equal() - працює, як refute_equal
wont_include() - працює, як refute_includes
wont_be_instance_of() - працює, як
refute_instance_of
wont_be_kind_of() - працює, як
refute_kind_of
wont_match() - працює, як refute_match
wont_be_nil() - працює, як refute_nil
wont_raise() - працює, як refute_raises