Search
Write a publication
Pull to refresh
43
0
Артур @arty87

User

Send message

Как написать книгу и не сойти с ума

Reading time4 min
Views4.6K
Помните тот старый пост, в котором я рассказывал о том, что пишу книгу “Секреты приложений Google”? Права народная мудрость: скоро сказывается только сказка. Тем не менее, в июне этого года, спустя 440 дней после того, как файл “Секреты приложений” появился на моем рабочем столе, книга увидела свет. Мне кажется правильной идея подводить итоги своих проектов и делиться с окружающими тем, что получилось, а что пошло не так, как ожидалось. Компания, в которой я когда-то работал, называла эту практику “Lessons learned”, на Западе такую штуку все чаще зовут “Project post mortem review”, а на русском языке это просто-напросто “Разбор полетов”.

image

Читать дальше →

Обзор свежих материалов, октябрь 2010

Reading time5 min
Views852
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрельмай-июньиюльавгуст, сентябрь.


Читать дальше →

Microsoft All-In-One Code Framework (C#, C++, VB.NET)

Reading time1 min
Views2.1K
В связи с недавним выходом новой версии этой «библиотеки знаний», и в связи с отсутствием новостной поддержки на Хабрахабре, заполняю этот пробел. Итак если вы:
  • Долго искали примеры реализации той или иной части API Windows и не могли найти
  • Хотите чтобы у вас на жестком диске было обширное количество работающих примеров
  • Если вы программируете на C#, C++ или VB.NET
  • Хотите чтобы для вас написали примеры работающего кода представители Microsoft MSDN Team

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

«От хорошего к великому» — книга, которую обязательно стоит прочесть. (в цитатах) — ЧАСТЬ 1

Reading time4 min
Views72K
imageМоя прошлая статья «Обнаженный бизнес» Ричарда Брэнсона (в цитатах), похоже многим была интересна. Что же, не будем останавливаться?

Сегодня несколько слов о книге Джима Коллинза «От хорошего к великому». Это пожалуй, лучшая книга по бизнесу, среди всех, которые я читал. Она по-настоящему заслуживает права быть настольной. В какой то степени она даже не только о бизнесе. Не только о том, как построить успешную стабильную компанию, как набирать персонал или управлять проектами. Прежде всего она открывает глаза. Как на бизнес, так и на жизнь.

Я прочел эту книгу 2 раза. Второй раз (теперь, как всегда) — с маркером, выделяя цитаты. Рад ими поделиться. Уверен, тем кто знаком с книгой, будет интересно и полезно прочесть эти мысли еще раз. А те, кто книгу еще не читал, скорее всего убедятся в том, что это обязательно стоит сделать.

***

Мы тщательно изучили и просеяли компании, которые входили в список Fortune 500 c 1965 по 1999 год. И определили те компании, которым удалось осуществить переход от хороших результатов к выдающимся и сохранять эти высокие результаты в течение, по крайней мере, 15 лет. Затем мы проанализировали те факторы, которые позволили это сделать.

Читать дальше →

Эволюция юнит-теста

Reading time5 min
Views27K
Много слов сказано о том, как правильно писать юнит-тесты, и вообще о пользе TDD. Потом ещё и какое-то BDD замаячило на горизонте. Приходится разбираться, что из них лучше и между ними какая разница. Может, это и есть причина, почему большинство разработчиков решили не заморачиваться и до сих пор не используют ни того, ни другого?

Коротко: BDD — это дальнейшее развитие идей TDD, стало быть, его и надо использовать. А разницу между TDD и BDD я попробую объяснить на простом примере.

Рассмотрим 3 ревизии одного юнит-теста, который я нашёл в одном реальном проекте.

Попытка номер №1


Первая версия этого юнит-теста была такой:
Читать дальше →

Почему я работаю на почасовой оплате

Reading time3 min
Views24K
Перевод статьи молодого греческого программиста «Why I bill hourly»

Недавно ко мне обратился мой первый потенциальный клиент, который хотел добавить несколько возможностей в небольшое приложение на Django. Я огласил свою часовую ставку, чем крайне его шокировал — он-то хотел услышать фиксированную цену за нужные ему доработки. Что из этого получилось? Мы работаем вместе, он очень доволен как результатами, так и суммами, которые он на них тратит, а я не поступился своими принципами оплаты. Вот аргументы, которые я использовал в защиту мнения о том, почему почасовая ставка лучше для всех заинтересованных сторон — может быть, они помогут кому-то еще.

Я люблю сравнивать разработку программного обеспечения с возведением здания, начиная с пустого земельного участка. Процесс выглядит примерно так:

Клиент: Вот участок, на котором мы будем строиться. Вот наброски того, что мы хотим построить. Можете назвать точную стоимость постройки?

Любой инженер-строитель шарахнется от такого предложения, программисты же в своей жажде заключить сделку прикинут смету, удвоят ее, добавят 30% и будут надеяться на лучшее. Как отвечаю на такой вопрос я?

Читать дальше →

Опубликованы новые материалы по WPF

Reading time2 min
Views3.9K
image

Коллеги,

Мы рады сообщить, что сегодня обновили центр по .Net Framework на MSDN, который теперь содержит много новых материалов о Windows Presentation Foundation на русском языке. Windows Presentation Foundation (WPF) ― это система следующего поколения для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. С помощью WPF можно создавать широкий спектр как автономных, так и размещенных в браузере приложений. В основе WPF лежит векторная система визуализации, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF расширяет базовую систему полным набором функций разработки приложений, в том числе Язык XAML (Extensible Application Markup Language), элементами управления, привязкой данных, макетом, двухмерный- и трехмерный-графикой, анимацией, стилями, шаблонами, документами, мультимедиа, текстом и оформлением. WPF входит в состав Microsoft .NET Framework и позволяет создавать приложения, включающие другие элементы библиотеки классов .NET Framework.

Читать дальше →

Как начать программировать с использованием WPF или Silverlight: Путь обучения для новичков

Reading time4 min
Views47K
Итак, вы новичок в WPF или Silverlight и желаете знать с чего вам начать? Здесь описан мой путь изучения “Как начать с WPF и Silverlight”. Я предполагаю, что вы знаете что из себя представляют эти технологии (на высоком уровне), но не знаете как использовать их.
Читать дальше →

Обзор книги «Beginning Rails 3»

Reading time6 min
Views1.8K


С самого своего выхода третья версия этого замечательного фреймворка начала активно вытеснять вторую. Это, конечно, прекрасно, но изменений между версиями довольно много, некоторые имеют статус deprecated. А это значит, что одних только знаний второй версии для полноценного использования Rails будет недостаточно.
Именно так я рассуждал, когда начал искать литературу по третьим рельсам. Почему именно литературу, а не документацию? Потому что только осенью я обратил внимание на этот фреймворк, а учиться лучше всё же по книгам (я так считаю). И какова же была моя радость, когда я наткнулся на сайт книги Beginning Rails 3, которая вышла в свет только в сентябре.
Читать дальше →

Покорим Ruby вместе! Капля первая

Reading time3 min
Views39K
Дабы сразу определить целевую аудиторию этого цикла заметок-статей-поучений пару слов о себе. Бывший школьник, будущий студент, в программинге толком ничего не смыслю, хотя есть пара сайтиков на готовых движках. В php-скриптах могу чего-нить лишнее удалить, изменить, но написать что-то с чистого листа — это не ко мне. Неоднократно пытался научится мастерству создания программ, но обычно тормозил как только дело доходило до ООП (видел в коде эти многочисленные классы, в пособиях всякие «объекты», «инкапсуляции» и т.п. и зависал...)

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

Так что стоит признаться, что и Ruby я знаю совсем каплю, но уверен, что и мои «капли» будут интересны некоторым индивидам, подобным мне. Я могу (и буду) часто ошибаться в каких-то понятиях, методах, но мы ведь готовы помогать друг другу? Вроде бы как Хабр — это элита ИТ, но я думаю, что местные спецы не будут против, если мы тут с начинающими ребятами немного «потусим» :)

Собственно в этой серии статей мы будем капля за каплей наполнять стаканчик знаниями о Руби, наполнять будем вместе — для меня это также станет дополнительным стимулом не бросать занятия. Надеюсь, что и вам будет интересно! Начнем?

Дальше - больше

C# для начинающих. Лекция 1 — Введение

Reading time1 min
Views85K
Топик опубликован по просьбе itdevelop, так что он будет отвечать на все ваши вопросы, а также плюсы кидать на его аккаунт. Спасибо за понимание.

Это первая лекция большого видео-курса для тех, кто хочет научиться программировать на языке С#. Поскольку это — вводная лекция, то хочу сразу предупредить, что сам процесс программирования начнется только со второй лекции. Здесь же я хочу вас познакомить с .NET Framework, чем удобна эта платформа, и как происходит перевод написанного вами кода на C# в код, понятный операционной системе.
Читать дальше →

Тестировщики, хотите знать, как положительным образом влиять на программистов?

Reading time2 min
Views3.1K
Недавно в комментариях в очередной раз попалась мне на глаза легенда про Чёрную Команду, рассказанная Томом ДеМарко в свой книге «Человеческий фактор». Книга замечательная, а легенда дурацкая. Так и хочется пожелать, чтобы ДеМарко всю жизнь пришлось работать с такими тестировщиками!

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

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

Итак, хотите знать, как положительным образом влиять на программистов?
  • Скажите программистам, что ваша главная цель – помочь им хорошо выглядеть, а затем начните в это верить. Ваша работа – не стыдить, не обвинять и не выступать в роли зла. Я не думаю, что мы имеем право даже в шутку говорить об этом, поскольку это не смешно.
  • Вы всегда являетесь носителем плохих новостей. Отдавайте себе в этом отчет, и доставляйте плохие новости с сочувствием и сдержанностью.
  • Вы тоже можете ошибаться. Относитесь скептически к своим собственным выводам.
Читать дальше →

