Hekkeljünk trafikszoftvert! - QTrafik 

Ha 2013-ban olyan szoftvert akarnak eladni neked ami nem megy 64 biten mondj nemet!
Ha meghallod a DBF szót egy szoftverrel kapcsolatban fuss.

Ezeket a jótanácsokat sajnos kénytelen voltam a magam bőrén kitapasztalni.

Adott tehát a feladat: készítsünk egy raktárkészletkezelő rendszert ami:
- Átverhető az NDN ZRt minősítési tesztjén (potom 55K HUF + fáért)
- Fut 64 biten
- Grafikus felülettel rendelkezik
- Mentes minden felesleges funkciótól, azaz R=1 userekenek könnyű használni

Az NDN speckókról röviden:
- Adott egy webservice amit a T-Systems üzemeltet.
- ASP.NET alapú, legalábbis ez érzik rajta.
- PKCS#12 local cert. alapú azonosítás van+ azért minden hívásnak át kell adni egy egyedi shopId-t ami boltonként egyedi.
- Az éles rendszereken gzip-el tömörített módon kell kommunikálni. Erre képes tesztrendszer is van, időbe tellett míg rájöttem hogy a megaditt webservice url-ben az /nd előtagot /ndc-re kicserélve jutok a tömörített url-re. .NEThez példakódot is adnak.
- Alapvetően háromféle adatforgalom van:
- Cikktörzslekérés
- Készletmozgás feltöltés (eladás, bevételezés, etc.)
- Napi nyitókészlet feltölktése
- A feltöltési interakciókat ütemezni kell egy lekérés eredménye szerint.

A terv a következő:
- C++, Qt.
- Sqlite backend
- SOAP KDSOAP-al: https://github.com/KDAB/KDSoap

Eddigi szívások:

A minősítési rendszerbe regisztráláshoz fel kellett mutatni weboldalt, amire a githubot vettem igénybe :D.
Anno feltoltam egy átnevezett ezeréves kódot, mert kellett egy céges weboldal:
https://github.com/martonmiklos/opentrafik

KDSOAP-nak voltak/vannak még problémái:
- Típusnevekben pontok (már fixálták a KDAB-sek):
https://github.com/KDAB/KDSoap/commit/3dd7cef10bf03c1e2df0fffa76a4cc1134857975
- Több wsdl-ből áll az NDN webservice ami ugye tartalmaz ugyanolyan típusneveket. A kwsdl2cpp integrálható qmake alá, de nam adható át namespace ami névütközést okoz, ezt magamnak workaroundoltam.
- A webservice más addressing módot használ, amit szintén workaroundoltam közepesen szofisztikáltan:
https://github.com/KDAB/KDSoap/issues/40

Készítettem wsdl complextype -> SQLITE schema generátort PHP-ban, mert ugye embertelen lenne 5 tábla 60 sorát kézzel felvinni ;)

[ hozzászólás ] ( 3 megtekintés ) [ 0 trackbackek ] permalink ( 2.9 / 258 )
i18n generator script for CakePHP 

Are you tired of running cake i18n extract and clicking over the Poedit?


#!/bin/sh
rm -rf Locale/*.pot

langs=( hun )
./Console/cake i18n extract --output ./Locale --paths ./ --merge no
for lang in "${langs[@]}"
do
:
msgmerge -U Locale/$lang/LC_MESSAGES/default.po Locale/default.pot
done


Place and run this script in your app directory of your cakephp project, and you will only need to do your translatioon with Poedit/whatever.
Enjoy.
[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 3.1 / 317 )
The macaddress in the /etc/udev/rules.d/70-persistent-net.rules is case sensitive 

Really!
It must have the letters in lowercase.
[ hozzászólás ] ( 2 megtekintés ) [ 0 trackbackek ] permalink ( 3 / 321 )
Generate hardware configuration headers from EAGLE for AVR GCC 

I have written an ULP to auto generate the pin numbering constants for my AVR projects from the schematic net names:

https://dl.dropboxusercontent.com/u/4295670/generate_header.ulp

How to use :
1. Name all your nets in your EAGLE schematic properly like this:


2. Run the generate_header.ulp and select the proper part.

3. Include the generated hwconfig.h file to your project.

4. You will have the follwoing structure for your each pins:

#define TX_EN_PORT PORTC
#define TX_EN_PINREG PINC
#define TX_EN_PIN 1
#define TX_EN_DDR DDRC
#define TX_EN C,1


5. Use the following macros with the defines:

// bit manipulation macros
// signals has to be defined in this way: #define LED C,1
// usage: sbi(PORT,LED1) or setting data direction: sbi(DDR,LED1)
// _BV(a) is a macro which returns the value corresponding to 2 to the power 'a'.
#define sbi_(what,x,y) what##x |= _BV(what##x##y) //set bit - using bitwise OR operator
#define cbi_(what,x,y) what##x &= ~(_BV(what##x##y)) //clear bit - using bitwise AND operator
#define tbi_(what,x,y) what##x ^= _BV(what##x##y) //toggle bit - using bitwise XOR operator

#define sbi(what,p) sbi_(what,p)
#define cbi(what,p) cbi_(what,p)
#define tbi(what,p) tbi_(what,p)

#define is_high_(x,y) ((PIN##x & _BV(PIN##x##y))) == _BV(PIN##x##y) //check if the y'th bit of register 'x' is high ... test if its AND with 1 is 1
#define is_high(p) is_high_(p)
#define is_low(p) !is_high_(p)

#define set_high_(x,y) (PORT##x |= _BV(PORT##x##y))
#define set_low_(x,y) (PORT##x &= ~_BV(PORT##x##y))

#define set_high(what) set_high_(what)
#define set_low(what) set_low_(what)

#define set_in_(x,y) DDR##x &= ~_BV(DD##x##y)
#define set_out_(x,y) DDR##x |= _BV(DD##x##y)
#define set_in(p) set_in_(p)
#define set_out(p) set_out_(p)

https://dl.dropboxusercontent.com/u/4295670/avr/global.h
[ hozzászólás ] ( 1 megtekintés ) [ 0 trackbackek ] permalink ( 2.8 / 304 )
Azt hittem ilyen már nincs... 

[ 1 hozzászólás ] ( 14 megtekintés ) [ 0 trackbackek ] permalink ( 2.9 / 287 )

<< <Előző | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Következő> >>

 
számláló