Pull to refresh
16
0
Max Yemets @myem

User

Send message

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

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

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

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

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

Профессиональный программист: ремесленник или художник?

Reading time2 min
Views3.1K

В начале расскажу небольшую предисторию, которая подвигла меня написать этот топик.

В один прекрасный момент я почувствовал, что программирование (на работе) перестало приносить мне былое удовольствие. Данный кризис я могу отнести к тому, что стал заниматься новыми задачами не по разработке, а по поддержке проектов. Задачи стали рутинными и не интересными: вставь check box в ui, посмотри и запусти проект, подготовь список вопросов, добавь scroll bar в окошко и т.д. Вдвойне неприятен тот факт, что я знаю, как улучшить систему (существующая ооочень далека от идеала, что бы это понять, достаточно посмотреть на такой участок кода (java): String molStr = new String(""). И это только цветочки =), но мне это не дают делать по причине того, что «заказчик буде не доволен». Проекты сделаны с использованием устаревших технологий (Java 1.4, WL 8.1, всё остальное в том же духе), но новые возможности просто игнорируются: «нет времени, мы и так не успеваем». Рефакторинг не проводится (хотя проекты в нём отчаянно нуждаются), связанность (coupling) классов велика, а связность (cohesion) низка, но никого этот факт не беспокоит, про производительность даже и говорить не буду… По прошествию некоторого времени стало казаться, что идёт попытка улучшить огромный антипаттерн.

На все мои свои замечания по этому поводу, я получал примерно следующий ответ: «Очень хорошо, что ты это заметил, но сейчас времени на исправления нет, но, возможно, в будущем мы это поправим». Но ожидаемый момент будущего всё никак не наступает…
Высказав всё накипевшее во мне начальнику, я получил ответ «Будь профессионалом!».

Тут я понял, у нас с начальником большой разрыв в понимании смысла этого слова. Вот какое объяснение этого термина я нашёл в словаре Ожегова: «Профессионал – человек, занимающийся чем-нибудь, как профессией (в отличие от любителя)», «Профессия – основной род занятий, трудовой деятельности», «1. Человек, который имеет склонность, пристрастие к чему-нибудь. 2. Тот, кто занимается чем-нибудь в свободное время, не как профессионал».

Мне кажется, что программист это скорее профессионал-любитель (в 1ом значении этого термина), похожее мнение я вычитал в книге Роберта Гласса «Креативное программирование». Начальник считает, что программирование это лишь средство зарабатывания денег, хотя для меня это нечто большее («Ты живёшь в каком-то идеальном мире»).

Хотелось бы услышать Ваше мнение на этот счёт? Что такое программирование: искусство или ремесло?

P.S. Мне кажется, что хоть программирование это мой хлеб, возможность заработать, но нельзя садиться писать код без творческого подхода.

Эффективный способ повысить умственную работоспособность

Reading time13 min
Views222K
В прошлой заметке я писал о том, чего не стоит делать, если у вас проблемы с работоспособностью. В этой части я расскажу об эффективном способе, не требующем медикаментов. Медикаменты — это только поддержка, дополнение. Но способ этот требует организованности и силы воли, а потому так нелюбим большинством из нас.
Читать дальше →

Где наша бизнес-логика, сынок?

Reading time18 min
Views84K
Спасибо небу за то, что в субботу шел дождь, и я это прочитал (а вы скажите спасибо за то, что перевел). В воскресенье, однако, светило солнце и форматирование текста было отложено.

Отдельное спасибо автору, за разрешение отдельной публикации.

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

не поддайся темной стороне силы usernаme

Из записной книжки Мистера Томпкинса

Reading time10 min
Views18K
Мистер Томпкинс — человек уже довольно приличного возраста. Первое знакомство с ним состоялось в далеком 1938 году, когда физик и одессит Георгий Антонович Гамов опубликовал в Британском журнале Discovery серию рассказов о человеке, который в своих снах попадал в альтернативные миры, где значения физических констант радикально отличаются от значений оных в реальном мире, что приводит к совершенно неожиданным результатам. Так Гамов популярно объяснял концепции современной физики неискушенному читателю. Незадачиливым же соней был тот самый Мистер Томпкинс.

Практически 60 лет спустя Том ДеМарко решил поделиться свой безграничной мудростью и в столь же популярной форме преподнести идеи из Peopleware, написанной в соавторстве с Тимоти Листером. Итогом стал "Роман об управлении проектами", в котором наш старый знакомый Мистер Томпкинс похищается сексапильной брюнеткой Лаксой Хулигэн и увозится в загадочную страну Моровию, где ему представляется возможность провести настоящий эксперимент по управлению проектами разработки программного обеспечения…

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

