Pull to refresh
2
0
Пётр Адрианов @adrianov

User

Send message

Пять книг, которые изменили мою карьеру программиста

Reading time 4 min
Views 84K

"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну "

- Джордж Р.Р. Мартин.

Читать далее
Total votes 41: ↑37 and ↓4 +33
Comments 30

Финансовые новости на графиках акций

Reading time 2 min
Views 1.3K
Мои предыдущие обсуждения в хабра-сообществе оказались крайне полезными для развития TIKR.ru. В прошлом мы обсуждали поисковик по акциям, инвестиционные портфели, прогнозы по акциям и социальную сеть для инвесторов в акции российских компаний.

Приглашаю добрых хабра-людей к обсуждению нашего нового функционала. Главная идея — дать пользователям возможность наглядно отображать влияние новостей на изменение в цене акций. Что получилось, можно увидеть на примере графика акций Норникеля.

Для графиков с акциями западных компаний Гугл отбирает новости автоматически на основе индекса цитирования. По российским компаниям такого нет. Мы посчитали, что в наших реалиях гораздо лучше работают принципы таких проектов, как digg.com и news2.ru, где пользователи сами определяют, какие новости являются важнее путем простого голосования. Таким образом, новости из «Последних» в хронологическом порядке попадают в «Актуальные», где порядок высчитывается с учетом голосов пользователей. Вот что из этого получилось:
tikr

Особенности финансовых новостей в TIKR.ru
Total votes 11: ↑8 and ↓3 +5
Comments 10

Как правильно сортировать контент на основе оценок пользователей

Reading time 5 min
Views 91K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Total votes 458: ↑423 and ↓35 +388
Comments 134

Что плохого в работе на результат

Reading time 11 min
Views 216K
Все чаще приходится слышать: "Работай на результат!"

"Работай на результат!" — кричит начальник подчиненному, чтобы заставить этого тупого неповоротливого кретина, принятого в команду по протекции, приносить хоть какую-то пользу общему делу.

"Мы работаем на результат!" — бахвалится бригада голодных гастарбайтеров, надеясь, что, если они будут кричать именно это, их предложение хотя бы немного выделится среди гула голосов тысяч голодных и безработных.

"Обязательна ориентированность на результат!" — напишет пожилая кадровичка «ГорАвиаВагонМорСтроя» в требования к кандидату на должность помощника бухгалтера, будучи уверенной в том, что раз все так пишут, то и ей надо.

"Наш девиз — Работа на Результат!" — именно так, с двумя Большими Буквами для большего пафоса пишет на корпоративном сайте очередной говноконторы-однодневки молоденькая девочка-всё-в-одном, гордо именующая себя помощником руководителя по связям с общественностью. И этот самый руководитель, даже не знающий, что секретутка это, оказывается, ни больше ни меньше, целый его помощник, тоже употребит эту фразу на фуршете в городской администрации с целью создать себе рекламу в среде местных бюрократов.

Культ карго. Мало кто из произносящих эту фразу может внятно объяснить, какой смысл в неё вкладывается. Люди верят в неё, как в волшебную формулу, заклинание, они пихают её куда ни попадя, надеясь, что она придаст им уникальность, выделит их из толпы таких же неудачников. Организации, Компании, конторы да и откровенные «шараги» не мыслят себя без этого лозунга. Как же это, «Рога и копыта» работают на результат, а мы, что, хуже?



А хуже ли?
Осторожно! Тентакли под катом!
Total votes 255: ↑227 and ↓28 +199
Comments 174

MVC 2: Валидация модели

Reading time 9 min
Views 16K
asp.net mvc 2
Это вторая часть из цикла статей о грядущих нововведениях в ASP.NET MVC 2, выход которого уже не за горами. Данный пост посвящен улучшениям в валидации, добавленных в ASP.NET MVC 2.
Читать дальше →
Total votes 39: ↑25 and ↓14 +11
Comments 13

Наш процесс разработки: 50 месяцев эволюции

Reading time 9 min
Views 44K
Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



Много ужасных таблиц и красивых картинок
Total votes 130: ↑114 and ↓16 +98
Comments 147

Используем console на полную

Reading time 6 min
Views 456K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Total votes 172: ↑168 and ↓4 +164
Comments 29

От инженера до руководителя. Часть 1: Чувство справедливости

Reading time 9 min
Views 35K
Работая продолжительное время инженером-программистом, я собирал помимо опыта и знаний ещё недовольство и замечания к рабочему процессу и начальству в частности. Каждый раз, когда я сталкивался с проблемой, я думал над тем, как мог бы я её решить и что я могу сделать в этой ситуации. Что-то удавалось сделать, а что-то разбивалось об процесс и руководящий аппарат. И каждый раз проблема и её решения откладывались мной, с осознанием того, что если бы у меня были нужные рычаги, уж тогда-то я смог бы изменить и сделать так, как правильно. Я даже сформировал ментальную систему, которую, впрочем, поленился формализовать на бумаге. Царящая вокруг меня несправедливость была для меня хоть и сокрытым, но комком в горле, превращающимся в камень на душе. Я ожидал шанса и возможности всё накопленное реализовать и поправить, и однажды возможность подвернулась.

Будьте осторожны в своих желаниях — они сбываются!



