Как стать автором
Обновить
0
0
lifezak @lifezak

Пользователь

Отправить сообщение

Фреймворки делают разработчиков тупыми?

Время на прочтение3 мин
Количество просмотров17K
Предлагаю вам перевод записи блога, автор которой подметил глобальные тенденции современного программирования. Хотя речь идет о Java, с которым я никогда не работал, я нашел много до боли знакомого.

На прошлой неделе я проводил несколько интервью, чтобы нанять Senoir Java developers с опытом около пяти лет. После них я почувствовал, что фреймворки делают жизнь разработчиков проще, но в тоже время делают их тупее. Каждый указывает практически все новые фреймворки в своем резюме в виде «Мощный опыт работы с Spring, Hibernate, Web Services и так далее».

Вот как проходили собеседования.

Я: Вы использовали Spring в своем последнем проекте. Какие преимущества использования Spring?
Претендент: Мы можем настраивать beans в XML, а Spring возьмет на себя создание экземпляра и отдаст его нам.
Я: Если Spring только для создания объектов, зачем он вообще нужен – я могу напрямую создать экземпляр, используя «new». Почему мне стоит настраивать имена классов в XML и получать объект из Spring?
Читать дальше →
Всего голосов 114: ↑95 и ↓19+76
Комментарии138

Динамическое программирование. Классические задачи

Время на прочтение8 мин
Количество просмотров323K
Здравствуй, Хабрахабр. В настоящий момент я работаю над учебным пособием по олимпиадному программированию, один из параграфов которого посвящен динамическому программированию. Ниже приведена выдержка из данного параграфа. Пытаясь объяснить данную тему как можно проще, я постарался сложные моменты сопроводить иллюстрациями. Мне интересно ваше мнение о том, насколько понятным получился данный материал. Также буду рад советам, какие еще задачи стоит включить в данный раздел.

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

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

Такие задачи решают методом динамического программирования, а под самим динамическим программированием понимают сведение задачи к подзадачам.
Читать дальше →
Всего голосов 105: ↑97 и ↓8+89
Комментарии72

Лучшее из мира PHP за 2013 + конкурс от компании JetBrains! Дайджест интересных материалов №32

Время на прочтение8 мин
Количество просмотров31K


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

Под катом вас также ждет конкурс с призами от компании JetBrains!
Читать дальше →
Всего голосов 69: ↑56 и ↓13+43
Комментарии94

Современные технологии проектирования ПО в контексте теории коммуникации и метода декомпозиции

Время на прочтение8 мин
Количество просмотров9.6K
Использование родного языка для начинающих изучать программирование является традиционной практикой в процессе обучения информатики. Ей оппонирует профессиональная и научная разработка ПО, в которой Английский язык является «лингво франка». Где формальный английский — это тщательным образом выбранные имена ключевых слов и переменных, обращённые к ассоциативному и творческому мышлению на языке оригинала.
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии9

Проектировщик — менеджер проекта. Реальность или утопия?

Время на прочтение4 мин
Количество просмотров13K
Давайте сначала расскажу, что я вкладываю в понятие проектировщика.

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

Если он хорошо общается с клиентом и выведывает у него информацию о компании, производственных процессах, целевой аудитории, а затем превращает их во вводные и договоры, то это в первую очередь аккаунт или продавец (из нашей дискуссии в комментариях получается, что сюда больше подойдёт термин «бизнес-аналитик»). Он умеет не только слушать, но и говорить. Он делает так, чтобы клиент понимал, что они работают над проектом по одну сторону баррикад.

Если он формирует эту информацию в список функциональных требований, создаёт по ним структуру разделов будущего проекта, а потом превращает это в интерактивный прототип, то это UX-дизайнер.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии15

Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Работаем над ошибками

Время на прочтение7 мин
Количество просмотров113K
В недалеком прошлом на этом замечательном ресурсе была опубликована статья Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Статья — сама по себе неплохая — содержит, к сожалению, ряд неточностей, о которых следует упомянуть. Сделаем это в «один проход» по абзацам. По второму абзацу:
Надо сказать, что у каждой из этих заинтересованных сторон свои требования и свое видение того, каким должно быть «хорошо написанное ТЗ». Например, у заказчика и исполнителя могут быть совершенно противоположные мнения на этот счет.
Уточнения:
  1. Технические задания не пишут (составляют, подготавливают, оформляют и пр.), а разрабатывают, см. хотя бы п. 1.2 ГОСТ 34.602-89;
  2. Если заказчик и исполнитель руководствуются требованиями ГОСТов, то совершенно противоположных мнений у них в принципе быть не может и не должно. Если же взаимодействие осуществляется «по понятиям» — как сейчас принято — то без «плюрализЬма мнений» тут, конечно, никак не обойтись.
