Социално програмиране »
Публикувано на: 17.07.2010 23:34, източник: Блогът на Юруков, етикети: Аз и Боян Идеи code recommenders darmstadt democamp e4 eclipse бизнес програмиране Софтуер социално
Културата на отвореният код помага много за създаване на все по-сложни системи по-бързо и по-евтино. Най-опростената дефиниция на тази култура е, че всеки може да надгражда, да поправя, да адаптира и копира части от чужди програми. Това не означава непременно, че този тип софтуер е безплатен, но факта, че изходният им код е на разположение на масите е от полза за всички и намалява повтарянето на усилия.
Да имаш на разположение толкова много отворен код обаче разкрива трудности за намиране на подходящи „парчета“, които искаме да свържем в проекта си. Това е същото, както да търсим подходяща рецепта за ястие, което да сервираме на гала вечеря. Има търсачки като Google Code, но не са достатъчно добри.


В сряда се проведе поредният Eclipse DemoCamp в Darmstadt. В една от презентациите Марсел Брух показа комплект от инструменти, който решава отчасти горния проблем. Пилотното му име е Code Recommenders и се разработва от TU Darmstadt. Сравниха го с Amazon, където интернет магазинът се учи от покупките и навиците на клиентите си, за да им предлага най-добрите стоки за всеки поотделно и така да увеличи продажбите си. Инструментът за Eclipse пък анализира кода, наличните проекти, структурата на наследственост на класа и имплементираните методи, сравнява този модел с голяма библиотека (2+ Gb) и предлага какво може да се допълни на мястото, където програмистът пише. Библиотеката съдържа десетки хиляди модели тренирани на базата на анализ от огромно количество отворен код. Това означава, че ако програмистът започне да създава бутон, програмата може да изчисли как и колко други хора са го направили и да му предложи най-вероятните възможности. Примерно – да сложи текст и стил на бутона.
Този метод на анализ предоставя и други интересни предложения. Например, обикновено когато човек пише програма, Eclipse му показва грешки в синтаксиса. Ако Code Recommenders засече, че на дадено място повече от 90% са използвали даден метод, значи е възможно да има логическа грешка и затова я показва като такава. Също така, на програмиста може да се предложи шаблони с код на базата на най-вероятните предложения, както и пряка връзка с Google Code направо в платформата му, с цел намиране и оценяване на snippet-и.
В края на презентацията показаха имената на част от студентите, които са участвали в проекта. Моето също беше там. Преди около година им помогнах да адаптират част от Eclipse plugin-ите на OSGI сървър с Axis2, така че всички предложения да идват от едно място, където да получават обратна връзка и да се анализират. В сегашната версия от това е останала само частта за анализ, като са добавили автоматично подновяване на локалната библиотека с предложения.
Друга интересна презентация беше представянето на новия Eclipse e4 от Ларс Вогел. Той е още в инкубационен период (разработка), но се очаква от него да излезе версия 4 на IDE платформата. В самата презентация не видяхме кой знае какво ново, тъй като същите примери бяха отдавна на сайта, както и самият е4. Интересно е обаче да се види колко лесно и бързо може да се направи софтуер от нулата с доста добър UI. По принцип това, което клиента вижда – бутони, прозорци, текст, картинки и таблици може да се разработи с множество готови библиотеки и би трябвало да е лесно. На практика обаче не е и се случва да се прекарва повече време в честите промени на външният вид и използваемостта на програмата (usability), отколкото за самата бизнес логика. С е4 човек може да моделира абстрактно външният вид и в реално време да променя всичко. Нещо повече – стилизирането на програмата се прави с CSS и може да се използва JavaScript. Това, всички други скрити допълнения в e4 и безкрайната възможност за разширение на платформата, за която писах преди, прави Eclipse още по-прекрасна основа за създаване на всякакви бизнес приложения.
Естествено, имаше и доста други интересни презентации, като тази на Кай Кройзер, който е използвал Eclipse за да автоматизира изцяло къщата си. Показа как през интернет и с телефона си може да управлява всичко – светлини, отопление, електроуреди до това да получава информация за температурата, потреблението на ток и газ. Разбира се, кодът е отворен и всеки може да го използва.
Въобще този семинар, както и други подобни, ме навеждат на мисълта, че принципите на социалните мрежи ще се прилагат все повече в процеса на програмиране. Макар вече да не търсим дефиниции в дебели книги и да перфорираме карти, създаването на софтуер пак се състои от един човек, компютър и примери/документация, които тя/той трябва да намери в мрежата (и това умножено по няколко, за да получим екип). С инструменти като Code Recommenders получаваме помощта от общността направо на върха на пръстите ни (Ctrl+Space за знаещите).
За бизнеса това означава, че създаването на софтуер и промените по него ще бъдат по-бързи (казано на страшно клиширан език). Както Дъглас Шмидт писа преди 10 години, рециклирането на стар код, което беше и голямото обещание на ООП, се провали. Помощта идваща от „облака“ от програмисти извън фирмата ще даде нов смисъл на reusability и ще даде повече тежест на решението да се използва отворен код в комерсиални проекти.
Поне това е обещанието този път, но все пак сработва в Twitter, нали? Питаш нещо и няколко души ти помагат почти веднага.
PS: Впрочем тия дни Неели Кроес – евро-комисарката за дигиталното развитие, пусна видео, с което призовава компаниите и институциите да използват повече софтуер с отворен код. Основното й съобщение е, че „open source“ вече не е мръсна дума що се отнася до бизнеса и администрацията.
jQuery за начинаещи »
Публикувано на: 13.07.2010 13:31, източник: DevStorming, етикети: дизайн програмиране
На всички ни е ясно, че на неописуемо голямата интернет сцена нещата от край време се развиват светкавично бързо. Разбира се, това води и до постоянното развитие на хората, които стоят зад всичко това – дизайнери, девелъпъри, администратори и т.н. Но за да вървиш ръка за ръка със света около теб, трябва да се следят… научи повече…
Related posts:
- jQuery – полезни съвети (част 2)
- jQuery – полезни съвети (част 1)
- Как да си направим табове с помощта на CSS & jQuery
Всичко за HTML5 video или как да създадем видеоплейър! »
Публикувано на: 06.07.2010 13:19, източник: DevStorming, етикети: дизайн програмиране
В днешно време средностатистическият интернет потребител трудно би си представил мрежата без видео. В голям процент от случаите, търсеният от вас резултат ви предоставя видео, независимо дали го желаете или не. Четете новини? Много вероятно да попаднете на видеорепортаж. Търсите музика? Ще ви се предложи видеоклип. Четете ревю на игра? Сто процента ще видите, както… научи повече…
Java 4ever - страхотна пародийка »
Публикувано на: 25.06.2010 20:49, източник: Chris' Box, етикети: java програмиране
Гледайте това, ще паднете от смях:
CodeIgniter output cache directory tweak »
Публикувано на: 24.06.2010 20:26, източник: Марто at home, етикети: програмиране codeigniter
Кешовете имат относителна полза, понякога са напълно излишни, друг път наложителни. Какво всъщност е кеш? Ако приемем, че дадено приложения/софтуер/програма изпълнява математическа задача, то кеш е запазването на нейния резултат и използването му в бъдеще. Няма причина да се използват ресурси, за да бъде изчислявана една и съща задача всеки път когато е нужен резултата [...]





