• Можно ли перенаправлять почту с произвольного адреса?

    @blinkers
    Можно реализовать и с использованием postfix :)
    читайте про recipient_bcc_maps
    Как пример, в конфиг постфикса добавляем строку
    recipient_bcc_maps = hash:/usr/local/etc/postfix/recipient_bcc
    Создаем файл /usr/local/etc/postfix/recipient_bcc
    в него пишем строку: server.com billgates@microsoft.com (перед server.com добавьте @)
    что означает перенаправлять всю почту приходящую на server.com на ящик billgates@microsoft.com
    делаем postmap /usr/local/etc/postfix/recipient_bcc и postfix reload
    Ответ написан
    Комментировать
  • Какова ваша личная продуктивность (*для веб-разработчиков)?

    mitaichik
    @mitaichik
    Я тоже периодически задаюсь этим вопросом. И вот что я надумал:

    1. Это, безусловно, опыт. Причем опыт на самых разных уровнях: знание языка и библиотек (SDK, интерфейсов, да хоть список аргументов функций). Опыт проектирования классов - раньше сидел, думал как лучше спроектировать взаимодействие классов, что где разместить и т.п, по 10 раз все переписывал. Сейчас же, прочитав книжки про паттерны, проектирование в общем - структура выстраивается сама собой (я даже не буду упоминать про важность сего при рефакторингах и т.п.). Опыт проектирования целых "подсистем" - например, если ты делал сервис тех-поддержки, или интернет-магазин, то во второй раз ты сделаешь его гораздо быстрее, у всех все примерно одинаково.

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

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

    3. Согласен с предыдущем высказыванием - это интерес. То что интересно - действительно можно пилить сутками (но не до фанатизма - это всегда боком выходит). С этой точки зрения хорошо работать в крупных компаниях - там задачи на любой лад. Мой пример из жизни - я сервреный программист, люблю все эти сложные хитросплетения серверных технологий, базы данных, очереди, шардинги и прочее, но... ненавижу фронтенд, ей богу. Не то чтобы не могу, просто очень не люблю. И последне несколько лет, работая в СПб, мне практически не приходилось сталкиваться с фронтендом, но пришлось переехать в маленький город, где с крупными компаниями проблема, устроился в одну контору фуллстек'ом, и когда въехал в проект, понял что там фронтенда очень много, и делать надо преимущественно его. Итог - просрал все сроки, подвел хороших людей, предложил уволить меня так как я им не подхожу, ну меня и уволили. Печальная история. Как вывод - занимайся тем, что нравиться.

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

    Но все-же, прежде всего опыт. Опыт работы над крупными и сложными проектами - на мелких мало чему научишься. И книги. И дисциплина - делать как надо, а не быдлокодить - ибо потом баги и рефакторинг сожрет в десть раз больше времени. В прочем, чтоб не быдлокодить, надо еще понимать "как правильно" - это опять книги. 4 месяца - это мелочь, за это время нельзя научиться хорошо программировать. Так что вот для начала - www.ozon.ru/context/detail/id/5508646 . Когда хорошо освоишься и получишь опыт - вот про паттерны www.ozon.ru/context/detail/id/20217137/. Ну а когда поработаешь над крупными проектами, и поймешь какая обычно жопа у них с бизнес логикой - то вот www.ozon.ru/context/detail/id/5497184

    На счет времени - у меня получается с головой окунаться на 4 часа, потом требуется отдохнуть час-два. Отдохнуть - не значит заниматься совсем другим, можно просто переключиться на более простую задачу, рутинную, не требующую супер-концентрации. Потом можно снова концентрироваться. Но у каждого по своему - здесь нет стандартов.

    На счет концентрации, как ее добиваться: Года 2 назад я был на Найти-ИТ, там выступал один из основателей Рексофт'а, леция называлась что то типа "Легкий путь из программиста в бизнесмене" - пожалуй, самая мудрая лекция, которую я когда-либо слышал. Он очень рекомендовал книгу "Поток" www.ozon.ru/context/detail/id/6233608/. 2 года я все хотел ее прочесть, недавно прочел - потрясающая книга. Там все ответы на твои вопросы по концентрации, и не только.

    Вот еще хорошая книга, которая затрагивает поставленные тобой вопросы - www.ozon.ru/context/detail/id/2338486
    Ответ написан
    1 комментарий
  • Как сделать проверку запросом на соответствие всем условиям?

    SELECT COUNT(right_id) FROM `prs_rights_forum` WHERE category_id=1 AND right_id NOT IN 
        (SELECT right_id FROM `prs_rights_users` WHERE user_id=2)

    Вернет количество прав, которых не хватает пользователю с user_id=2 для доступа к разделу category_id=1. Если возвращает 0, значит пользователя можно пускать.

    Если вместо COUNT(right_id) выбирать right_id, то получится список прав, которых не хватает пользователю.
    Ответ написан
    Комментировать