Apr
12
2010
Jezeli juz z jakiegos dziwnego powodu, przeinstalujemy Linuxa, to pojawia sie kwestia ponownego podlaczenia uslug do juz istniejacych danych. Tak jest na przyklad z repo SVN, i tu nalezy …
Zainstalowac subversion
czlowiek@maszyna:~$ sudo apt-get install subversion
I teoretycznie tyle
.
Jezeli zas, mamy problem z prawami – taki jakis Permission denied – to nalezy …
Grepnac proces SVNa i namierzyc wlasciciela (tu czlowiek)
czlowiek@maszyna:~$ ps faux | grep svnserve
czlowiek 29481 0.0 0.0 3336 800 pts/0 S+ 20:45 0:00 \_ grep svnserve
Zmienic ownera repo (tu sciezka /home/svn/)
czlowiek@maszyna:~$ cd /home/svn
czlowiek@maszyna:/home/svn$ sudo chown czlowiek: -R *
I to raczej wystarczy. Mozna oczywiscie bawic sie z Apache, instalowac jakies moduly, itp… ale po co, jezeli chcemy skorzystac jedynie z Eclipse?
brak komentarzy | tagi: Eclipse, reinstall, SVN | wpis w Konfiguracja, Programowanie
Mar
19
2010
W aplikacjach klient-serwer z konektem po XML-RPC, natrafimy na problem komunikacji, gdy klient uzywa przegladarki IE6. Wiec. Jezeli gzip’em sterujemy bezposrednio z Javki to przy generowaniu response musimy go wylaczyc. Jezeli Tomcat nakryty jest Apachem to nastepujaca dyrektywa jest konieczna aby klient stworzony, na przyklad we Flashu mogl poprawnie odebrac odpowiedz.
BrowserMatch \bMSIE\s6 no-gzip gzip-only-text/html
Oczywiscie wlaczamy mod deflate w Apache
1 komentarz | tagi: ajp, apache, Flash, komunikacja, tomcat, XML | wpis w Flex/Air, Konfiguracja, Web
Mar
19
2010
Taki prosty skrypcik, umozliwiajacy wywolanie metody JavaScript z czasowym opoznieniem. Przydatne gdy chcemy na przyklad wyswietlic plywajacego diva 5 sekund po zaladowaniu strony, albo ukryc elementy widoku po 5 sekundach
Utworzmy klase obiektu dbajacego o wywolanie okreslonej metody po zadanym czasie a nastepnie sie zniszczy
loCallTimer = function(id, func, args, time)
{
if (typeof(id) == "undefined") {
return;
}
this.id = id;
this.func = func || null;
this.args = args || null;
this.time = time || 1500;
this.timer = null;
};
loCallTimer.prototype.suicide = function()
{
this.stopTimer();
eval("window.ct_" + this.id + " = null;");
};
loCallTimer.prototype.onTime = function()
{
if (typeof(this.args) == "undefined" || this.args == null || this.args.length == 0) {
this.func();
} else {
this.func.apply(this.func, this.args);
}
this.suicide();
};
loCallTimer.prototype.runTimer = function()
{
this.stopTimer();
this.timer = window.setTimeout("window.ct_" + this.id + ".onTime();", this.time);
};
loCallTimer.prototype.stopTimer = function()
{
if (this.timer != null) {
window.clearTimeout(this.timer);
this.timer = null;
}
};
Wyzwalacz
function callLater(func, args, time) {
var id = (new Date()).getTime();
var ct = eval("window.ct_" + id + " = new loCallTimer(" + id + ");");
ct.func = func;
ct.args = args;
ct.time = time;
ct.runTimer();
return ct;
};
Testujemy
czytaj dalej
brak komentarzy | tagi: JS, Web | wpis w JS/AJAX, Web
Mar
6
2010
Niby nie ma formalnie klas w JS, jednak mozemy stworzyc cos co mimo braku podzialu na obiekty prywatne, publiczne itd, bedzie wygladalo na klasy.
Na poczatek stworzmy nasza “klase” bazowa
// konstruktor klasy
BaseClass = function(name)
{
this.name = name || "obj_" + (new Date()).getTime();
};
BaseClass.prototype.className = "BaseClass";
// instancja klasy BaseClass
var instanceOfBaseClass = new BaseClass();
w ten sposob mamy obiekt posiadajacy dwie wlasnosci name i className. Ta druga nie bedzie dziedziczona bezposrednio.
A teraz dziedziczenie.
DerivativeClass = function(name)
{
this.super = BaseClass;
this.super(name);
};
DerivativeClass.prototype = new BaseClass();
DerivativeClass.prototype.className = "DerivativeClass";
var instanceOfDerivativeClass = new DerivativeClass();
Po tym zabiegu instancja klasy DerivativeClass bedzie wygladac mniej wiecej tak
instanceOfDerivativeClass
className = "DerivativeClass"
name = "obj_1267912571913"
super
prototype
className = "BaseClass"
Dzidziczenie? Jak najbardziej
Teraz sprobujmy nadpisac funkcje bazowa init, na poczatek dodajmy ja
czytaj dalej
brak komentarzy | tagi: dziedziczenie, JS, Web | wpis w JS/AJAX, Web
Mar
1
2010
Android jest coraz bardzie popularny, nie tylko dzieki gigantowi Google czy tez dziesiatkom firm, ktore wypuszczaja co chwile nowe modele smartow wlasnie z Androidem, ale tez dzieki programistom, ktorzy tworza na niego oprogramowanie. Postanowilem miec swoj malutki wklad w to przedsiewziecie, stad tez pomysl na RemotePad – maly programik umozliwiajacy zdalne sterowanie komputerem za pomoca sieci WiFi czy Bluetooth. Ok, po prostu touchpad, klawiatura, gamepad, pointer czy tez sterowanie mediami, np. VLC.
Wiem, ze konkurencja – Gmote, mkRemote czy RemoteDroid, ktory wlasnie zasial we mnie tworcze ziarenko – jest duza, ale sprobuje
. Ponizej pare screenow z powstajacej aplikacji.




Niedlugo do sciagniecia wersja beta z dzialajacym touchpadem.
2 komentarzy | tagi: Android, programowanie, RemotePad | wpis w Android, Android, Mixed