Pull to refresh
89
0
alex14n @alex14n

User

Send message

Панацея ли Scrum? Давайте рассуждать вместе, где он нам полезен

Reading time4 min
Views8.7K
Начну я просто — поясню, что такое Scrum и зачем он нужен, что бы те люди, кто с ним пока не сталкивался, могли с интересом прочесть данную заметку и понять о чём собственно идёт речь.

Итак, Scrum, это популярная (модная, если хотите) сегодня методология ведения программных проектов. Другими словами, как управлять командой разработчиков, что бы программный проект завершился успешно. Что и как документировать, как, с кем и как часто обсуждать детали проекта, как ставить задачи людям и как контролировать результат. Всё это попадает под термин “методология управления программным проектом”.

Вам понятно? Отлично! А теперь…
Читать дальше →
Total votes 102: ↑81 and ↓21+60
Comments62

Что на самом деле сделал Google

Reading time3 min
Views2.3K
Я осознал. Только что. Наверное, я тормоз… но пока эта мысль нигде не озвучивалась.
Итак, пока все спорят, насколько хорош браузер Chrome, меряются тестами и ждут портов на Линукс и Мак, основная революция произойдет совсем не там.
Она кроется в маленькой незаметной кнопочке «создать ярлыки приложения».
Воспользовавшись этой функцией, вы получаете на рабочем столе или в главном меню ярлык на свой любимый сайт, который откроется без панели навигации и прочих ненужных элементов. Например, я первым делом создал такой ярлык для Google Reader. И удивился, насколько шустро он стал работать. Ну собственно, ничего удивительного. Наверняка для своих приложений Гугл оптимизировал JavaScript и собственный же движок.

Ну да суть не в этом. Что я получил? Я получил отличный, удобный, шустрый RSS-reader, который ничуть не уступает своим традиционным аналогам. Потом я наткнулся на забавную статью о том, как можно тем же способом получить неплохой калькулятор. А сколько уже небольших, приятных сервисов существует в сети? Тут и календари и текстовые редакторы и даже сложные графические приложения.
А теперь вспоминаем, какие основные особенности нового браузера от Google: оптимизация работы JavaScript (ускорение просто в разы!) и самостоятельные потоки для каждого окна. То есть одно кривое приложение не подвесит и не повалит остальные (сейчас может, но это исправят). В результате мы получаем… почти идеальную платформу для приложений.

Полная кросс-платформенность. HTML и JavaScript худо-бедно, но работают на любой операционной системе (где будет Google Chrome). Простота разработки и огромное количество готовых фреймворков. Огромное количество удобных бесплатных редакторов и сред разработки. Решение проблемы с обновлениями софта. Пользователь автоматически работает с самой последней версией. Замечательная обратная связь и статистика. Вы будете совершенно точно знать, какие функции вашей программы наиболее востребованы, оценивают ли пользователи ваши гениальные идеи или применяют приложение совершенно неожиданным способом. Кстати, не удивлюсь, если в Chrome встроен сборщик статистики, который отправляет много интересной информации в Корпорацию Зла Google. Но не удивлюсь и в том случае, если он туда не встроен. :)

Теперь следующий тонкий момент: браузер с открытым исходным кодом. Значит, наработками Google смогут воспользоваться и разработчики других, альтернативных браузеров. Даже великий и ужасный IE сможет включить аналогичные функции. И вот как раз это Google и надо. Зачем распространять свой браузер, если основную фичу можно продвинуть руками конкурентов. И пусть даже доля Chrome будет два процента, но если при этом все остальные браузеры станут поддерживать интернет-приложения, Google своего добьется.

А добьется он того, к чему стремится уже очень давно: повальной миграции пользователей на веб-приложения и сервисы. И кажется, на этот раз у него это получится. Да, серьезный софт, завязанный на сложные вычисления или требующий низкоуровневой работы с железом, никуда не денется. Но посмотрите сами на свой рабочий стол. Много там таких приложений? А сколько всяких мелких утилит для ежедневной работы? А ведь приличное их количество может работать через веб, ничуть не теряя функциональности.
К слову, никто не мешает делать ссылку и на локальную копию веб-сайта. И не удивляйтесь, если завтра ваша любимая программа X выйдет не в виде исполняемого файла, а в виде кучи HTML и JS кода, распакованного на ваш жесткий диск.

В общем, скоро мы окажемся в новом мире. Которым будет править не Microsoft, но Google.
Total votes 416: ↑325 and ↓91+234
Comments248

Caucho Resin — сервер приложений Java/PHP