Привычка не думать

Reading time1 min
Views6K
Thinking.png

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

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

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

Шрифты, общие для всех (актуальных) версий Windows, и их Mac-эквиваленты

Reading time3 min
Views357K

Введение


В данном списке перечислены шрифты, общие для всех актуальных на данный момент операционных систем Windows (фактически начиная с Windows 98), и их эквиваленты в Mac OS. Такие шрифты иногда называют «безопасными шрифтами для браузеров» (browser safe fonts). Это небольшой справочник, которым я пользуюсь, когда делаю Web-страницы и думаю, что он будет полезен и Вам.
Читать дальше →

Gopher, вы слышали это слово?

Reading time3 min
Views17K

Gopher


«To Gopher, the world is just one big file system»

Gopher — один из протоколов интернета, был популярен в начале 1990-х, впоследствии его роль уменьшилась. В основном с повсеместным развитием WWW. Ошибочно считается (а именно так написано в русской и английской википедии), что протоколы Gopher и HTTP были своего рода конкурентами, это и привело к уменьшению доли одного и увеличению другого. Нет, изначально Gopher был разработан для своеобразной замены FTP, протокола, который был разрабтан еще в 1960-х годах.
Читать дальше →

Звуки при событиях — это просто

Reading time3 min
Views2.2K
Современные проекты всё больше и больше персонализируются. Один из последних проектов предполагал постоянное присутствие пользователя на сайте. Пользователь является диспетчером и отслеживает появление новых заказов, участвует в аукционах итп. Помимо уже стандартных SMS уведомлений итп, хотелось сделать звук, т.к. пользователи действительно постоянно находятся на проекте. Самым простым способом показался флеш. Флеш уже есть почти у всех, все смотрят ютуб, играют в фермера и так далее. И не смотря на мои антифлешевские взгляды, решил что для проигрывания звука флеш подходит лучше всего.
Однако при попытке написать флешку для проигрывания звуков я вдруг вспомнил, что не работал с флешем уже лет 5 =( и вместо того, чтобы написать свой компонент, стал искать готовые…
Читать дальше →

Smarty в управляемой представлениями модели

Reading time4 min
Views2.9K
Обычно шаблонизатор Smarty применяется так: вы пишете код, который создаёт набор данных для шаблона, отдаёте вместе с названием шаблона смарти и тот «соединяет бренды», выводя в браузер результат.

Это так называемая модель с ведущими контроллерами. То есть контроллер полностью отвечает за то, что получил шаблонизатор и вообще командует всем.

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

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

Capifony. Или деплоим symfony проект через Capistrano

Reading time4 min
Views7.9K
Я уже год программирую на PHP с использованием symfony framework и нахожу в этом истинное удовольствие. Однако, есть некоторые процессы разработки сайта, которые данный фрэймворк не полностью покрывает, да и не обязан =)
Одним из таких процессов является деплоймент или разворачивание и обновление проекта на рабочем сервере. Для выполнения подобной рутинной операции было написано множество скриптов и одним из самых популярных является Capistrano. Он чрезвычайно прост в освоении, совершенен функционально и крайне гибок в настройке, однако, из коробки заточен под деплой RoR приложений, для чего собственно и создавался.
Сегодня я постараюсь вам рассказать как использовать Capistrano для деплоймента symfony проектов.
поехали

конфигурация модуля

Reading time2 min
Views909
Дано: ZF1.9.1;
2 модуля — default и admin: default лежит в /application, admin — в /application/modules/admin
есть единый конфиг — /application/config/application.ini
Если добавить в него строку (?)
admin.resources.layout.layout = admin
то модуль admin продолжает подгружать layout по умолчанию, если же добавить другую строчку:
resources.layout.layout = admin
то layout меняется, но для всего сайта.

Если создать Admin_Bootstrap — то в первом случае layout меняется для всего сайта.

Внимание вопрос: как корректно добавлять модуль-ориентированные настройки?

UPD: под катом решение для подгрузки плагинов (в виде простенького плагина)
Читать дальше →

А нужен ли офис для стартапа? / Где начинались 14 ведущих интернет сервисов

