iPad-app usabilitytest met eyetracking van MediaTest en ValidatorsMediaTest
Met de komst van tablets, zoals de iPad, zijn ook nieuwe manieren van testen nodig. MediaTest en Validators hebben 24 november 2010 op het MIE 2010 hun methode om iPad-apps te testen gepresenteerd. De methode koppelt eyetracking (navigatie en design) aan leanback-interviews, waarbij de deelnemer in een ‘luie’ stoel met de app aan de slag gaat. De combinatie van onderdelen leidt tot concrete verbeterpunten op het gebied van navigatie en design en geeft onder andere inzicht in de waarde van de app en de attentiewaarde van advertenties.
Voor de ontwikkeling van de methode is onderzoek gedaan onder acht iPad-gebruikers. De apps van NU.nl (Sanoma Digital) en Reiz& (ANWB) waren onderwerp van onderzoek. Beide apps worden door gebruikers zeer positief beoordeeld. Belangrijke conclusie is dat er in dit prille stadium van de ontwikkeling van apps nog een gat zit tussen de navigatie die de gebruiker verwacht en de manier waarop dit in apps is vormgegeven. Verwachtingen worden bepaald door het gebruik van internet op de PC en smartphones, terwijl apps hier op een aantal punten van afwijken. Hierdoor worden de apps niet optimaal gebruikt en wordt informatie gemist of over het hoofd gezien.
Onderstaand is een link naar de presentatie opgenomen, met daarin een aantal praktische aandachtspunten. Wilt u meer informatie, bijvoorbeeld hoe we ook uw app kunnen testen, neemt u dan contact op met Michiel Rotteveel (mrotteveel@mediatest.nl, 020 – 410 00 00)
Onderzoek naar Customer Media als onderdeel van de Smin-cursus "Inleiding Cus...MediaTest
Smin, Customer Media Associatie, de branchevereniging van customer media producenten in Nederland, organiseert elk jaar de cursus Inleiding Customer Media. De cursus is bedoeld voor mensen die pas relatief kort in de wereld van de customer media werken. In een groot aantal lessen/workshops worden de verschillende aspecten van het vak behandeld. Alle lessen worden gegeven door gastsprekers.
Bart Kleijn van MediaTest ging in op het onderwerp onderzoek. In de les kwam de theorie van marktonderzoek aan de orde. Daarnaast werd ingegaan op de praktijk, aan de hand van cases die door de cursisten werden aangedragen.
iPad-app usabilitytest met eyetracking van MediaTest en ValidatorsMediaTest
Met de komst van tablets, zoals de iPad, zijn ook nieuwe manieren van testen nodig. MediaTest en Validators hebben 24 november 2010 op het MIE 2010 hun methode om iPad-apps te testen gepresenteerd. De methode koppelt eyetracking (navigatie en design) aan leanback-interviews, waarbij de deelnemer in een ‘luie’ stoel met de app aan de slag gaat. De combinatie van onderdelen leidt tot concrete verbeterpunten op het gebied van navigatie en design en geeft onder andere inzicht in de waarde van de app en de attentiewaarde van advertenties.
Voor de ontwikkeling van de methode is onderzoek gedaan onder acht iPad-gebruikers. De apps van NU.nl (Sanoma Digital) en Reiz& (ANWB) waren onderwerp van onderzoek. Beide apps worden door gebruikers zeer positief beoordeeld. Belangrijke conclusie is dat er in dit prille stadium van de ontwikkeling van apps nog een gat zit tussen de navigatie die de gebruiker verwacht en de manier waarop dit in apps is vormgegeven. Verwachtingen worden bepaald door het gebruik van internet op de PC en smartphones, terwijl apps hier op een aantal punten van afwijken. Hierdoor worden de apps niet optimaal gebruikt en wordt informatie gemist of over het hoofd gezien.
Onderstaand is een link naar de presentatie opgenomen, met daarin een aantal praktische aandachtspunten. Wilt u meer informatie, bijvoorbeeld hoe we ook uw app kunnen testen, neemt u dan contact op met Michiel Rotteveel (mrotteveel@mediatest.nl, 020 – 410 00 00)
Onderzoek naar Customer Media als onderdeel van de Smin-cursus "Inleiding Cus...MediaTest
Smin, Customer Media Associatie, de branchevereniging van customer media producenten in Nederland, organiseert elk jaar de cursus Inleiding Customer Media. De cursus is bedoeld voor mensen die pas relatief kort in de wereld van de customer media werken. In een groot aantal lessen/workshops worden de verschillende aspecten van het vak behandeld. Alle lessen worden gegeven door gastsprekers.
Bart Kleijn van MediaTest ging in op het onderwerp onderzoek. In de les kwam de theorie van marktonderzoek aan de orde. Daarnaast werd ingegaan op de praktijk, aan de hand van cases die door de cursisten werden aangedragen.
Демо урок по програмиране със Светлин НаковSvetlin Nakov
В този демо урок д-р Светлин Наков разказва за програмирането и дава възможност на присъстващите да напишат няколко реда код, да напишат първите си програмки с Python и други езици и показва, че писането на код е лесно и забавно. За запалилите се по програмирането лекторът разкрива възможности да продължат да се занимават в СофтУни или по свой собствен път.
Това е превод на български от Теодора Берова на първият урок от поредицата уроци, които водих преди време за QA-отдела на голяма международна компания, по покана на Светлин Наков.
Искам да го споделя с всеки, който търси непреходни знания за Perl.
Обновяванията след 1ви юни 2014 и преводът са направени с подкрепата на Chain Solutions (http://chainsolutions.net/).
Таблица със съдържанието на курса може да бъде намерена на http://i-can.eu/ .
Изходният код на примерите и уроците в ODP формат се намират на адрес https://github.com/kberov/PerlProgrammingCourse/ .
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
Училищен курс по програмиране на C# (2013/2014), занятие №11DAVID Academy
Училищен курс по програмиране на C# (2013/2014)
Занятие №11: Полиморфизъм (част 1): Презаписване на членове. Презаписване на оператори. Предефиниране на членове
Built-in testing capabilities of Go's standard library. Techniques for measuring test coverage and keeping it satisfactory and go through some mock-up techniques.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Българският open source проект Minimal Linux Live предоставя основната софтуерна инфраструктура, която е необходима за създаването на минимална Linux базирана операционна система. Реално целият процес по сваляне на необходимите сорсове, тяхното компилиране, както и създаването на live ISO image, се свежда до изпълнението на един единствен shell скрипт файл. Така всеки програмист има възможност лесно да създаде своя собствена операционна система.
Демо урок по програмиране със Светлин НаковSvetlin Nakov
В този демо урок д-р Светлин Наков разказва за програмирането и дава възможност на присъстващите да напишат няколко реда код, да напишат първите си програмки с Python и други езици и показва, че писането на код е лесно и забавно. За запалилите се по програмирането лекторът разкрива възможности да продължат да се занимават в СофтУни или по свой собствен път.
Това е превод на български от Теодора Берова на първият урок от поредицата уроци, които водих преди време за QA-отдела на голяма международна компания, по покана на Светлин Наков.
Искам да го споделя с всеки, който търси непреходни знания за Perl.
Обновяванията след 1ви юни 2014 и преводът са направени с подкрепата на Chain Solutions (http://chainsolutions.net/).
Таблица със съдържанието на курса може да бъде намерена на http://i-can.eu/ .
Изходният код на примерите и уроците в ODP формат се намират на адрес https://github.com/kberov/PerlProgrammingCourse/ .
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
Училищен курс по програмиране на C# (2013/2014), занятие №11DAVID Academy
Училищен курс по програмиране на C# (2013/2014)
Занятие №11: Полиморфизъм (част 1): Презаписване на членове. Презаписване на оператори. Предефиниране на членове
Built-in testing capabilities of Go's standard library. Techniques for measuring test coverage and keeping it satisfactory and go through some mock-up techniques.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Българският open source проект Minimal Linux Live предоставя основната софтуерна инфраструктура, която е необходима за създаването на минимална Linux базирана операционна система. Реално целият процес по сваляне на необходимите сорсове, тяхното компилиране, както и създаването на live ISO image, се свежда до изпълнението на един единствен shell скрипт файл. Така всеки програмист има възможност лесно да създаде своя собствена операционна система.
5. Малко история
2007 стартира работата по проекта
2008 стартира имплементирането на компилатора
2009 първи публичен релийз
6. Малко история
2007 стартира работата по проекта
2008 стартира имплементирането на компилатора
2009 първи публичен релийз
2010 обявен за език на годината от Tiobe
7. Малко история
2007 стартира работата по проекта
2008 стартира имплементирането на компилатора
2009 първи публичен релийз
2010 обявен за език на годината от Tiobe
2011 се използва в production среда от Google
8. Малко история
2007 стартира работата по проекта
2008 стартира имплементирането на компилатора
2009 първи публичен релийз
2010 обявен за език на годината от Tiobe
2011 се използва в production среда от Google
2012 официален релийз на 1.0
9. Малко история
2007 стартира работата по проекта
2008 стартира имплементирането на компилатора
2009 първи публичен релийз
2010 обявен за език на годината от Tiobe
2011 се използва в production среда от Google
2012 официален релийз на 1.0
2013 официален резлий на 1.1
15. Три свята
C/C++: Бързо изпълнение, за сметка бавна разработка, бавна компилация и
не особено тривиален контрол над зависимостите
16. Три свята
C/C++: Бързо изпълнение, за сметка бавна разработка, бавна компилация и
не особено тривиален контрол над зависимостите
Java/C#: По-ефективен процес на разработка, компилация и контрол над
зависимостите, за сметка на изпълнение
17. Три свята
C/C++: Бързо изпълнение, за сметка бавна разработка, бавна компилация и
не особено тривиален контрол над зависимостите
Java/C#: По-ефективен процес на разработка, компилация и контрол над
зависимостите, за сметка на изпълнение
Python/Ruby: Изключително ефективен процес на разработка, без стъпка на
компилация, но изключително бавно изпълнение
18. Три свята
C/C++: Бързо изпълнение, за сметка бавна разработка, бавна компилация и
не особено тривиален контрол над зависимостите
Java/C#: По-ефективен процес на разработка, компилация и контрол над
зависимостите, за сметка на изпълнение
Python/Ruby: Изключително ефективен процес на разработка, без стъпка на
компилация, но изключително бавно изпълнение
*: Трудна паралелизация и ефективност в мултипроцесорни системи
21. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
} else {
fmt.Printf("%g >= %gn", v, lim)
}
return lim
}
func main() {
fmt.Println(pow(3, 2, 10))
}
22. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
23. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
24. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
Безумно бърза компилация
25. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
Безумно бърза компилация
Създаден да scale-ва
26. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
Безумно бърза компилация
Създаден да scale-ва
Изключително опростен
27. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
Безумно бърза компилация
Създаден да scale-ва
Изключително опростен
Забавен
28. Резултатът
Език с отворен код от ниско ниво
C-подобен синтаксис
Дълбоко залегнала идея за конкурентност
Вграден, бърз и ефективен garbage collector
Безумно бърза компилация
Създаден да scale-ва
Изключително опростен
Забавен … на моменти скучен
30. Модулната система
всичко е в пакет
в йерархия са
направени са като хората
import "log”
import googlelog "google/base/go/log"
31. НЕстандартни пакети
Колкото и да е пълна стандартната библиотека,
все ще ни се наложи нещо от вън
go get github.com/Vladimiroff/vec2d
import “github.com/Vladimiroff/vec2d”
var vector vec2d.Vector
38. Интерфейси
type Reader interface {
Read(b []byte) (n int, err error)
}
type Writer interface {
Write(b []byte) (n int, err error)
}
type ReadWriter interface {
Reader
Writer
}
If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.
39. Обектният модел
в този ред на мисли, няма методи
type ByteSlice []byte
func Append(slice *ByteSlice, data []byte) []byte {
// ...
}
40. Обектният модел
в този ред на мисли, няма методи
type ByteSlice []byte
func (self *ByteSlice) Append(data []byte) []byte {
// ...
}
ByteSlice.Append(data)
45. Да събудим perl-джии
от край време ни се обяснява как
регулярните изрази са бавни
Regular Expression Matching Can Be Simple And Fast
(but is slow in Java, Perl, PHP, Python, Ruby, ...)
Russ Cox, 2007
46. Да събудим perl-джии
от край време ни се обяснява как
регулярните изрази са бавни
Regular Expression Matching Can Be Simple And Fast
(but is slow in Java, Perl, PHP, Python, Ruby, ...)
Russ Cox, 2007
Fun fact: Russ Cox става core-developer на Go, през 2009
49. Concurrency
закърмено с тази идея в builtins
Много нишки == много проблеми
Goroutines!
doSomething()
doAnototherThing()
go doYetAnorherThingButinGoroutine()
doOneMoreThing()