Javadoc generálás statikus adatokkal

A javadoc fontos, főleg ha publikus szolgáltatásokat készítünk. Néha viszont szükség van olyan algoritmus alapján előállított adatokra, amiket nem esik túl jól kézzel beírni…

Ilyenkor nyújthat nagy segítséget egy két shell script, amikkel az ilyen módosítások elég hatékonyan elvégezhetőek.
A scriptet nem hiszem, hogy bárki is tudja majd használni ebben a formában, de kiindulásnak (és nekem memó-nak) még jól jöhet…

A lenti dolog mit is csinál:
– kigyűjti az összes /services/ könyvtár alatti package-info.java-t
– kikalkulálja, hogy mi lesz a kiajánlott szolgáltatás neve (pl TestWebSzolgService.java – TestWebSzolg)
– csinál belőle egy javadoc szöveget, amit beszúr az összes package-info első sorába

Tadamm… Pár óra szolgai gépeléstől megint megmentett a bash.

#!/bin/sh
find . -name "package-info.java" | grep "/services/" | while read line;
do
#teljes eleres
PACKAGE_INFO_PATH=$line
#csak a konyvtar ahol a packageinfo van
CURR_DIR=${PACKAGE_INFO_PATH%/*}
#a valamiService.java fajl teljes elerese (de mar Service.java nelkul)
CURR_SERVICE_PATH=`find $CURR_DIR -name "*?Service.java" | sed 's/Service.java//'`
#csak a szolgaltatas neve
CURR_SERVICE_NAME=${CURR_SERVICE_PATH##*/}

echo $PACKAGE_INFO_PATH
echo $CURR_DIR
echo $CURR_SERVICE_NAME

FIRST_LINE="/** WSDL: https://webservice.aaa.hu/da/hs/services/${CURR_SERVICE_NAME}*/"

sed -i 1i"$FIRST_LINE" $PACKAGE_INFO_PATH
done

SCP scriptből

Normál esetben az scp-t kulcsokkal használjuk (mint minden mást), és nincs szükség jelszóra… Bizonyos esetekben erre nincs mód, és ilyenkor problémát okozhat a jelszóbekérés kezelése. A példa értelemszerűen nem csak scp-re működik, gyakorlatilag minden adatbekérő parancs wrap-elhető expect-el

#!/usr/bin/expect -f

eval spawn scp felhasznalonevem@[lindex $argv 0]:[lindex $argv 1] [lindex $argv 2]

expect {
"password:" {
send "titkosjelszavam\n"
} "(yes/no)?" {
send "yes\n"
} eof {
exit
}
}

expect "$ $"

Arcade gép építés

Belevágtam egy arcade gép építésébe, a régi szép idők emlékére. Reményeim szerint a projekt előrehaladtával születni fog majd több cikk a témában, de egyenlőre még csak tervezési fázisban tart a dolog (azokat a dolgokat vettem előre amik a kockázatosak, vagy nehezen beszerezhetőek 🙂

A mostani legnagyobb szívás a VGA-SCART átalakító… Ha valaki tud nekem ilyet csinálni (vagy ismer valakit aki csinál ilyet), az keressen meg 🙂

Egy idealis projekt

Olvastam egy cikket, hogy milyen is lenne egy idealis projekt… Mivel szinte mindenben egyetertettem vele belinkelem ide jol:

http://eekim.com/blog/2011/08/my-ideal-project/

Ipad alkalmazások listája, és mérete

Majd az IOS5-ben eljut az APPLE oda (állítólag), hogy lehet látni, mi mennyi helyet is foglal az IPAD-en…
Aki ezt nem akarja megvárni, annak jól jöhet a lenti script (tudom nem szép, de ma este erre futotta):

#!/bin/sh
for DIR_NAME in `ls ~/Applications/`
do
APP_ID=$DIR_NAME
APP_NAME=`ls ~/Applications/$DIR_NAME/ | grep ".app"`
APP_LNAME=`cat ~/Applications/$DIR_NAME/iTunesMetadata.plist | grep -A1 playlistName | grep string | sed 's///' | sed 's/<\/string>//g'`
APP_SIZE=`du -cm ~/Applications/$DIR_NAME | grep total | sed 's/total//'`
echo "${APP_ID};${APP_NAME};${APP_LNAME};${APP_SIZE}"
done

Aminek a kimenete, egy szép táblázat lesz, tartalmazza az alkalmazások nevét, description-jét, és méretét. Csatolom is az enyémet, így legalább látszik, milyen alkalmazásokat telepítettem eddig (egy ilyen lista hasznos lehet, ha az iTunes véletlenül annyira lelkes, hogy le akar törölni néhány alkalmazást az Ipad-ról)

ipad_apps.xls

Places bar editor (WinXP)

Használom az újabb windows-okat, de a winxp erőforrás kihasználása, és egyszerűsége miatt (mondjuk egy win7-hez mérve) számomra az egyik legmegfelelőbb platform a munkavégzésre.

Egy újabb lépés az ideális (és hatékony munkahely) megteremtése felé a Places Bar Editor nevű program.

Segítségével testre szabhatjuk a fájl megnyitó dialógust. Végre…

Letölthető innen.

Napi szoftver: Vnc Address Book

Vnc kliensből sokat próbáltam, a legjobb ingyenes amit találtam az UltraVnc volt. A legnagyobb bajom az, hogy valamiért kihagyták a mentett kapcsolatok listába foglalását. El lehet menteni fájlokba, de hát az nem az igazi…

Ezt a kis hiányosságot orvosolja a VNC Address Book, aminek a segítségével menthetőek, és csoportba foglalhatóak a VNC kapcsolatok.

Google account problémák

Hát ez a google acc. migráció nem egy sima dolog.

Egy ideig @gtempaccount.com címem volt, a picasaweb albumjaimat buktam, ettől eltekintve már csak kisebb problémák vannak (a google friend connecten vagyok 2x pl.)

Egyszer csak jó lesz 🙂

Excel file merge

Néha jól jönne, ha sok külön excel fájlt, egy nagy excel fájlban lehetne látni. Erre vannak mindenféle fizetős eszközök (mind lehúzás), az excel is csinál valamit, de egyik sem az igazi.

Ha programozni akarunk írhatunk rá pár nap alatt egy java programot, ha nem akarunk, akkor a lenti script segíthet…

#!/bin/sh

#environment setup: http://software.krimnet.com/xls2csv/guide-converting-xls-files-csv-with-xls2csv-ubuntu.htm

rm result.csv

cat files.txt | tr -d "\015" | while read XLS_FILE
do
if [ $XLS_FILE == "--EOF--" ]
then
break
fi

echo Processing xls $XLS_FILE
XLS_FILE_SNAME=`basename $XLS_FILE`
cat sheets.txt | tr -d "\015" | while read SHEETS
do
if [ $SHEETS == "--EOF--" ]
then
break
fi

xls2csv -x $XLS_FILE -w $SHEETS -b UTF-8 -c tempsheet.csv
cat tempsheet.csv | grep -v "Projekt azonosító" | LANG=hu_HU.UTF-8 sed "s/^.*\$/${XLS_FILE_SNAME};${SHEETS};&/" | LANG=hu_HU.UTF-8 sed "s/\./,/g" >> result.csv
rm tempsheet.csv
done
done

A files.txt fájlból olvassa a konvertálni kívánt fájlok neveit, –EOF– -ig. Pl: :
a.xls
b.xls
–EOF–