Читаем дальше, это любопытно...
Всего голосов 17: ↑10 и ↓7+3
Комментарии21

Снимаем постпродажный шок: короткий совет для интернет-магазинов

Время на прочтение5 мин
Количество просмотров99K
Привет! Есть такая штука – постпродажный шок. Это когда человек купил что-то, отдал деньги, получил вещь в руки… и начинает лихорадочно думать, зачем он это сделал.

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

Сейчас расскажу.
Читать дальше →
Всего голосов 141: ↑136 и ↓5+131
Комментарии136

Когда регистрировать стартап?

Время на прочтение5 мин
Количество просмотров65K
Приветствую почтенных Хабражителей! Первая же проблема, с которой сталкивается начинающий предприниматель в России — тотальная бюрократия и запутанность отношений государства и бизнеса. В результате складывается парадоксальная ситуация, когда вопрос срока государственной регистрации предприятия приобретает не меньшее значение, чем технические детали проекта. Под катом я расскажу о этапах развития стартапа с точки зрения целесообразности регистрации бизнеса.

image
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии72

Почему стоит изучить Clojure?

Время на прочтение17 мин
Количество просмотров149K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →
Всего голосов 112: ↑108 и ↓4+104
Комментарии55

В поисках идеального css-фреймворка. Требования, реализация, maxmertkit

Время на прочтение14 мин
Количество просмотров70K


Я обожаю twitter bootstrap. Прост, местами логичен, достаточно красив, подходит для быстрого прототипирования веб-интерфейсов. Но этого оказалось недостаточно. Взяв twitter bootstrap в большой проект, мне пришлось целиком его разобрать и переосмыслить css-фреймворки как боевые единицы в веб-проектах. В результате переосмысления родились требования к любому css-фреймворку, удобному как верстальщику, так и frontent-разработчику.
Требования и реализация
Всего голосов 208: ↑199 и ↓9+190
Комментарии135

Серия скринкастов по VIM

Время на прочтение1 мин
Количество просмотров5.7K
Если вы хотели начать работать с VIM, но вас что-то останавливало, то перед вами прекрасная возможность начать снова.

Ну а если вы уже продвинутый Vimmer то для вас тоже найдётся что посмотреть.
Всего голосов 67: ↑57 и ↓10+47
Комментарии29

Обзор и классификация CMS по категориям (2013)

Время на прочтение30 мин
Количество просмотров236K
Недавний поиск списка CMS, на примере которых можно было бы объяснить студентам архитектуру и структуру сложного web-сайта, привел меня к любопытной статье с классификацией CMS, которая, однако, на текущий момент немного устарела, да и написана несколько сумбурно. Это подвигло меня составить новый обзор, собрав больше решений и дополнив их по возможности ссылками на официальные сайты, страницы закачки и демо-панели.

Я рассматривала CMS на php, в основном бесплатные, за некоторым исключением. В результате на текущий момент получился такой набор:

CMS общего назначения: Alto CMS, Cogear, Contao, Cotonti, DataLifeEngine, Drupal, ImageCMSCorporate, Joomla, Host CMS, MaxSiteCMS, MODX, MosquitoBloodyMary, ReloadCMS, Wordpress
Галереи: Coppermine, Gallery (Gallery2, обновленная до версии 3), Koken, MG2 = MiniGal 2, Pikateka, SimpleViewer, Zenphoto
Социальные сети: Elgg, Explay CMS, InstantCMS, LiveStreet, BigStreet
Форумы: IPB (Invision Power Board), Phorum, phpBB, phpBBex, PunBB, Simple Machines Forum, Vanilla, vBulletin
Интернет-магазины: ECShop, Magento, OpenCart, Семейство osCommerce, Prestashop
Сайты-визитки без SQL-базы: GetSimple, Monstra, Nanote, Stacey, CMS Чайник
Читать дальше →
Всего голосов 85: ↑63 и ↓22+41
Комментарии69

Новый PhpStorm 7: за пределами языка

Время на прочтение5 мин
Количество просмотров56K
PhpStorm 7: за пределами языкаСпешим сообщить о выходе PhpStorm 7 — новой версии IDE для разработки на PHP от JetBrains.

PhpStorm 7 позволит вам не отставать от последних изменений в PHP и других языках для веб-разработки. В этом выпуске IDE интегрирован ряд современных инструментов и предусмотрено еще больше возможностей для расширения за счет поддержки основных PHP-фреймворков.

В 7-й версии вас ждут многие новые фичи, а также улучшения, коснувшиеся всех подсистем продукта.

Давайте посмотрим, что нового в PhpStorm 7!
Читать дальше →
Всего голосов 99: ↑97 и ↓2+95
Комментарии210

Истинное могущество регулярных выражений