Reading time6 min
Views6.4K
Для приложений Java, я имею ввиду, веб-приложений, существует уже достаточное количество серверов, которые уже давно разрабатываются и давно вышли на уровень, достаточный для того, чтобы применять их в самых сложных и ответственных случаях. Думаю, всем знают Apache Tomcat и Jetty — самые известные сервера из списка открытых разработок. Но к этому списку нужно добавить теперь еще и Caucho Resin. В ряде тестов его Pro версия превосходит в производительности Tomcat 6, обладая при этом рядом возможностей «из коробки», которых нет в других серверах или они реализуются при помощи сторонних средств.

И так, Resin — высокопроизводительный HTTP и сервер приложений для Java/PHP приложений, с возможностью масштабироваться и кластеризироваться в начальной конфигурации. Кстати, именно в этом состоит различие между обычной, open-source версией и Pro. В этой версии есть функции автоматического детектирования остановившихся или зависших сессий и рестарта сервера, а также средства мониторинга состояния JVM и потребления памяти. Кластеризация позволяет распределить нагрузку на несколько серверов, при этом сессии будут привязаны к конкретному серверу и мигрируют в фоновом режиме при крахе обслуживающей его ноды. Об этом стоит как то поговорить отдельно, возможно, в отдельной статье — я собираюсь плотно занятся изучением этого сервера и его возможностей, а результат буду публиковать в виде статей.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments8

Метапрограммирование в C++

Reading time5 min
Views39K
Метапрограммирование — это «программирование программ», то есть написание некой промежуточной программы, результатом которой будет некая часть другой программы. Самый простой пример метапрограммирования — это шаблоны C++. Вместо написания десяти одинаковых функций для разных типов, мы пишем шаблон, и компилятор сам соберет нам эти десять функций.
Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments55

Правила личной эффективности от ЭД

Reading time21 min
Views65K
Заранее предупреждаю и извиняюсь, но оно того стоит: букаф многа.

Введение

В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.

В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.

Попытка понять программу восьмого класса провалилась в виду отсутствия элементарных знаний предыдущих классов (начиная с второго-третьего), что не оставляло передо мной выбора, кроме как начать изучать все предметы по новой, самостоятельно.

Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.

Читать дальше →
Total votes 197: ↑155 and ↓42+113
Comments202

Полнотекстовый поиск в веб-проектах: Sphinx, Apache Lucene, Xapian

Reading time15 min
Views55K
Полная авторская верcия из моего блога. Оригинал материала написан специально для Developers.org.ua

Наверное любой современный веб-проект сложно себе представить без… без контента! Да, именно контент в разных его проявлениях сегодня «правит бал» в различных веб-проектах. Не так важно — создаваемый пользователями или получаемый из других источников автоматически — информация является основной любого (ну, или почти любого) проекта. А раз так — то вопрос поиска необходимой информации стоит очень остро. И острее с каждым днем, ввиду стремительного расширения количества этого самого контента, в основном за счёт создаваемого пользователями (это и форумы, и блоги и модные нынче сообщества, вроде Habrahabr.ru). Таким образом, любой разработчик, реализующий сегодня какой-либо проект, сталкивается с потребностью реализовать поиск в своём веб-приложении. При этом требования к такому поиску уже намного сложнее и шире, чем даже год-два назад. Конечно, для каких-то проектов вполне подойдёт и простое решение, к примеру, вполне можно использовать Custom Google Search. Но чем более сложное приложение, и чем сложнее структура контента, если требуются особые виды поиска и обработки результата, или же просто количество или формат данных в вашем проекте особый, вам потребуется собственная поисковая система. Именно своя система, собственный поисковый сервер или сервис, а не сторонний, пусть даже гибкий и настраиваемый. Но что же выбрать, и вообще — какие сейчас на рынке есть поисковые проекты, которые готовы для использования в реальных проектах, не исследовательских или научных, а реальных бизнес-приложениях? Далее мы кратко рассмотрим различные варианты поисковых решений, пригодных для встраивания в ваше веб-приложение или развёртывания на собственном сервере.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments62

Обработка ошибок и исключений в PHP

Reading time6 min
Views38K
Эта «небольшая» статейка является развитием темы затронутой в этой статье.
Как известно, PHP зародился довольно давно и уже тогда возник вопрос, что делать с возникающими ошибками. Perl, который является несомненным прародителем PHP по умолчанию не имел какой-либо системы обработки ошибок. При возникновении любой ошибки сервер выбрасывал 500-ю ошибку и на этом все заканчивалось. Поэтому Warnings, Fatal Errors и Notices были настоящим прорывом в облегчении и без того нелегкого труда программиста. Однако время шло, механизмы PHP не менялись, а технологии, как известно, на месте стоять не любят.
Читать дальше →
Total votes 3: ↑2 and ↓1+1
Comments60

Вред многозадачности официально подтверждён

Reading time2 min
Views11K
Многие менеджеры и программисты, особенно среди молодых, искренне полагают, что одновременное выполнение нескольких процессов повышает общую производительность труда. На самом деле это заблуждение. Исследования ученых из Института мозга будущего при Оксфорде показало, что наш «центральный процессор» совершенно не приспособлен к такому режиму, даже у Generation X.
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments122

Основы Hibernate

Reading time17 min
Views431K


Хочу начать со слов благодарности тому человеку, который мне вчера накинул кармы, позволив этим писать мне в персональный блог.

Долго думал, о чем же написать свой «первый» топик… Слово первый не зря взял в кавычки, так как первый топик на самом деле уже был, опыт был к сожалению неудачный — дело закончилось баном.  Решил больше не копипастить. Уверенности тому, что надо написать что-то свое, придал вот этот топик. Решил твердо — пусть это будет и редко, но буду писать сам.

Ну, едем дальше!

Совсем недавно, по роду свой деятельности, мне пришлось столкнуться с таким понятием как ORM — (англ. Object-relational mapping). В двух словах ORM — это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Именно объектов, таких, какие они есть, со всеми полями, значениями, отношениями м/у друг другом.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments112

Удобная навигация по тэгам

Reading time1 min
Views2.1K
Недавно надо было найти на своём ресурсе информацию по CSS, которую я постил довольно давно. Какой там был заголовок я уже не помню, какими словами писал — тоже.

Днём ранее я выбирал вместе с Антоном Исайкиным Wiki при помощи wikimatrix.org, где реализована фасетная фильтрация и Wizard для выбора нужной системы по заданным критериям. Сама идея мне очень понравилась, а вот реализация — нет. Wizard был составлен вручную и естественно всех критериев не включал.

Это навело меня на мысль, что навигация у меня, мягко говоря, не очень: можно найти все посты о «CSS», можно о «IE», но нельзя найти те, что о «CSS» и «IE» одновременно.

Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments52

Лямбда вычисления и замыкание

Reading time2 min
Views2.1K
В конце 2007 года был предложен патч, добавляющий лямбда функций (но без замыканий) для PHP. В ходе дискуссии в списке рассылки, было решено, что без поддержки замыканий, нет необходимости добавлять их в PHP.
Тем не менее, интерес к этой теме привел к существенным изменением первоначального патча Кристиана Сайлера (Christian Seiler) и выпуску Дмитрием Стоговым (Dmitry Stogov) нового патча.

В результате мы имеем замыкание и лямбда функции в PHP (5.3)


Читать дальше →
Total votes 46: ↑39 and ↓7+32
Comments159

Неблокирующая загрузка JavaScript

Reading time1 min
Views1.7K
Примечание: ниже перевод статьи «Non-blocking JavaScript Downloads», в которой автор рассказывает о проблемах, связанных с подключением JavaScript-файлов, и возможной параллелизации их загрузок. Мои комментарии далее курсивом.

Stoyan StefanovОб авторе: Stoyan Stefanov является веб-разработчиком Yahoo! в группе Exceptional Performance и курирует разработку YSlow — инструмента по измерению производительности. Он также внес значительный вклад в разработку продуктов с открытым кодом, выступал на конференциях и автор технических текстов. Его последняя книга Object-Oriented JavaScript.

Внешние JavaScript-файлы блокируют загрузку страницы и сильно влияют на ее производительность, но существует достаточно простой выход из этой ситуации: использовать динамические теги script и загружать скрипты параллельно, увеличивая тем самым скорость загрузки страницы и улучшая пользовательское восприятие.

читать дальше на webo.in →
Total votes 1: ↑1 and ↓0+1
Comments40

Java World

Reading time5 min
Views4.6K


Недавно на Хабре был топик про спонсирование Apache компанией Microsoft. Но то ли автор не доконца разобрался в теме, то ли новостной ресурс, ссылка на который была представленна: в общем, сложилось впечатление, что MS спонсирует разработку Web-сервера Apache. На самом же деле Microsoft спонсировал Apache Software Foundation, которая состоит из многих проектов, и как стало известно из блога Microsoft, спонсируют и используют они не только, и не сколько Web-сервер:

«It is a strong endorsement of The Apache Way, and opens a new chapter in our relationship with the ASF. We have worked with Apache POI, Apache Axis2, Jakarta, and other projects in the last year, and we will continue our technical support and interoperability testing work for this open source software.»

К сожалению, на Хабре не так много постов о Java, поэтому в этом я постораюсь рассказать о многих важных и интересных уголках Java мира, а заодно расскажу что же это за загадачные Apache POI & Axis2.

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments20

Расставив все элементарные точки над «семантикой»

Reading time6 min
Views2.5K
читайте уже наконеч что-то умное
Как сказал Robots: « а если без шуток, …, дилетантам лучше читать и учиться, а создание топиков оставить профессионалам.»

