Irina’s Weblog

7/7/2005

Tomcat 4.1.29 и Ant

Filed under: Computers,Daily — Izida @ 10:35 pm

ƒнес реших да забързам процеса на пускане на уеб приложени€ с Tomcat. ѕросто не ми хареса да спирам/пускам сървъра всеки път, когато компилирам нова верси€ на WAR-а. » с помощта на Google попаднах на следните “задачи” за Ant :

WAR file Remote Deployment using Ant – Catalina tasks

—лед известна доза борене с Ant – дефиниране на променливи, подм€на на директории, стигнах до момента, в който най-накра€ задачата “list” тръгна! Ќо какво беше учудването ми като в конзолата ми се изсипа HTML код и червен ред сигнализираше за грешка при изпълнението. “огава се сетих, че една от променливите имаше странна стойност, ко€то ми се стори още на първо гледане потенциален проблем :

tomcat.manager.url=http://localhost:8080/manager/html

» след повторно търсене в Google намерих второ описание на същи€ процес на настройка : TomcatAntTasks, този път с в€рното url:

tomcat.manager.url=http://localhost:8080/manager

ўастливо разглеждах резултата от изреждането на стартираните в момента уеб приложени€ в конзолата на Eclipse-а си. рЯЩВ
“огава реших, че е време да подкарам и “сериозните” задачи – спиране, премахване, инсталиране и стартиране на уеб приложени€. Ќай-красивото се крие във факта, че изобщо н€ма нужда да се рестартира Tomcat сървъра с цел да се deploy-не новото приложение. ј това спест€ва време и нерви.

Ќо радостта ми беше кратка. —лед като спр€х успешно приложението, над което работ€, се опитах да го премахна, за да инсталирам и пусна новата му верси€. ѕремахването обаче даде грешка:

remove:
[undeploy] FAIL – Cannot remove document base for path /cartTest

тново Google беше включен в играта. »злиза, че има проблем с изтриването на struts.jar от deploy-натото приложение и поради тази причина не усп€ва да го премахне! рЯЩБ Ќамерих и Ѕъг #10026 в Tomcat 4, който не е оправен. —ъстои се в това, че ако се зарежда DTD от JAR файл, който се намира в ${webapp.name}/WEB-INF/lib директори€та, то JAR файлът остава заключен до спиране на виртуалната машина – struts.jar в мо€ случай. “ук се посочва и веро€тно решение – вместо да се включва JAR файл, той да бъде разархивиран и сложен в ${webapp.name}/WEB-INF/classes.

ћай е време просто да мина на Tomcat 5, където този проблем не съществува вече рЯШЙ

ѕ.—. ¬ече се свал€…

3/7/2005

DHTML ден (и нощ…)

Filed under: Computers,Daily — Izida @ 2:39 am

ƒен€т премина в нощ под знака на поправ€нето на CSS и писането на JavaScript. “ака става, като си позволи човек да подремне следобед и се събуди в 19:30 рЯШЙ

¬ъв форума BgDev от доста време ме дразни това, че като пишеш мнение си ощетен ако ползваш Firefox. ѕричината е, че бутоните за добав€не на форматиране (“B”, “U”, “I”, цветове и т.н.) работ€т коректно само под IE. ƒори и не подозирах, че съм ощетена от към функционалност поради избора си на браузър до момента, в който забел€зах как Ћъчо селектира текст в текстовата област за писане на мнение и после клика на бутончето “B”. “ова добав€ отвар€щ и затвар€щ таг около селекци€та при IE. Ќо при мен винаги добав€ само отвар€щ таг и то в кра€ на текста! “ака че се хванах да оправ€ нещата.

—лед преглед на JavaScript-а разбрах, че ограждането с тагове на селекци€ се прави само ако детектнати€ браузър е IE. ѕричината : IE предостав€ обект, представ€щ селекци€та, чието модифициране се отраз€ва в директно модифициране на текста в текстовата област. “ака че можеш да добавиш директно таговете около върнатата от документа селекци€ и това да свърши работата.
Ќо FireFox не предостав€ такъв обект. «а сметка на това предостав€ начални€ и крайни€ индекс на селекци€та в текста в текстовата област. “ака че е налице лесен алгоритъм:

  1. ѕровер€ваме дали сме с FF – той дефинира функци€та document.getSelection, така че една проста проверка върши работата:
    if (document.getSelection)
    {
    // code for FF
    }
    ќт тук нататък кодът ще бъде вмъкван в тази if секци€.
  2. «апомн€ме началото на селекци€та (obj_ta е обекта textarea, който манипулираме) :
    var cursorPos = obj_ta.selectionStart;
  3. ¬зимаме селектирани€ текст :var selTxt = text.substring(obj_ta.selectionStart, obj_ta.selectionEnd);
  4.  онструираме текста, който тр€бва да замести селекци€та (реализаци€та на constructSubstText(selTxt) е ваша задача) : var newText = constructSubstText(selTxt);
  5.  ъм текущата позици€ добав€ме големината на нови€ текст – за да можем после да позиционираме курсора веднага след добавени€ текст чрез тази позици€ :cursorPos += newText.length;
  6. —мен€ме стойността на ц€лата текстовата област като подмен€ме селекци€та : replaceSelection(obj_ta, newText); «а целта използвам помощна функци€ : // Replaces the current selection in the TextArea o with the string s
    function replaceSelection(o, s)
    {
    var s2 = o.value;
    o.value = s2.substring(0, o.selectionStart) + s + s2.substr(o.selectionEnd);
    }
  7. ѕромен€ме стойностите на selectionStart и selectionEnd на текстовата област на запазената текуща стойност : obj_ta.focus();
    obj_ta.selectionStart = cursorPos;
    obj_ta.selectionEnd = cursorPos;

» сме готови!

ѕредложих решението си и във форума – см€там, че би било полезно и ние, FF юзерите, да ползваме форматиращи глезотийки рЯШЙ

2/7/2005

ѕроблеми с IE 6.0 и подредените списъци

Filed under: Computers,Daily — Izida @ 9:48 pm

—лучайно забел€зах, че Ћъчо чете сайт, често посещаван от мен. »нтересното беше не, че и той го чете, а че при него изглеждаше различно. Aз ползвам Firefox, а той – Maxthon (MyIE). –азликата се израз€ва в това, че един подреден списък, чиито елементи са номерирани с главни римски цифри, при него беше номериран само с точки, като при това те се намираха не в началото, а в дъното на елементите. –еших да вид€ какво причин€ва разликата във визуализаци€та на подредени€ списък.

ќткрих, че проблемът при IE идва от следни€ стил на подредени€ списък:
margin: 20px 0px 40px 0px;ќбъркването идваше от задаването на л€во и д€сно поле с размер нула.
«амених горни€ ред със задаване на горното и долното поле, като л€вото и д€сното са оставени да бъдат наследени:
margin-top: 20px;
margin-bottom: 40px;
“ова доведе до еднаква визуализаци€ в IE и FF.

ќтносно показването на числото в дъното на елемента при IE, забел€зах, че това се предизвиква от следни€ стил на списъка:
width: 95%;

Ќо остана друг проблем.
«абел€зах, че като се стигне до големи числа като “XXVIII”, то това число се по€в€ва в IE леко отр€зано отд€сно. ќказа се, че проблемът идва от следни€ стил, зададен за списъка:
font-weight: bold;јко го махна, то и в IE числата се по€в€ват цели и без ор€зване. явно ширината на полето, в което се изписва номера на елемента, се изчисл€ва преди да се вземе предвид, че е със стил “bold” и следователно заема повече м€сто.

1/7/2005

ќръди€та в животински€ св€т

Filed under: Daily — Izida @ 11:28 pm

√ледах интересно предаване по National Geographic Channel – “Animals like us”. ¬ него се представ€ха най-различни животни и техните начини за приспособ€ване към околната среда. »нтересен случай е ракът-боксьор (Lybia tessellata), който носи във вс€ка от щипките си по една анемони€. –акът ги размахва срещу враговете си, които се страхуват от отровата на анемониите и отстъпват – дори когато имат предимство в размерите. ј анемони€та печели подвижност, ко€то природно не притежава. Ќе знам дали анемони€та може да се приеме за “инструмент” на рака – може би “жив щит” би било по-подход€що.

 огато обаче стане дума за най-съвършените оръди€ в света на животните, в съзнанието ми изниква образа на шимпанзето с клечката, ровещо в мравун€ка. Ќо днес National Geographic промени мисленето ми.

Ѕ€ха показани шимпанзета, които трошат орехи с помощта не на един камък, а на два – едини€т служи за чук, други€ – за наковалн€. ƒори н€кои шимпанзета включват трети камък, който да постав€т като клин под наковалн€та с цел т€ да стои хоризонтално и €дката да не падне. “ези оръди€ приличат много на намерени оръди€, ползвани от древните ни прародители преди приблизително 2 млн. години.

ќказва се обаче, че има животно, което не само, че н€ма противопоставени€ на остналите пръсти палец, но и изобщо н€ма ръце – и въпреки това притежава умението да изработва най-сложни€ инструмент, открит до сега в животински€ св€т. » всички познаваме това животно – обикновената гарга! —ъс сво€ клюн гаргата чупи клонка, маха листата и извива крайчето като кука. —лед като пробва да пъха тази кука в дупки по изгнили дървета в търсене на сочни ларви, птицата осъвършенства инструмента като го дооформ€ за да пасва идеално на дупката. » така си спечелва об€д, който другите животни не могат да си позвол€т. “ова е инструмент, за който шимпанзетата могат да завид€т!

»нтересното е, че докато търсех материали за сръчността на правенето на куки от страна на гаргите, попаднах на материал за птичи€ мозък. ¬ него се твърди, че от около 1990 година насам в япони€ са забел€зани гарги, които чакат на светофарите наред с хората.  огато тръгнат пешеходците да пресичат, гаргите пускат €дки на път€. —лед като колите тръгнат, €дките биват строшени. » при следващо светване на червеното, гаргата отива да вземе строшената €дка.

«апочвам да мисл€, че съм подцен€вала до колко нашето развитие повли€ва на развитието на обкръжаващите ни животни.

пїњ