ý pre Google AndroidJuraj MichálekPrednáška o vývoji aplikácii pre open source platformu Google Android. Ukážka práce s Adobe AIR, Javou, mobile jQuery
Zváračský kurz na BlazeDS a Google App EngineJuraj MichálekZákladný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce.
Bezpečnosť v kontexte RIA technológiíJuraj MichálekMožnosti RIA technológii a ich bezpečnostné aspekty. ý pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
BarCamp - Zváračský kurz na WebJuraj MichálekZákladný prehľad o technológii Google App Engine a možnosti napojenia Flash Builderu na BlazeDS, pomocou ktorého je možné priamo generovať kód zo serverového API. Výrazné zjednodušenie práce. Nasleduje diskusia o kontinuálnej integrácii a Hudson CI.
Magsa-generovanieMichaela BačíkováDokument pre predmet MaGSA.
Dva základné spôsoby generovania zdrojových kódov z pohľadu implementácie generátora:
- Transformácia programom
- Generovanie prostredníctvom šablón
The New Distrowatch – Bachelor's thesis (SK)Jakub ŽitnýThis project hopes to bring new way to distribute information about vari- ous operating systems – especially multifarious Linux distributions but also other open-source systems. There are so many of them it is not easy to get to know or try out each one. The output of this work is design and imple- mentation of web application which displays information about operating systems on well designed pages. These information come from automatic procedures scanning the inside of operating systems and the Internet. Be- sides displaying information, the website gives a chance for visitors to try out specific operating systems right in their browser. This project is inspired by ideas behind distrowatch.com – a popular website providing updates and rankings of Linux distributions.
PlatformIO - Namakané Arduino IDEVladimír ZáhradníkS vývojovým prostredím Arduino IDE sa stretol asi každý, kto s Arduinom prišiel do kontaktu. Toto prostredie funguje, ale ani zďaleka nie je dokonalé. Predstavím vám PlatformIO. Prostredie, ktoré dokáže Arduino IDE úplne nahradiť a vašu prácu vám zjednoduší.
Rust Embedded Development on ESP32 and basics of Async with EmbassyJuraj MichálekRust CZ/SK Meetup in Brno 8th Feb 2023. Espressif Systems Rust Teams discuss options of Rust std and no_std for ESP32. Discussion contains also new examples of Async using Embassy, plus introduction of Wokwi local simulator for VS Code.
Embedded Development on ESP32 - FEKT VUT - URELJuraj MichálekTalk at University - FEKT VUT - UREL about Embedded Development on ESP32. Simulator Wokwi, GitPod.io and CodeSpaces. Sample ESP32 projects.
Magsa-generovanieMichaela BačíkováDokument pre predmet MaGSA.
Dva základné spôsoby generovania zdrojových kódov z pohľadu implementácie generátora:
- Transformácia programom
- Generovanie prostredníctvom šablón
The New Distrowatch – Bachelor's thesis (SK)Jakub ŽitnýThis project hopes to bring new way to distribute information about vari- ous operating systems – especially multifarious Linux distributions but also other open-source systems. There are so many of them it is not easy to get to know or try out each one. The output of this work is design and imple- mentation of web application which displays information about operating systems on well designed pages. These information come from automatic procedures scanning the inside of operating systems and the Internet. Be- sides displaying information, the website gives a chance for visitors to try out specific operating systems right in their browser. This project is inspired by ideas behind distrowatch.com – a popular website providing updates and rankings of Linux distributions.
PlatformIO - Namakané Arduino IDEVladimír ZáhradníkS vývojovým prostredím Arduino IDE sa stretol asi každý, kto s Arduinom prišiel do kontaktu. Toto prostredie funguje, ale ani zďaleka nie je dokonalé. Predstavím vám PlatformIO. Prostredie, ktoré dokáže Arduino IDE úplne nahradiť a vašu prácu vám zjednoduší.
Rust Embedded Development on ESP32 and basics of Async with EmbassyJuraj MichálekRust CZ/SK Meetup in Brno 8th Feb 2023. Espressif Systems Rust Teams discuss options of Rust std and no_std for ESP32. Discussion contains also new examples of Async using Embassy, plus introduction of Wokwi local simulator for VS Code.
Embedded Development on ESP32 - FEKT VUT - URELJuraj MichálekTalk at University - FEKT VUT - UREL about Embedded Development on ESP32. Simulator Wokwi, GitPod.io and CodeSpaces. Sample ESP32 projects.
Embedded Rust on ESP2 - Rust LinzJuraj MichálekTalk from Rust Linz - 27th Edition in November 2022. Explained development using Bare metal and STD Rust for ESP32. Example of development using wokwi.com/rust. Discussion about shifting business logic of app to Rust and re-using the logic in Embedded device and WASM application.
How Open Source Community and Espressif made it possible to use Rust language...Juraj MichálekThe document discusses how the open source community and Espressif have worked together to make it possible to use the Rust language for ESP32 development. It outlines the early challenges of Rust support, how Espressif built a Rust team to collaborate with the community, and the establishment of regular community meetings. It also describes Espressif's efforts like open sourcing build tools and publishing installers to improve the developer experience for Rust on ESP32.
C language in our world 2019Juraj MichálekTalk at FI MUNI - Brno about C in context of software engineering world of 2019. Added topic related to builds of C/C++ in Docker.
C language in our world 2017Juraj MichálekWorld of C is evolving. New use cases are often with embedded or mobile systems. Software engineer should be aware of technology stack connected to open source technologies like Arduino for IoT.
Continuous Delivery - FIT VUTJuraj MichálekTalk about continuous delivery and available CI servers like: Atlassian Bamboo, JetBrains TeamCity or Jenkins.
C language in our world 2016Juraj MichálekDevelopment in C language in context of year 2016. Reference to new tooling and productivity tools. Update about Gradle 2.13 and new tools like Clion or Visual Studio Code
Story behind PF 2016Juraj MichálekStory about implementation of small game based on KiwiJS and graphics from Enigma game. Exploring technologies like Angular2 and Visual Studio. Explained game mechanics included in the game.
C++ and Software Engineering 2015Juraj MichálekTalk at FI MUNI about C++ and important skills that should developer know. Talking about soft skills and communication with architects and product owners.
C language in our world 2015Juraj MichálekThis document discusses several programming languages and tools, including C, NuGet, Gradle, Jenkins, SDL, Allegro, Go, and others. It provides information on platforms supported, initialization, graphics, input handling, timers, and extensions for these languages and frameworks. It also mentions IDEs like Qt Creator, C9.io, and Sublime Text. Towards the end, it advertises YSofters and provides contact information.
C++ in our worldJuraj MichálekC++ in our world. Build automation with Gradle and Jenkins. Information about programming language Go and some other useful concepts
Bigger & Better RnD - GeeCON.cz 2014Juraj MichálekThe document discusses deploying big changes in research and development by making the process iterative with multiple phases. It recommends taking time to market each phase of the change to various stakeholders, actively gathering feedback, and keeping a roll-back plan ready. The pattern of iterative deployment of change can be reused when transitioning between tools in the Atlassian stack like Jira, Stash, Crucible, Bamboo, and HipChat. The most important result is maintaining an open mindset throughout the process.
Gradle and build systems for C languageJuraj MichálekGradle and build systems for C language. Explaining basics of Gradle on simple examples. How to add support for Visual Studio or Linux package to build.
The story behind PF2014 - CordovaJuraj MichálekThe story behind building application PF2014 based on Cordova with AngularJS, jQuery without Canvas. Short info about app markets like Google Play, Apple App Store, Amazon App Store and Windows Phone store
PowerShell UIAtomationJuraj MichálekThe document discusses Powershell UI Automation, which allows automated testing of graphical user interfaces using Powershell scripts. It provides an overview of GUI testing tools before selecting Powershell UI Automation as the winner due to its advantages like being free, open-source, and using the known Powershell framework. It then covers how to install and use the tool via Powershell cmdlets to perform actions like getting windows and controls, invoking clicks and edits, and taking screenshots. Examples are provided and tips discussed for effective use.
PowerShell from *nix user perspectiveJuraj MichálekIntroduction to PowerShell from perspective of unix user. Some interesting tips for PoweShell users and pointers to open source resources.
Ať se z kódu nepráší! 2013Juraj MichálekThe document discusses testing code quality. It emphasizes that code should be tested before development (manually or automatically) and introduces some testing frameworks for C like MinUnit and Check. Objective-C is also covered, noting its syntax and memory management based on retain counts. The importance of reading licenses and quality code through practices like code reviews is stressed.
There is more to CJuraj Michálekݺߣs form talk at FI MUNI about development in C (2012). Covers topic about C libraries including libuv library from Node.js and its relation to Google V8 JavaScript Engine.
1. FI MUNI, Brno 2010
Juraj Michálek
web: http://georgik.sinusgear.com
twitter: http://twitter.com/georgiksk
ý v C++
2. Vyvíjame
STL, Allegro, SDL, ClanLib, LUA, Mesa3D...
Ladíme
Eclipse a debugger
Kontinuálna integrácia
Boost, Hudson CI, Maven
Nástroje
Iné jazyky
Obsah
3. Program programátora
1. programátor dostane skvelý nápad
2. naprogramuje dokonalý program
3. všetko si naprogramuje sám
4. zistí, že program je nepoužiteľný
4. Na vlastných nohách
5. pokúsi sa program opraviť
6. zistí, že polovicu funkcií naprogramoval zle
7. preprogramuje zlé funkcie
8. zistí, že program je opäť nepoužiteľný
goto 5.
6. STL I.
základ pre C++
práca s reťazcami
#include <string>
operácie nad zoznamami
#include <list>
#include <deque>
7. STL II.
operácie s asociatívnymi poliami
#include <map>
špeciálne algoritmy (triedenie, výpis)
#include <algorithm>
zhrnutie: umožňujú urýchlenie vývoja
http://www.sgi.com/tech/stl/
11. Interaktívne aplikácie
rýchla reagovať na užívateľa
musia sa prispôsobovať jeho potrebám
dobrým príkladom je počítačová hra
ukážeme si konkrétnu implementáciu
14. Allegro - á
spracovanie klávesnice, myši, joysticku
spracovanie obrazu, zvuku
jednoduché GUI
ovládanie časovačov
používanie dátových súborov
uvedené príklady z Allegro
19. Grafika
vykreslenie bodu do pamäte
al_putpixel(x, y, color)
načítanie obrazu zo súboru
al_load_bitmap(filename);
kopírovanie medzi pamäťami
al_draw_bitmap(bmp, 10, 10, 0);
24. Knižnice nad Allegrom
Allegro má pomerne veľa funkcii
Allegttf - práca s True Type fontami
AllegGL - práca GL grafikou
DUMB - práca sa audiom (Vorbis/Ogg)
30. Grafika I.
inicializácia grafického prostredia
SDL_SetVideoMode(width, height,
video_bpp, videoflags)
obrazové dáta v pamäti
SDL_SWSURFACE
obrazové dáta vo video pamäti
SDL_HWSURFACE
31. Grafika II.
štruktúra na uloženie obrazu
SDL_Surface
vytvorenie obrazovej pamäte
surface =
SDL_CreateRGBSurface(SDL_SWSURFACE,
width, height, 32, rmask, gmask, bmask, amask);
32. Grafika III.
načítanie obrazu zo súboru
SDL_Surface *SDL_LoadBMP(const char
*file)
kopírovanie medzi pamäťami
SDL_BlitSurface(src, srcrect, dst,
dstrect);
34. Časovač
časovač implementovaný ako počítadlo
static int counter;
inštalácia funkcie volenej v pravidelných
intervaloch
SDL_SetTimer(interval, tick);
37. Ďalšie vlastnosti
priama podpora GL knižníc
zabudovaný mechanizmus pre vlákna
spolupráca s jazykmi
Ada, Eiffel, Java, Lua, Perl, PHP, Pike, Python,
Ruby
176 rozširujúcich knižníc
38. Knižnice
SDL je samo o sebe pomerne ťažko
použiteľné
SDL_mixer - multikanálový mixér
SDL_image - spracovanie obrazových
formátov
SDL_net - práca so sieťou
50. Platformy
MS/Windows
Unix/X11 - Linux, Sun Solaris, HP-UX,
Compaq Tru64 UNIX, IBM AIX, IRIX, Mac
OS X
Embedded - Linux platforms with framebuffer
support.
51. Designer
nástroj na tvorbu GUI
rozvrhnutú plochu ukladá do XML súboru
z XML definície sa generuje kód programu
58. Knižnica FLTK
The Fast Light Tool Kit
Autor: Bill Spitzak
venoval sa vývoju rozhraní pre Sun
Microsystems
veľa myšlienok zjednodušil a vložil do kitu
nízko-úrovňová kompatibilita - 10% odlišnosti
64. Adobe Alchemy
C/C++ kód skompilovaný pre FlashPlayer
výhody Flash Platformy
prenositeľnosť
podpora na väčšine platforiem
príklad: Doom
http://labs.adobe.com
65. ACE
The ADAPTIVE Communication Environment
http://www.cs.wustl.edu/~schmidt/ACE.html
Open source C++ framework
reactor, proactor
acceptor, connector
87. http://www.boost.org
“...one of the most highly regarded and
expertly designed C++ library projects in the
world.”
Herb Sutter and Andrei Alexandrescu
89. Boost Test Library
Test everything that could possibly break
jednoduchá tvorba tescasov
TestSuite – TestCase
test je spustiteľný program
bjam integruje spúšťanie testov
98. Subversion - SVN
verzovací nástroj
jednoduchý na používanie
http://subversion.tigris.org
repository, check-out, commit, merge
http://www.asinus.org/wiki/VideoTutorialSubversion