Время на прочтение16 мин
Количество просмотров93K
Как частый посетитель тэга PHP на StackOverflow, я очень часто встречаю вопросы о том, как распарсить какие-то конкретные аспекты HTML, используя регулярные выражения. Самый распространённый ответ на это:
«Ты не можешь парсить HTML с помощью регулярных выражений, потому что HTML не является регулярным. Используй XML парсер, и будет тебе счастье»

Это утверждение — в контексте вопроса — находится где-то между сильно вводящим в заблуждение и абсолютно неправильным. Что я хочу попытаться продемонстрировать в этой статье, так это то, насколько могущественны современные регулярные выражения на самом деле.
Читать дальше →
Всего голосов 182: ↑172 и ↓10+162
Комментарии39

2000 человек, 3K проектов в год: что такое PPM, и зачем это нужно вам

Время на прочтение9 мин
Количество просмотров37K
image
Пример ресурсного плана, где мы видим распределение сотрудников по задачам на несколько месяцев вперёд. У одного из них будет перегрузка через 3 месяца.

Одна из главных проблем руководителя — это получение актуальной информации о ходе проектов, за результаты которых он отвечает. По моей практике, до внедрения PPM руководители тратят очень много времени просто на то, чтобы проверить, что всё везде идёт по плану. Грубо говоря, 60% рабочего времени может уходить просто на то, чтобы понять, что все справляются, и вмешиваться не надо. С другой стороны, после внедрения PPM всю эту работу делать уже не надо – она делается автоматически системой. А вам только приходят алерты для ситуаций, в которых требуется внимание. Получается удобный и очень практичный инструмент управления по исключениям.

Ниже — короткий ликбез про то, что это вообще такое, когда и для чего внедряется, как суровая российская реальность меняет процессы и несколько советов из практики. И рассказы про 4 самых интересных внедрения из моей практики.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии36

MODx: ресурсы, чанки и какие-то телевизоры

Время на прочтение6 мин
Количество просмотров90K
После того как один мой знакомый спросил у меня про то, что за телевизоры используются в шаблонах, я решил отложить все дела на вечер и написать эту статью.
Речь пойдёт о том из чего состоит MODx, как его лучше «готовить», «подавать» и «употреблять».

Рассчитана она в первую очередь на новичков т.к. содержит базовый минимум того, что нужно знать любому modxоводу, ну и конечно на тех кому просто интересно.

Статья ориентирована в основном на Revolution и отражает основные отличия в синтаксисе её от предшественницы, но для обратной совместимости буду вставлять иногда аналогии с Evolution.
Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии18

CSS3 сейчас — анимация, прозрачность и многое другое (часть 2)

Время на прочтение3 мин
Количество просмотров48K
Продолжая цикл статей «CSS3 сейчас!» (Первая статья — CSS Transitions), хотелось бы рассказать об анимации средствами CSS3, а конкретно — @keyframe и animate. Так же, в статье мы затронем свойства opacity и цветовую модель rgba(), кроссбраузерное использование border-radius, box-shadow и градиентов.

Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии41

Cufón – используйте шрифты, какие душа пожелает

Время на прочтение4 мин
Количество просмотров90K
Если стоит задача использовать в проекте нестандартный шрифт, то есть возможность пойти несколькими путями:
  1. Ъ-метод – не использовать нестандартные шрифты, достаточно в CSS сказать body {font-family: sans-serif;} и не морочить себе голову.
  2. Быдло-метод – нарезать из ЖПЕГов, картинок с заголовками, ужать посильнее, что б появилась размытость и вставлять вместо текста картинки. Достаточно популярный на наших просторах метод.
  3. W3C-метод – используем @font-family и наслаждаемся красивыми шрифтами без всяких заморочек. Пока этот метод не рассматривают, как рабочий, по причине слабой поддержи со стороны браузера.
  4. sIFR – клевая вещь, наиболее употребляемая на сегодняшний день, но как недостаток – требует наличия Flash-плагина. Хотя это трудно назвать недостатком, но если есть инструмент, позволяющий обойтись без плагинов, то это не может не радовать.
  5. Cufón – самое то. Относительно новый метод, который показывает превосходные результаты. Он и есть герой этой статьи.
Читать дальше →
Всего голосов 119: ↑111 и ↓8+103
Комментарии106

Все о 960gs — отличном css-фреймворке для построения модульных сеток

Время на прочтение6 мин
Количество просмотров54K


Я хочу дать исчерпывающее описание замечательному фреймворку для построения модульных сеток 960gs. Недавно где-то в комментариях сказали, что 960gs сложнее в понимании, чем blueprint, что меня удивило. Я не хочу заниматься сравнением этих фреймворком, хотя бы потому, что они выступают в разных весовых категориях, однако, для построения модульной сетки ничего легче и проще в понимании, чем 960gs я не видела.


Читать дальше →
Всего голосов 126: ↑111 и ↓15+96
Комментарии83

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность