Pull to refresh
26
0
Send message

Личность программиста

Reading time5 min
Views37K
«Чтобы стать экспертом в практической или научной области, нужны огромный труд и долгое время. Если человек добросовестно трудится каждый час рабочего дня, когда-нибудь он проснется одним из самых компетенткых специалистов своего поколения.»
Ульям Джеймс


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

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

В этой статье попытаемся ответить на вопрос, какими же качествами должен обладать человек для того, чтобы писать совершенный код.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments15

Чем изучение Haskell/Python вредит программисту

Reading time5 min
Views28K
От переводчика:

На этот перевод меня толкнула очередная ситуация «мозгового ступора» при написании банального кода на C++/C#: я часами смотрел на уродливый код, но не мог сделать его по-настоящему лучше; мне пришлось просто принять то, что уродливым его видел только я один, и это была моя проблема, а не проблема в коде или языке. Я вспомнил те времена, когда такого со мной не было — а заодно вспомнил и эту старую статью, автор которой пострадал так же, как и я, при этом хорошо написав об этом.


Я обнаружил, что изучение Python и Haskell не улучшило меня как программиста на других языках (что противоречит тому, что иногда пишут об этом). В частности, Haskell — являясь настолько непохожим на императивные языки — по идее, должен был дать мне просветление в программировании, которое помогало бы мне даже без использования какого-либо языка вообще. Мой текущий опыт не совсем соответствует этому, и вот, почему:
Читать дальше →
Total votes 94: ↑85 and ↓9+76
Comments222

Создание программ для Mac OS X. Часть 1: вступление и Objective-C

Reading time10 min
Views73K

Вступление


Я думаю все слышали про Mac OS X как операционную систему для дизайнеров и домохозяек. Но хочется рассказать про средства разработки для OS X, а то хорошие программы пишут, а на чем — никто не знает.

Сразу скажу, что не буду рассказывать про кроссплатформенные фреймворки и тулкиты(такие как Qt) или про создание консольных приложений, я расскажу про то, что в плане создания приложений отличает Mac OS X от других операционных систем, а именно — фреймворк Cocoa. Оговорюсь сразу, что буду стараться избегать сравнений с другими фреймворками, я хочу просто рассказать про Cocoa.
Читать дальше →
Total votes 96: ↑90 and ↓6+84
Comments91

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views179K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23+265
Comments208

Анализируем загрузку веб-страницы

Reading time1 min
Views2.1K
Ниже перевод статьи «Optimizing Page Load Time», в которой автор математически рассчитывает оптимальный размер файлов для эффективной передачи при веб-запросах, рассматривает некоторые прикладные вопросы оптимизации загрузки страницы с учетом особенностей браузеров, а также дает несколько развернутых и ценных советов. Мои комментарии далее курсивом.

Существует распространенное мнение, что быстро загружающая страница положительно влияет на впечатление пользователя (improve the user experience). В последние годы многие сайты начали использовать для этой цели технологию AJAX, чтобы уменьшить время ожидания (при загрузке данных). Вместо того, что запрашивать с сервера новую страницу полностью при каждом клике, браузер часто можно либо поменять вид самой страницы (отобразив или скрыв какие-либо блоки), либо подгрузить небольшую порцию HTML-, XML- или JavaScript-кода и внести изменения на существующую страницу. В любом случае, это значительно уменьшает время, проходящее между кликом пользователя и окончанием визуализации браузером нового содержания.

Что влияет на загрузку страницы?



Однако, для большинства сайтов, загрузка страницы затрагивает десятки внешних объектов, основное время загрузки тратится на различные HTTP-запросы картинок, JavaScript-файлов и файлов стилей. AJAX, возможно, поможет в данной ситуации, но ускорение или удаление этих HTTP-запросов может принести гораздо больше пользы, хотя на данный момент нет единого мнения (a common body of knowledge), как именно это следует делать.

читать дальше на webo.in →
Total votes 60: ↑57 and ↓3+54
Comments49

Оформление рабочего места.

Reading time1 min
Views10K
В прошлом году я побывал на конференции CG Event-2007.

Признаться, меня больше всего порадовал доклад компании Pixar, а именно та часть, в которой говорилось про оформление рабочего места у каждого из работников компании.
У каждого специалиста компании место было оформлено настолько индивидуально, то в виде сказочного домика, то в виде грота или бара.

Честно сказать, я не знаю, как это влияет на производительность труда.

Недавно во время работы над одним заказом я второй раз серьезно задумался над тем, что оформление интерьера существенно для работы и отдыха. Меня особенно порадовало нехитрое, но очень приятное оформление детской комнатки:


Поэтому у меня есть идея некоего обсуждения и показа своих рабочих мест. Вот мое:


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

А как у Вас?
Total votes 41: ↑27 and ↓14+13
Comments406

TextMate средствами gedit

Reading time3 min
Views7.1K


Так вышло, что в офисе я работаю за Маком, а вот ноут — «17 MacBook Pro — не самый лучший, на мой взгляд, вариант в разрезе производительность/цена. Anyway, это тема другого разговора. Ноут под Ubuntu.
А теперь вопрос: если кодить на Ruby/RoR — кто ваш лучший ТекстовыйПриятель? Все верно, Textmate — Великий Фетиш и Идол всех программистов на Ruby под Mac. Итак задача была предельно проста — найти инструмент под Linux, максимально приближенный к Textmate по тому объему функционала который я использую в работе.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments120

markItUp! легкий редактор на JavaScript

Reading time1 min
Views4.3K


markItUp! это «легкий» редактор для jQuery. Это не WYSIWYG редактор и никогда им не будет. Вся «соль» этого редактора в том, что можно настроить его для использования с любыми средствами подсветки. BBCode, Markdown, Wiki синтаксис, Textile и конечно же HTML.

Особенности:
— Легкая интеграция
— Поддержка «горячих» клавиш
— Панель управления легко настраивается
— Легко изменяется и настраивается
— Просмотр результатов через AJAX
— Настраиваемый внешний вид

Примеры использования
Домашняя страница
Total votes 44: ↑41 and ↓3+38
Comments47

Чем хорошо работать по ночам

Reading time1 min
Views12K
Хорошо и счастливо работается только тогда, когда работа заливает сознание. Я люблю писать по ночам, потому что ночью теряется рассеивающее ощущение движения времени. Днем только в самых редких случаях удается достигнуть этой окаменелости, глубокого безразличия к окружающему. День весь расчленен; он измеряется и управляется дробными величинами часов; причем каждый час имеет свою характеристику, настойчиво поддерживающую дробление. Одни часы ассоциативно связаны с профессиональными обязанностями, другие — с обедом (это сильное членение, дающее особую окраску часам предобеденным и послеобеденным), иные — с отдыхом. Словом, день очень заземлен, его этапы предназначены регулировать суету и не способствуют высокому оцепенению. Дневные часы наказывают нас отвратительным ощущением бестолковости, если мы нарушаем и смешиваем их функции; два часа дня и четыре часа — очень разные вещи. Два часа и четыре часа ночи — почти одно и то же. Все ночные часы в равной мере предназначены для сна; сон же представляется нам скорее потребностью, чем обязанностью. Пересилив эту потребность, мы чувствуем себя вправе искажать лицо ночи по нашему усмотрению. Ночные часы лишены индивидуальных признаков. Время не продвигается толчками, но сливается в поток, протекание которого неощутимо.

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

© Лидия Гинзбург
Total votes 79: ↑75 and ↓4+71
Comments76
2

Information

Rating
Does not participate
Location
Швеция
Date of birth
Registered
Activity