В ходе многих статей, которые в последствии назывались «непрофессиональными», расставляю для будущих писателей все точки над… Дабы больше не возникало нареканий в вашу сторону.

Не раз боролся Delka (Зенич Игорь) за семантичность кода, который пишут в статьях и который в последствии может использоваться как некий учебник для начинающих, тем самым осуществляя нарастание ошибок.

В этой статье я объединил (скомпилировал) уже изложенные мысли (!) многих людей, но почему-то так и не донесенные до большинства. (www.flack.ru, www.pepelsbey.net и некоторые другие)

Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments71

Установка и настройка SVN (сервер+клиент)

Reading time6 min
Views310K
По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Читать дальше →
Total votes 75: ↑66 and ↓9+57
Comments37

Организации процесса разработки на java

Reading time1 min
Views2.6K
Доброго времени суток, хабралюди…
Хочу у вас спросить совета, о том как лучше огранизовать работу коллектива, занимающегося разработкой серверных приложений на java. Не могли бы вы описать полный цикл разработки(можно кратко :-) ) при средней детализации: куда кладутся сырцы, как это связать с документацией и багтрекингом, как потом эти сырцы собрать, как их отлаживать (unit-тесты какие-нибудь) с учетом серверной природы проекта. можно даже с именами программных продуктов.
Как это делается в вашей конторе?
Total votes 3: ↑3 and ↓0+3
Comments13

Средства коллективной разработки.

Reading time1 min
Views6.7K
Всем хорошего вечера понедельника (если такое возможно). Хочу спросить у тех кто пишет под .NET платформу, какие средства коллективной разработки они используют? Понятно что есть VS Team systems. Все ли используют его? Может кто-то пользуется чем нить альтернативным? Чем-то полегче?
Total votes 18: ↑15 and ↓3+12
Comments29

Разница между разметкой и представлением

Reading time4 min
Views1.3K
Прочитав комментарии к заметке Firefox 3: * {display: block } bug, понял что заметная часть читателей Хабра, в том числе серьёзно занимающиеся веб-разработкой, не совсем верно представляют себе что-то же такое HTML, и почему теги отображаются так, а не иначе.

Читать дальше →
Total votes 143: ↑139 and ↓4+135
Comments120

Дополнительный сервис к гуглридеру

Reading time1 min
Views501
Сегодня читал ленту хабра после недельнего отсутствия и пришла в голову такая мысль, что, наверное, как и многим здесь, мне интересно лишь процентов 10-20 того что идёт с хабра. Так же в общем-то происходит и с другими сайтами (особенно типа digg, news2.ru и т.д.) и перелопачивать весь этот поток инфы нет никакой возможности.

да чего греха таить, есть много людей которые раз в недельку нажимают «Mark All as Read» потому что не успевают читать всю свою ленту.

Собственно возникла идея сервиса в который вы вбиваете RSS своих «shared items» из gReader-а и в обмен получаете другую RSS — записей, которые могут быть вам интересны (согласно тому что вы зашарили).

Естественно, туда можно прикрутить всю модную социальность, найди друзей по интересам, комментирование сообщений и т.д., но это всё уже опции. Основная функциональность это просто тупо поле для ввода RSS, кнопка сабмит — и в ответ адрес новой RSS ленты.

Я ещё не проверял есть ли подобные сервисы, поэтому если кто-то знает в рунете или у буржуев дайте линк, пожалуйста.

Сам я темы никогда не расшариваю (нету у меня других пользователей гридера в контакт-листе :( ), поэтому вопрос: вы часто шарите темы? почему — потому что тема была интересна вам или потому что она может быть интересна кому-то из ваших друзей? ну и, наконец, any ideas будет ли такое работать?

PS: я сейчас не говорю, о самом алгоритме поиска интересных сообщений для каждого и о возможной сложности такого сервиса — это я себе более или менее представляю. Мне интересно имеет ли сама идея шансы на успех.
Total votes 11: ↑7 and ↓4+3
Comments13

Маленькие секреты about: config, ручная настройка

Reading time4 min
Views130K


После прочтения поста о уменьшении расхода оперативной памяти в FF, я решил залезть поглубже в страницу настроек about:config и отыскать там что-нибудь интересное. Забегая вперёд, скажу, что поиски мои увенчались успехом.
Начну с того, что все изменения вы можете сделать в файле ..\Mozilla Firefox\greprefs\all.js или в папке с настройками вашей конфигурации, хранящимися в C:\Document and Settings\ или ~/.mozilla/firefox в Виндовсе и Линуксе соответственно. Как вы уже заметили, Лис хранит настройки в js, да ещё и для каждой настройки вызывает специальную функцию pref(prefName,value), а сама функция находится в файле ..\Mozilla Firefox\defaults\autoconfig\prefcalls.js! Вот так-то.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments28

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity