JDBC connection към BIRT
И днес продължаваме темата за BIRT и ставаме от advanced – по-advanced. Целта на днешното упражнение е да можем да подаваме произволен java.sql.Connection към BIRT engine-а. Read more…
И днес продължаваме темата за BIRT и ставаме от advanced – по-advanced. Целта на днешното упражнение е да можем да подаваме произволен java.sql.Connection към BIRT engine-а. Read more…
От известно време ми се наложи пак да се захвана с BIRT, но този път идеята беше средата, която ни дава Eclipse, да се използва единствено и само за създаването на репорт дефиницията (.rptdesign), но не и за изпълнението на самите репорти. Read more…
Един наистина прост пример, с който можем да правим много бързо screenshot-ове, използвайки Java:
1 2 3 4 5 6 7 8 9 10 11 12 | public class ScreenCapture { public static void main(String[] args) throws Exception { Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); BufferedImage image = new Robot().createScreenCapture(new Rectangle(dimension)); File file = new File("capture.png"); ImageIO.write(image, "png", file); } } |
Не е загуба ако се разгледа класа ImageIO – дава доста възможности и никак не е за изпускане :)
Разглеждах bgdev.org и случайно попаднах на български сайт с информация и описания на функции от C++. Хареса ми идеята за полето “Съвет на деня” и се зачетох в него. Ето на какво попаднах:
Колко грешки виждате общо във всички редове? :)
Хубаво е когато правим някакъв тестов клас и временно в него забиваме път до определен ресурс да не се налага да escape-ваме символи на ръка. Това е само един от многото примери, когато един автоматичен escaping би свършил чудна работа. В Eclipse по подразбиране тази функционалност не е включена, но можем да го направим от
Window>Preference>Java>Editor>Typing и изберем “Escape text when pasting into a string literal“
Да – вече е release-ната stable версия. Няма да се задълбавам (и не мога, при мен е от около половин час) – това ще са най-началните впечатления от Galileo.
Най-много ме зарадва, че Galileo запали на 64bit-овата Java, за разлика от Ganymede. Тествах и с 2 версии – 6.0_12 i586 и 6.0_14 x64. За разлика от повечето приложения, за мен тук видима разлика имаше. Като за теста измъкнах един workspace с повечко проекти в него – имаше и малки, имаше и големи – отворих всичките. Разликата във времената за стартиране и пълно зареждане беше видима с просто око.
Второто, което ми направи впечатление беше значително повишените стандартни -Xms и -Xmx аргументи за виртуалната машина, както и PermSize-овете на launcher-ите.
И последното до този момент – install new software прозорецът – Пак имаме имена на линковете, както в по-предните версии и интерфейсът е по-разчупен. Харесва ми!
Ще видим как ще се държи и занапред :)
Първо, линкче към Drools, а след това – малко разяснение за целта на упражнението. Няма да говоря за Drools като технология, нито ще изразявам мнения и вплечатления тук. Ще приема, че мога да говоря с Drools термините – исканото решение имаше за цел да зарежда компилираните пакети runtime и поотделно. Read more…
Трябваше да редактирам SQL заявки и държах да са в прилична форма – големи, малки букви, сещате се. След втория criterion ми втръсна и потърсих за shortcut-и. Страхотно е, защото ги има, не се правят допълнително:
Доста време избирах най-подходящия framework за един от проектите и накрая се спрях на Struts 2. Наследник на Struts 1 и WebWork 2, достатъчно гъвкав за целите, достатъчно customizable, лесен за употреба и не много тежък. Read more…
Писна ми да чета plain text и да се обърквам какво чета в момента, какво съм прочел, какво следва. Хората са го направили: FreeMarker Eclipse редактор. Засега highlight-ът работи.
Мда, by default Eclipse слага табове, вместо space-ове (обикновено 4). Като цяло е отвратително, защото табовете не са еднакви навсякъде.
Какво имам предвид – да вземем за пример един конфугурационен xml, копиран от файл с tab-ове, вместо space-ове. Копирам го и го цвъквам в конзола с отворен файл – най-обикновен copy/paste. Ами, съдържанието леко се помазва ;) Read more…
В новата версия на JBoss (5.0) бяха променени някои от пътищата, където се намират стандартните библиотеки. По тази причина добавянето на JBoss 5.0 в Eclipse беше невъзможно. В bug-tracking системата на Eclipse се появи един доста елементарен workaround.
Харесвам, когато има някакво въртящо се gif-че, което симулира прогрес при някакъв процес. Ето защо направих пренасочващата главна страница да се държи по подобен начин. Вложената доза шега е… Огромна и е породена от НАЙ-НАЙ-прекрасния торент клиент за мен – ctorrent. Няма значение, отплеснах се…
Като цяло не е нищо кой-знае какво, просто първата идея за имплементация, за която се сетих. Какво представлява: масив с 4 елемента – “\”, “|”, “/” и “-”, които непрекъснато се показват един след друг през определено време. Спинър-а не е cвързан с извършения прогрес! Трябва ни html страница и малко JavaScript. Ето JS-a:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <script type="text/javascript"> var spinnerElements = new Array("\\", "|", "/", "-"); var spinnerIntervalId; var prevIndex = 0; function getById(elementId) { if (document.getElementById) { return document.getElementById(elementId); } else if (document.all) { return document.all[elementId]; } else if (document.layers) { return document.layers[elementId]; } return null; } function setSpinnerValue(value) { getById("spinner").innerHTML = value; } function getNextValue() { if (prevIndex >= spinnerElements.length) { prevIndex = 0; } var value = spinnerElements[prevIndex]; prevIndex++; return value; } function startSpinner() { spinnerIntervalId = setInterval("setSpinnerValue(getNextValue());", 250); } function stopSpinner() { if (spinnerIntervalId != null) { clearInterval(spinnerIntervalId); spinnerIntervalId = null; } } </script> |
Малко CSS:
1 2 3 4 5 6 7 8 9 10 | <style type="text/css"> span#spinner { font-size: 16pt; font-weight: bold; } a { color: #0000EE; } </style> |
И няколкото реда HTML:
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Spinner</title> </head> <body> <a href="#" onClick="startSpinner();">start</a> <a href="#" onClick="stopSpinner();">stop</a> <span> [ <span id="spinner">-</span> ]</span> </body> </html> |
Целият файл под формата на демо може да се види тук.
Последни коментари