Два подхода к тестированию производительности. Выбираем

Reading time6 min
Views7.9K
Данная статья описывает наиболее распространенные подходы к тестированию производительности приложений; пользуясь аналогиями «из жизни» и примерами из опыта автора, показывает, почему так делать нельзя; и, наконец, пытается заронить искру понимания важности нагрузочного тестирования в светлые умы разработчиков, менеджеров и прочих хороших людей.

Начнем с пары историй.

История А.

На днях разговаривал с одним программистом. Пишет он на С++, работает в крупной компании в Чикаго; софтом, к созданию которого он причастен, активно пользуются финансовые и трейдерские компании. У нас, говорит, в продукте 600 тысяч строк кода. Начиналось все с небольшого приложения для анализа биржевой статистики, и вот за 20 лет вымахал такой монстр. Здорово, говорю. Внушает уважение. И как вы его тестируете, вашего монстра? Для этого, отвечает мне программист, есть специальный индус. Он какие-то тест кейсы выполняет, отчеты пишет. А до него этим менеджер один занимался, но тот все больше ручное тестирование делал. Новые функции проверял, например. Теперь вот индус. Хорошо, продолжаю выпытывать я, это функциональное тестирование. А производительность вы как-то тестируете? Нет, говорит, если клиенты начинают жаловаться на медленную работу, мы тогда сами ищем узкие места и сами же из исправляем. Кто разрабатывает продукт, тот его и знает лучше. Какой тестер с этим справится?

Умный человек, подумал я, а говорит глупости.

Читать дальше →

Когда не нужна тригонометрия

Reading time4 min
Views54K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →

Используем NLog 2.0 в Silverlight или как я стал опенсорсником

Reading time4 min
Views5.8K
Началось все достаточно банально — с того, что мне понадобился logging в моем проекте на Silverlight.

Под «взрослым» .NET-ом я всегда пользовался NLog-ом от Ярека Ковальского. А почему не log4net, спросят многие из вас.
Все, конечно, достаточно субъективно, ну да ладно.
Читать дальше →

Big switch или жизнь после Microsoft: Почему мы сказали .NET'у нет

Reading time3 min
Views12K
До недавнего времени предано нес знамя Microsoft .NET. Восхвалял Silverlight, ASP.NET MVC и верил в чудеса. За четыре года работы c .NET стал сертифицированным разработчиком по широкому спектру
технологий: ASP.NET, WCF, WPF, ADO.NET. Однако за год существования собственного интернет агентства разочаровался в выбранном пути и обратился в другую веру.
image

В серии статей “Big switch или жизнь после Microsoft” я расскажу об опыте полученном нашей командой при переходе со стэка веб-технологий Windows + .NET на Linux + Ruby on Rails, а также приведу конкретные инструкции к применению, которые помогут на первых порах.

Начну я с 3-х причин, которые побудили нас сказать .NET'у нет.
Читать дальше →

Не откладывай на завтра то, что можно заработать сегодня

Reading time2 min
Views7.4K


Акция «100 000 кликов для 100 лучших фрилансеров» продолжается и, как обычно, 12 антрепренёров, согласившихся с нами в том что зарабатывать онлайн просто и удобно, в списке победителей.

Каждый из этих людей уже знает и умеет все, чтобы зарабатывать. В TipMeet они получили доступный инструмент, позволяющий открыть свой офис в каждом доме, в каждой квартире.

Более того, мы помогаем им в достижении этой цели. Эксперт по логистике и таможне теперь, естественно, будет давать консультации по всей России и за ее пределами, а маклер по недвижимости из Санкт-Петербурга с настоящего времени ограничен только зарядом своего мобильника, позвонить же ему можно из любой точки мира. Кстати, вас еще ни разу не проводили виртуальной экскурсией по понравившейся вам квартире?

Читать дальше →

Ликвидатор велосипедов: часть 1

Reading time3 min
Views15K
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →

Бета-тестирование лингвистического портала ABBYY Lingvo.Pro

Reading time2 min
Views11K
А вот и обещанный сюрприз :)

Компания ABBYY запускает бета-тестирование нового лингвистического портала Lingvo.Pro и приглашает вас принять в нем участие. Чем Lingvo.Pro отличается от привычного вам Lingvo Online?
Читать дальше →

Открытый конкурс для разработчиков Chrome Apps

Reading time3 min
Views944
image

Привет, Хабрасообщество!

Интерес к браузеру Google Chrome растет с каждым днем, счастливых пользователей становится все больше. Google развивает этот замечательный продукт так стремительно, что в Chrome 7 обещает увеличение скорости в 60 раз!

Однако Google Chrome — это не только милый и быстрый браузер, но еще и великолепная лаборатория для исследований и экспериментов. Уверен, многие видели невероятные возможности браузера в работе с HTML5 и Расширениями.

Недавно было объявлено о скором запуске Chrome Web Store для Chrome Apps.
Так как это тема новая, сообщество GTUG, при поддержке Google, проводит открытый конкурс по Chrome Apps. Основной информационный ресурс тут.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity