Zváračský kurz na BlazeDS a Google App EngineJuraj Michálek
Zá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.
Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
Zá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.
Zváračský kurz na BlazeDS a Google App EngineJuraj Michálek
Zá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.
Možnosti RIA technológii a ich bezpečnostné aspekty. Vývoj pomocou Flash Builderu, Visual Studia, Intellij Idei. Prednáška prednesená na konferencii Europen.cz v Želive.
Zá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.
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.
S 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ší.
Computer graphics on web and in mobile devicesLukas Tencer
Presentation on computer graphics systems used in mobile devices and on web. Overview of techniques with details and capabilities, with aim on 2D and 3D graphics. Presentation is in Slovak language.
Rust Embedded Development on ESP32 and basics of Async with EmbassyJuraj Michálek
Rust 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.
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.
S 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ší.
Computer graphics on web and in mobile devicesLukas Tencer
Presentation on computer graphics systems used in mobile devices and on web. Overview of techniques with details and capabilities, with aim on 2D and 3D graphics. Presentation is in Slovak language.
Rust Embedded Development on ESP32 and basics of Async with EmbassyJuraj Michálek
Rust 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.
Talk 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álek
Espressif Systems and Open Source community is working together on bringing Rust language support to ESP32. The chip can be simulated in the web browser using Wokwi.com/rust.
World 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.
Development 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 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.
Talk 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 context of our world. Mapping interesting tools, IDE, open source libraries. Introduction to Gradle and packaging for Linux. Link to language Go.
Deploying change into RnD is not easy task. It could be done in iterative way. Where each phase has it's part of internal marketing. This talk explores on instance of changing Maven into Gradle and then explaining more about Atlassian stack and deployment into RnD. The important outcome is open mindset of RnD.
Gradle 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 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
Talks about PowerShell UIAutomation used by Y Soft for automating GUI Windows installer testing in multiple languages. How to integrate PowerShell with continuous integration system Jenkins.
Slides 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.
3. Obsah
Vyvíjame
STL, Allegro, SDL, ClanLib, LUA, Mesa3D...
C a jemu podobné
robot kit, Arundino
Ladíme
Eclipse a debugger
Kontinuálna integrácia
Boost, Jenkins CI, Maven
Nástroje
4. 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ý
5. 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.
7. STL I.
základ pre C++
práca s reťazcami
#include <string>
operácie nad zoznamami
#include <list>
#include <deque>
8. 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/
12. 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
13. Knižnice
Allegro
Simple Direct Media Layer
Clanlib Simple Development Kit
15. Allegro - aplikácia
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
16. Allegro 5
podpora pre bežné OS
podpora pre iPhone
udalosti
http://alleg.sourceforge.net/a5docs/5.0.5/
20. 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);
25. 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)
34. 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
35. 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);
36. 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);
38. Časovač
časovač implementovaný ako počítadlo
static int counter;
inštalácia funkcie volenej v pravidelných
intervaloch
SDL_SetTimer(interval, tick);
41. Ď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
42. 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
53. QT
produkt firmy Trolltech, neskôr Nokia
licencie: open source aj komrčné
knižnica vznikla v roku 1996
podporuje C++ a Javu
54. 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.
55. QT Creator IDE
nástroj na tvorbu GUI
rozvrhnutú plochu ukladá do XML súboru
z XML definície sa generuje kód programu
62. 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
73. ACE
The ADAPTIVE Communication Environment
http://www.cs.wustl.edu/~schmidt/ACE.html
Open source C++ framework
reactor, proactor
acceptor, connector
74. Java Native Interface - JNI
public class HelloWorld {
private native void sayHello();
public static void main(String[] args) {
System.loadLibrary("library");
new HelloWorld().sayHello();
}
}
81. Strace
strace ls -l
execve("/bin/ls", ["ls"], [/* 29 vars */]) = 0
brk(0) = 0x95d0000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT
(No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb773c000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No
such file or directory)
open("tls/i686/sse2/cmov/libselinux.so.1", O_RDONLY) =
-1 ENOENT (No such file or directory)
85. http://www.boost.org
“...one of the most highly regarded and
expertly designed C++ library projects in the
world.”
Herb Sutter and Andrei Alexandrescu
87. Boost Test Library
Test everything that could possibly break
jednoduchá tvorba tescasov
TestSuite – TestCase
test je spustiteľný program
bjam integruje spúšťanie testov
96. Subversion - SVN
verzovací nástroj
jednoduchý na používanie
http://subversion.tigris.org
repository, check-out, commit, merge
http://www.asinus.org/wiki/VideoTutorialSubversion