Так и случилось, что мне предложили нежданно-негаданно руководящую должность, оценившую мои таланты и навыки и позволяющую реализовать свои амбиции. Беседа с менеджером закончилась в лучших традициях “Ты теперь начальник — управляй”. И теперь мне предстояло воплощать в себе лучезарный и кристально-чистый светоч справедливости и делать людей счастливыми, нести слово и байт людям. Однако, почти сразу же оказалось, что это несколько сложнее, чем мне казалось ранее, что угол зрения на проблемы снизу и сверху несколько различается, и родной код оказался приветливее громадины проблем и забот. Поэтому сейчас я решил наконец-то оформить свои догмы на бумаге от лица исполнителя и с призмы начальника. Вряд ли я скажу что-то новое, кроме того, что уже до меня написано в хороших книгах, за исключением примеров из практики и шуток с прибаутками, поэтому либо пролистывайте сразу, либо добро пожаловать под кат.
Читать дальше →
Total votes 152: ↑133 and ↓19 +114
Comments 52

Повышение работоспособности: как я делаю работу, которую делать не хочу

Reading time 3 min
Views 10K
image Сегодня я продолжаю свою тему и пишу пост о том, как я «заставляю» себя делать скучную, нудную и неприятную работу.

В работе абсолютного большинства людей есть задачи, которые выполнять не хочется, но надо. Решается эта проблема (если решается) обычно методом «заставить себя», или «через не могу». Так происходит, потому что все мы приучены к этому с раннего детства. Поэтому мы всегда мучаем себя, делая то, что нам ненавистно. Сопровождается такой выход большим количеством негативных эмоций. А это наши нервы, и — как следствие — наше здоровье.

Так что же делать? Ответ я нашёл не так давно, и теперь хочу поделиться с Хабрасообществом.

Читать дальше →
Total votes 108: ↑69 and ↓39 +30
Comments 70

Оценка трудозатрат выполнения проекта по разработке ПО: практика в условиях украинской реальности

Reading time 13 min
Views 117K

Вступление



К написанию данной статьи меня подтолкнул не очень давно завершившийся проект. Как и в любом другом проекте, в нем были и ошибки (в том числе и при оценке), и проблемы и интересные их решения, и, несмотря ни на что, боевой дух команды, и желание сдать проект во время, и переработки и таки сдача проекта в срок, и долгожданный отпуск. Все это стоит отдельной статьи. Но главное — был бесценный опыт, на основании которого создана эта статья.
Очень часто, мы оцениваем проект и сильно ошибаемся. И вроде как из-за мелочей, которые появляются по ходу проекта, но которые, в действительности, можно было бы и обнаружить и учесть заранее.
Статья содержит простые и в тоже время полезные рекомендации и метод расчета оценок трудозатрат проектов и будет интересна руководителям проектов, архитекторам, системным аналитикам, продавцам ИТ решений и всем остальным, кто занимается оценкой работ по проектам с фиксированной ценой (fixed price projects).
В статье мы займемся только оценкой трудозатрат по работе над проектом, оценка длительности выполнения и стоимости – это совсем другая история.
В статье я описываю свой личный опыт оценки проектов, и,
конечно же, у вас могли быть другие ситуации и свои методы и
рекомендации оценивания.
Для большего понимания сути, смысла и «духа» статьи рекомендую сначала просмотреть:
  • выступление Сергея Мартыненко «Написание тестов, как вид тестирования требований»[1], на которое я буду часто ссылаться в ходе данной статьи. Важно понимать, что правильно сформулированные цели и требования – это большой и важнейший шаг к успеху проекта
  • и презентацию Сергея Бережного
    «My Story: «Путь овертаймов» [2]. По большому счету данная презентация к теме статьи не имеет, но имеет отношение к неправильно оцененным трудозатратам.

Статья содержит такие разделы:


  • Украинские реалии при выполнении проекта
  • Проблемы и их решения
  • Подготовка к оценке
  • Перечень работ для оценивания
  • Оценка работ по написанию кода
  • Цифры и коэффициенты из практики
  • Пример расчета

Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Comments 15

Повышаем производительность программирования (ментальная карта)

Reading time 3 min
Views 19K
часы

Хочу поделиться с вами своими долголетними наблюдениями о том, как улучшить производительность труда программиста. Вот ментальная карта в виде картинки, вот — в виде mm файла, а ниже — она же в виде вложенных списков.
Читать дальше →
Total votes 66: ↑51 and ↓15 +36
Comments 58

Паттерны ООП в метафорах

Reading time 17 min
Views 557K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13 +188
Comments 86

Aptana Cloud — наш ответ Google App Engine и Amazon-у!

Reading time 3 min
Views 1.5K
Не так давно поисковый гигант Google предоставил разработчикам свою платформу для хостинга приложений — Google App Engine, которая предусматривает работу пользовательских приложений в среде компании, на основе их платформы. Разработчик полностью освобожден от работы с самим хостингом — для него все видно через призму несложного API, остальное забота компании Google. По сути, это очень высокоуровневая виртуализация хостинга. Сетевая инфраструктура также переносится на «плечи» провайдера, таким образом все приложения работают в некоторой среде, при этом даже не ясно (да и не нужно), где какой сервер, физический или виртуальный. Именно потому такая инфраструктура называется облачной. На рынке есть достаточная конкуренция — например, самый известный и часто используемый сервис, это инфраструктура от Amazon, которая включает несколько приложений для хранения и передачи данных (оплата производится как за траффик, так и за процессорное время).

Но в этих предложениях мы ограничены в применяемых языках, например, Google позволяет работать только с Python, при этом часто слышно об ограничениях, которые накладываются платформой и сковывают разработчиков (по крайней мере опытных). По слухам (пока не подтвержденным), Google предоставит в будущем дополнительные возможности в плане выбора языка разработки, и все ожидают, что это будет либо Ruby, либо PHP.

А ведь мир не ограничен только этими платформами (имеется ввиду, Google и Amazon). И одна из таких платформ создается буквально у нас на глазах!
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 32

Information

Rating
Does not participate
Location
Новосибирская обл., Россия
Date of birth
Registered
Activity