Reading time4 min
Views1.2K
Сегодня я решил показать всем где были рождены 14 моих любимых ведущих интернет сервисов. Просто хочу показать вам, что не надо красивого и офиса и всего такого для начала своего дела. Большое число людей начинало со студенческой комнаты и спальни с простым ноутбуком в руках.

Некоторые изображения, которые вы здесь увидите, немного сомнительны, но помните, 11 лет назад у нас не было навороченных цифровых фотоаппаратов, которые у нас есть сегодня.

Итак:

1) Facebook


Основатель: Марк Цукенберг (Mark Zuckerberg)
Место основания: в его студенческой комнате в Гарварде.
Сайт: http://facebook.com
Своему рождению Facebook обязан страсти к программированию Марка.
Он появился в центре внимания когда он отклонил предложение от Yahoo на 1 миллион долларов. Позже он всё таки согласился на 240-миллионное предложение, дающее Microsoft 1.6% кусок в Facebook, цена которого возросла до 15 миллиардов долларов.

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

Легковесные веб-приложения на Ruby

Reading time5 min
Views8.8K

Быстрая разработка


Вдохновленный постами на западных блогах вроде «Clone TinyURL with 40 lines of Ruby» или «Clone Pastie in 15 Minutes with Sinatra & DataMapper» я решил попробовать пройти и заодно описать весь процесс реализации легковесного веб-приложения на руби, от проектирования до деплоймента.

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

Партиционирование таблиц в mySQL

Reading time4 min
Views188K
Начиная с версии 5.1 mySQL поддерживает горизонтальное партицирование таблиц. Что это такое? Партиционирование (partitioning) — это разбиение больших таблиц на логические части по выбранным критериям.. На нижнем уровне для myISAM таблиц, это физически разные файлы, по 3 на каждую партицию (описание таблицы, файл индексов, файл данных). Для innoDB таблиц в конфигурации по умолчанию – разные пространства таблиц в файлах innoDB (не забываем, что innoDB позволяет настраивать индивидуальные хранилища на уровне баз данных или даже конкретных таблиц).

Как это выглядит?

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

Новые проблемы верстальщиков

Reading time2 min
Views3.2K
На фоне мечтаний об исчезновении с десктопов одного известного всем браузера хотел бы рассказать вам о проблеме, с которой недавно столкнулся и которую пока не знаю как решить.

С какой же?

Ускоряем запуск браузера FireFox

Reading time2 min
Views36K
Ещё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.

И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
Читать дальше →

Вышел Expression Web 3 + SuperPreview

Reading time1 min
Views1.6K
Наконец-то, после появления Blend 3 RC, стал доступен Expression Web 3 Trial. Все бы ничего, но вместе с Expression Web 3 идет инструмент SuperPreview, который меняет представление о тестировании разметки в браузерах. Ранее уже писалось об этом инструменте, но он был доступен только для браузеров Internet Explorer. Теперь же появилась полноценная поддержка Firefox (и последних версий тоже).

image

На скриншоте вы видите работу инструмента: сайт habrahabr для примера. Сравнивается разметка, эталлоном выбран Firefox, на стороне рендеринга IE8 отображается отклонение выбранного элемента разметки. Сравнивать можно с загружаемым исходным изображением, а не только результатом работы браузера.

Поддерживаются браузеры Firefox и IE. В скором времени будет добавлена поддержка Safari. Expression Web — это платное ПО с триалом на 60 дней.

PS: это очень удобно!
PS: в комментариях сообщили что вышла вся линейка Expression! Скачать всю студию разом можно тут www.microsoft.com/expression/try-it/Default.aspx?filter=studio3

Организация среды веб-разработки

Reading time4 min
Views5.9K
Продуктивность коллектива веб-студии напрямую зависит от удобства среды разработки. У нас сложилась стройная система организации работы с проектами, включающая в себя набор таких неотъемлемых компонентов, как IDE, SCM, PM-система, багтрекер и development-сервер. Этим постом я бы хотел начать цикл статей, посвященных настройке и использованию этих компонентов в нашей студии.

В первой части я расскажу о самом основном — среде разработки (о том, как мы организовали совместный доступ к проектам).

Идеи

  1. Среда разработки должна быть единой для всех сайтов.
  2. Девелоперы не должны тратить время на настройку каждый своей серверной части.
  3. Работает ли над проектом один человек или несколько — контроль версий необходим.
  4. Если рабочий каталог (IDE workspace) находится на сервере, то можно поработать и дома, не тратя время на повторную настройку окружения на домашнем десктопе или ноуте.

Концепция и реализация

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity