Pull to refresh
11
0
rsboarder @rsboarder

User

Send message

Top 5 раздражающих моментов в работе программиста

Reading time4 min
Views194K
В процессе работы, будучи программистом, в разные периоды я не раз сталкивался с рядом проблем. Во многом из-за непонимания клиентами и руководителями работы программиста. Хочется собрать наиболее раздражающие моменты, которые делают работу невыносимой и портят все удовольствие, и объяснения начинающим менеджерам на доступном языке, как не быть в глазах разработчика обузой.

1. А сколько займет сделать этот раздел (дается ТЗ из одной строки)?

Как правило, отвлекают от работы вопросом, сбивают с потока. Просят назвать срок, когда неизвестна ни задача, ни требования, только одно предложение. И так настойчиво, что, чтобы отвалили, называешь прикидочный срок.

Менеджеру: поймите, что программист строит в голове модель будущей системы. По одному предложению нельзя смоделировать приложение. И только ваша вина, если вы не потрудились уточнить ТЗ (это ваша работа, кстати) у заказчика, а хотите сразу назвать ему срок (и цену). Потому что оценка с потолка невозможна — вроде как ответить на вопрос «сколько времени займет покрасить комнату неизвестной площади?».

2. Ты же ОБЕЩАЛ сделать за два дня, а прошла неделя! (моют мозг по сроку из пункта 1)

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

Менеджеру: ничто так не демотивирует, как обвинение в некомпетентности и лжи. Постарайтесь давать точное ТЗ и бить задачу на простые кусочки, в чем программист с удовольствием поможет (если хорошо попросить). Тогда можно будет более точно управлять сроками.
Читать дальше →
Total votes 195: ↑159 and ↓36+123
Comments203

Самостоятельный апгрейд Macbook pro (mid 2010)

Reading time4 min
Views78K
Macbook proСлучилось мне опрокинуть свой макбук с двух метровой высоты прямо ребром об асфальт, причем именно той стороной, с которой расположен жесткий диск — разумеется по непонятным мне причинам ноут стал жутко тормозить. Изначально я не придал этому особого значения, так как это был первый Мак в моей жизни, и я не знал, как они должны работать на самом деле. «Ну притормаживается, и что, тоже мне проблема» думалось мне до тех пор, пока не увидел как работает Макбук у моего друга. Причем у него-то белый пластиковый прошлого поколения, а у меня хваленый i7 с 4 гигами оперативки. Тут-то до жирафа и дошло, то что-то тут не так и надо бы его отвезти питомца в сервис центр.
Обследование показало, что диск убит неплохо (думаю никого не удивлю тем фактом, что от удара головки поцарапали диск) и как он вообще все это время работал сервис-техника немного удивило. Мне поставили новый хард на 750 гигов, а я технику поведал о том, как не замечал тормозов и т.д. Коснувшись темы производительности он спросил меня, а почему мол не выжимаю из системы максимум? "– Проц хороший, ноут не древний, можно было бы в пару раз производительность-то поднять, а?" Я призадумался…
Читать дальше →
Total votes 3: ↑2 and ↓1+1
Comments11

Мобильная связь до 50% дешевле?! Реальность

Reading time5 min
Views8.9K
image

Приветствую.
Я хочу рассказать как можно сэкономить до 50% на мобильной связи. Не используя гиковских средств. Вроде скайпа.

Предисловие

Мало кто знает, что операторы сотовой связи получают колоссальный процент дохода от тех, кто однажды купил сим-карту-вставил и звонит. Это происходит потому, что купив тариф с завлекательной надписью или по совету консультанта чаще всего мы не задумываемся о том, что идет время, у операторов выходят все новые и новые предложения. И на старых тарифах цена поднимается.
Операторы специально повышают цены на старых тарифах. Мотивируя это тем, чтобы пользователи переходили на новые тарифы и не засиживались на старых. Но в реальности, мало кто следит за изменениями в тарифах. В обществе укоренено мнение, что раз написано в бумажке 2 рубля минута, значит так будет всегда. На самом деле всё иначе. Операторы попросту наживаются на абонентах. И придраться к ним трудно, ведь все для нас, для нашего блага.
К сожалению, действительно выгодные старые тарифы остались только у корпоративных пользователей — подключение к таким тарифам возможно только на сером рынке. Для нас же обычных обывателей идет постоянное повышение цен.

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

Главное начать!
Хочу сэкономить
Total votes 237: ↑140 and ↓97+43
Comments177

Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность

Reading time6 min
Views405K

Введение


Часто люди приобретают цифровые зеркальные камеры в погоне за качеством снимков, но при этом не имеют представления о технических моментах съемки. В основном это касается тех, кто до зеркалки держал в руках исключительно компактные фотоаппараты и пользовался автоматическими режимами (которые, к слову, весьма продвинутые в современных камерах).

В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.

Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Читать дальше →
Total votes 272: ↑232 and ↓40+192
Comments378

Полтора месяца с iPad’ом, впечатления

Reading time7 min
Views3.8K
Приблизительно полтора месяца назад, мне в руки, наконец, передали заветную коробку из плотного картона, в которой покоилось новое, революционное устройство, которое одни специалисты окрестили «разжиревшей фоторамкой», вторые «стоящим девайсом». Мнение вторых для меня было весомей, да и давно хотелось потратить деньги на какую-нибудь модную железку.

image

В этой статье я опишу свои впечатления от работы, за последние полтора месяца. Сразу скажу — фотки в статье не мои, но без них было бы тяжело читать.
Читать дальше →
Total votes 424: ↑282 and ↓142+140
Comments477

SpyderCube — кубик, который изменит вашу жизнь

Reading time5 min
Views6.8K


Каждый, кто разок держал в руках хоть немного профессиональный фотоаппарат слышал о балансе белого (цвета). А те, кто занимаются фотоделом серьезно- и подавно!..
Наверняка, вы иногда видели желтоватые или красноватые фотки. Это как раз и зависит от баланса белого. И, чтобы изображение выглядела также, как объект Вашей съемки, надо точно его настроить. Для этого и был создан следующий девайс. (под катом большие фотки)

Что это такое и что с ним делать
Total votes 119: ↑108 and ↓11+97
Comments82

Спать мало, но правильно?

Reading time7 min
Views897K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

Про jQuery и велосипеды — мое дополнение

Reading time6 min
Views64K
Сразу спешу сообщить вам, что я никоим образом не связан с автором предыдущей статьи. Однако, прочитав ее и увидев такой положительный отклик сообщества на статью, я тоже вдохновился и решил добавить немного своих наблюдений и знаний, к тому же это может послужить моей входной точкой в круги хабрасообщества.

Для затравки начнем с простого.
Читать дальше →
Total votes 242: ↑230 and ↓12+218
Comments126

Обфускация JavaScript

Reading time5 min
Views195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Total votes 171: ↑165 and ↓6+159
Comments85

Обновление информации в фоне

Reading time2 min
Views12K
Всем добрый день.

Недавно я задумался надо вопросом фонового обновления информации и мне пришла в голову одна идея.

Суть задачи — мы находимся на странице списка новостей. Необходимо обновлять список по мере поступления новых новостей. Серверный язык PHP
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments60

Всесторонняя оптимизация сайта на WordPress

Reading time8 min
Views57K
Уважаемые жители Хабра!

Вашему вниманию представляется история о том, как мы оптимизировали свой сайт. Сайт работает на движке Wordpress (на этой фразе большинство читателей должны поморщиться, зная, как обстоят дела у WordPress со скоростью). Однако все-таки у нас получилось, и сайт стал летать. Сразу скажу, что меня вряд ли можно считать профессионалом по серверной оптимизации, однако то, чего удалось достичь, меня сильно радует. Также, был получен бесценный опыт, которым я хочу поделиться с читателями Хабра.
Читать дальше →
Total votes 96: ↑90 and ↓6+84
Comments31

LESS: программируемый язык стилей

Reading time13 min
Views428K
Я не люблю CSS. Он простой и понятный. Это движущая сила Интернета, но он слишком ограниченный и им трудно управлять. Пришло время привести этот язык в порядок и сделать его более полезным, используя динамический CSS при помощи LESS.
Объясню свою позицию на примере. Почему бы вместо использования #FF9F94 для получения темно-персикового цвета просто не хранить значение этого цвета в переменной для её последующего использования? Что бы перекрасить сайт достаточно будет изменить значение переменной всего в одном месте и всё.
Другими словами: это будет очень изящно, если мы будем использовать немного программирования и логики в CSS, что бы сделать его более мощным инструментом. Хорошо, что это всё возможно с использованием LESS.
Так что же такое LESS?
Total votes 161: ↑147 and ↓14+133
Comments136

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views378K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →
Total votes 236: ↑219 and ↓17+202
Comments182

css Rotate. Возможен и в IE

Reading time2 min
Views14K
Буду краток.
css свойство transform:rotate в ИЕ не доступно.
Но все знают что есть фильтр progid:DXImageTransform.Microsoft.Matrix, который конечно поворачивает изображение. Но скажем так не совсем правильно.
99% статей про использование этого фильтра содержат примерно такую фразу.
filter: матрица трансформации
left:?
right:?
*ps: left и right находятся эмпирически

На самом деле это не так.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments30

Создаем оригинальные hover-эффекты при помощи CSS3

Reading time10 min
Views108K


Мощь CSS3 огромна и в этом уроке вы сможете увидеть, как использовать его креативно. Мы собираемся создать несколько эффектов при наведении курсора мыши с помощью CSS3 transitions. При наведении курсора на эскиз будет показываться описание миниатюр, с использованием различных стилей в каждом примере.

Пожалуйста, обратите внимание, что эти примеры будут корректно работать только в современных браузерах, которые поддерживают свойства CSS3.
Читать дальше →
Total votes 198: ↑186 and ↓12+174
Comments47

Javascript наследование для чайников

Reading time6 min
Views68K
Прочитав очередную умную книжку про javascript, стал разбираться в методах реализации в нём наследования. Ну, то есть всем конечно понятно, что в реальном, большом, проекте лучше всего для этого использовать функцию из какой-нибудь библиотеки( благо их много ), но ведь хочется понять, как это вообще работает.

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

Читать дальше →
Total votes 65: ↑52 and ↓13+39
Comments85

Анимация меню при помощи CSS3

Reading time8 min
Views37K


В данной статье я хотел бы показать вам некоторые приёмы создания эффектов при помощи CSS3 на примере меню. Идея заключается в простой композиции элементов: иконки, основного названия и вторичного названия, которое будет анимировано при наведении курсора, используя только CSS-переходы и CSS-анимацию. Мы рассмотрим несколько различных эффектов для элементов.
Читать дальше →
Total votes 195: ↑188 and ↓7+181
Comments49

Обзор потребностей заказчиков сайтов

Reading time7 min
Views14K
Цель обзора — упорядочить представления о рынке веб-разработки. Упорядоченные представления о потребностях позволят в дальнейшем выбрать подходящую нишу для своей разработки и определить конкурентные преимущества нового продукта или веб-ресурса. Обзор может быть полезен разработчикам, которые выпускают на рынок новые решения или начинающим веб-студиям, так как в условиях высокой конкуренции необходимо выявить не охваченные потребности заказчиков (или создать такие потребности) и закрепиться на рынке. Точка зрения «Заказчик» обусловлена необходимостью в первую очередь решать задачи заказчика.
Читать дальше →
Total votes 69: ↑56 and ↓13+43
Comments27

JavaScript F.A.Q: Часть 1

Reading time15 min
Views73K
image

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →
Total votes 232: ↑227 and ↓5+222
Comments50

Information

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