• Отправка электронной почты в формате HTML

      Введение


      Почти в каждом проекте приходится думать об отправке писем по электронной почте. Основными требованиями при этом являются, помимо надежности доставки, привлекательность и удобство электронных писем.


      Основные нюансы при формировании таких писем:


      • Все стили должны встраиваться (inline) в виде атрибута style для конкретного HTML-элемента.
      • Все изображения должны встраиваться, либо как отдельные вложения в в письме, либо в виде base64-кодированных данных (второе банально удобнее).
      • Письмо должно поддерживать DKIM (настройка мэйлера), а домен отправителя — содержать SPF-запись.
      Читать дальше →
    • «Полезняшки» или «Реестр Windows как платформа»

        Хочу рассказать вам историю, как решение конкретных прикладных задач привело меня к использованию реестра Windows в качестве платформы для хранения и исполнения кода.
        Читать дальше →
      • x264 + VirtualDub vs XviD. Исследуем возможности, повышаем эффективность

        • Tutorial
        В предыдущем посте я писал про разработку собственной матрицы под XviD. Той статьи не было бы, если б я сразу занялся x264. А занялся я им, потому что видел, что такие проблемы XviD, как квадратичность, искажение градиента цвета, ореол вокруг объектов, устраняются в x264.
        Целью задачи стало выяснение этих возможностей кодека, а также скорости кодирования и размера файла. x264 успешно справился со всеми задачами и ниже вы узнаете, как это сделать легко и непринуждённо.
        Читать дальше →
      • 7 самых неприятных проблем в программировании

        • Translation
        image

        Известно, что на старых картах, на неизведанных территориях, часто помещали зловещее предупреждение: «Здесь живут драконы». Вероятно, смысл этого предупреждения состоял в том, что не стоит входить в это пространство мира, не будучи готовыми сражаться с внушающим ужас противником. Всё что угодно может случиться на этих загадочных просторах, и нередко такое «что угодно» может закончиться очень плохо.

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

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

        Вот семь из устрашающих уголков мира программирования, на которых легко можно написать: «Здесь живут драконы».
        Читать дальше →
      • Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился

        • Translation
        image

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

        image
        < 3% заявлений становились предложениями

        Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.

        Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
        Читать дальше →
      • Шифрование электронной почты Gmail в Firefox

          Много сервисов вкусных и разных, которые все больше и больше собирают информацию о пользователях: их увлечения, списки контактов, деловая активность, списки друзей, поступление средств, все о бизнесе. Иногда тот-же Gmail может знать о человеке больше, чем сам человек, извините за тавтологию. Конечно мы думаем, что нечего скрывать, все честные люди, правда когда собранная информация насчитывает тысячи человек, уже начинаем задумываться.
          Читать дальше →
        • Создание и тестирование Firewall в Linux, Часть 1.3. Написание char device. Добавление виртуальной файловой системы…

          • Tutorial
          Содержание первой части:

          1.1 — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
          1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.
          1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.

          Содержание второй части:

          Скрытый текст
          2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
          2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
          2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
          2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
          Читать дальше →
        • Создание VPN туннеля между двумя квартирами на базе роутеров с dd-wrt

          Предыстория:


          Собственно, задача — объединить дом 1 и дом 2. На вооружении имеем схемы:

          Дом 1: -internet пров. Beeline l2tp; psTV (196.168.2.13); dir615С2 (внут: 192.168.2.1, внеш: 95.24.х.х (будет клиентом VPN))

          Дом 2: -internet пров. Interzet с белым ip; PS4 (192.168.1.13); dir615Е4 (внеш st.IP: 188.Х.Х.Х, внут: 192.168.1.1 (будет сервер VPN)
          Читать дальше →
          • +2
          • 45.3k
          • 8
        • Объединяем две локальные сети через интернет. Vpn lan to lan. Asus wl520gu+dd-wrt и FreeBSD+mpd5

            Введение.
            Мне повезло работать в организации которая развивается, и время от времени возникают новые задачи, позволяющие и мне расти. На этот раз мне было необходимо объединить головной офис и второй филиал. Задача для меня не новая, но к её решению я решил подойти иначе нежели раньше.
            На текущий момент в головном офисе установлена FreeBSD + mpd5 в качестве PPTP сервера. В первом филиале аналогично(за исключением того что используется как vpn клиент). Так же есть 8 точек где установлено по одному компьютеру с ОС Windows XP «цепляющихся» к головному стандартным клиентом этой ОС.
            Мне необходимо создать еще один туннель между двумя сетями, но любимую ОС FreeBSD я использовать не могу, в силу ограниченного места для установки роутера во втором филиале(это магазин розничной торговли, все оборудование приютилось на узеньком стелаже). К тому же хотелось попробовать прошивку dd-wrt, о которой так много слышал, в деле.
            Читать дальше →
          • Фрилансим: перезагрузка

              Спешим поделиться радостной новостью: мы вновь вернулись к регулярной работе по обновлению «Фрилансим». За последние месяцы у нас скопилось множество технических и моральных долгов перед нашими пользователями, постараемся рассчитаться с ними как можно скорее и перевести сервис на новый технологический уклад. А пока мы пересобрали «Фрилансим» по новой схеме, поработали немного над репутациями пользователей и исправили логику работы с заказами и исполнителями. Далее обо всём по порядку в деталях.

              image
              Читать дальше →
            • После года использования NodeJS для разработки

              Предлагаю читателям «Хабрахабра» перевод понравившейся мне статьи «After a year of using NodeJS in production» за авторством Gavin Vickery. Это продолжение его статьи «Why I’m switching from Python to Node.js», которую он написал чуть больше года назад в ответ на разочарования при использовании Python и как обоснование перехода на Node.



              Год разработки с штатными инструментами командной строки, клиентские проекты и выпуск обновлений для продуктов нашей компании, в двух словах, это то, чему я научился за это время. Я бы хотел поделиться опытом, но речь пойдет не столько про Node, сколько за весь JavaScript в целом.
              Читать дальше →
            • Роутер от оператора? – Нет, спасибо!


                MT7621A, два ядра MIPS 1004Kc/880MHz. 256MB RAM. Радиоблок 2.4GHz и 5GHz на MT7602E и MT7612E.

                У каждого уже есть сложившееся мнения на счет оборудования, предоставляемого под брендом оператора. Кто-то хвалит, кто-то ругает, кто-то предпочитает оставаться в стороне принимая решения в зависимости от ситуации, не вступая в полемику. Однозначного ответа на вопрос «Что же лучше?» нет.

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

                Каждое обновление дефолтного роутера начинается с мысли: «Ну вот теперь-то мы сделаем идеальный продукт!». А потом начинаются грабли. Про те, по которым мы ходили, я и расскажу.
                Читать дальше →
              • Nikon CoolPix S800c: плохая камера и отличный гаджет


                Никогда не считал себя специалистом в области фотосъемки – я могу максимум навести объектив на что-то интересное и нажать на клавишу спуска затвора. Поэтому в последние пару-тройку лет мне вполне хватало возможностей камер смартфонов – дай мне в руки навороченную зеркалку, и добиться сколько-нибудь более высокого качества снимков, боюсь, все равно не получится.

                Однако у камер смартфонов есть один серьезный недостаток. Намекаю: времена Nokia N93 давно прошли… Да-да, оптический зум не реализован ни в одном современном смартфоне, и именно его мне в последнее время очень не хватало. В самом начале я немного покривил душой: «цифромыльница» у меня все же есть – Kodak EasyShare C123 Sport. Покупалась она с одной-единственной целью: для подводной съемки на небольшой глубине, то есть для дурачества в компании себе подобных 25-летних товарищей. Фотографирует она паршиво, но главное даже не в этом – оптического зума в ней тоже нет. Грех, кончено, жаловаться: в 2011 году я отдал за нее что-то около 70 долларов, то есть это весьма недорогое решение. Но проблема все равно остается: морское дно, кишащее рыбками, без глубокого погружения на этот «Кодак» не сфоткаешь. Вне воды камера тоже бесполезна – качество уступает смартфонам, зума нет.

                Сверху вниз: Kodak EasyShare C123 Sport и Nikon CoolPix S800c
                Читать дальше →
              • Как будет развиваться автоматизация бизнес-процессов в онлайн-рекрутинге

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

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

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

                  Тем не менее, мнения о целесообразности внедрения высоких технологий до сих пор разнятся от рынка к рынку. Но когда эта волна докатилась до сферы рекрутинга, число сомневающихся увеличилось. И до сих пор у экспертов нет единого мнения по поводу того, насколько это было полезно, и каким может быть дальнейшее развитие этого направления.
                  Читать дальше →
                  • +13
                  • 6.7k
                  • 5
                • Устав юного веб-дизайнера на фрилансе

                    image


                    Всем привет. Я начал заниматься веб-дизайном 6 лет назад (если считать от самого-самого первого кривого макета для несуществующей туристической компании). Первые 2 года я работал в маленькой студии, потом ушел на фриланс и пока что жив-здоров.


                    Рекомендации ниже вовсе не аксиомы, не правила, и не обязательны к исполнению. К некоторым я пришел сам, некоторые подсмотрел у других. Что-то я часто не могу сам себя заставить выполнять (отчасти поэтому я решил их выписать и структурировать). Если вы только начинаете заниматься веб-дизайном, вам, скорее всего, пригодится хоть часть и нижесказанного. Если вы уже в деле, ваше мнение приветствуется в комментариях.

                    Читать дальше →
                  • Microsoft выпустила второй пакет обновлений для Windows 7

                      Microsoft все же объявила о выпуске сабжа, но просит пользователей не называть его так. :) Второй пакет обновлений называется rollup update или просто «накопительный пакет обновлений», коим он и является по сути. Набор обновлений предназначен для пользователей Windows 7 SP1 и не является обязательным, он также не будет распространяться через центр обновлений Windows Update. Пакет обновлений получил идентификатор KB3125574 (Convenience rollup update for Windows 7 SP1 and Windows Server 2008 R2 SP1).



                      Основная цель, которую преследует Microsoft выпуском этого пакета обновлений, заключается в том, чтобы помочь организациям, все еще повсеместно использующим Windows 7, оперативно получать установленную ОС с последними обновлениями, так как сам накопительный пакет может быть интегрирован в оффлайн дистрибутивы Windows 7. Microsoft также поменяла формат публикации пакета обновления, теперь вместо standalone-дистрибутива, он будет распространяться с использованием уже достаточно забытого механизма Microsoft Update Catalog, которым можно воспользоваться только через веб-браузер Internet Explorer.

                      Читать дальше →
                    • OpenCL в Adobe Premiere Pro: насколько GPU быстрее CPU?

                        Привет, Гиктаймс! Открыв недавно для себя прекрасный мир ускорения обработки данных силами видеокарт с помощью OpenCL, я решил написать небольшой вводный материал для новичков, не знакомых с этой технологией на практике. В Интернете нередко встречаются вопросы «какой прирост производительности я получу?», но ответы бывают либо абстрактными, либо излишне теоретизированными.
                        Этот пост призван наглядно показать, как применение OpenCL способно ускорить рендеринг видео в программах видеомонтажа. Глубокого погружения в теорию и матан вы не встретите – подробных теоретических статей про OpenCL на Гиктаймсе и Хабре предостаточно и без меня. Здесь будет только описание задачи и результаты тестов, поэтому прошу относиться к тексту именно как к простому вводному гайду для начинающих.


                        Читать дальше →
                        • +26
                        • 59.7k
                        • 9
                      • Приемы сборки-разборки ноутбуков для ремонта на примере Toshiba Portege M800

                        В этом топике я бы хотел поделиться своими соображениями о ремонтной сборке-разборке ноутбуков, благо накопился небольшой и скромный опыт. Речь пойдет о запечатленном и откомментированном процессе сборки ноутбука Toshiba Portege M800. Мысль о запечатлении в фотках пришла опосля после того, как ноут был разобран, поэтому картинками представлена именно сборка. Кроме того, я надеюсь, статья окажется полезной ремонтирующим данный девайс. Основные важные моменты, встречающиеся в топике, собраны вместе в конце.
                        Осторожно, трафик (24 фото).
                        Читать дальше →
                      • Jabber-клиент WIME. Наш open source форк на базе PSI+

                          Последнее время поле разработки меcсенджеров сместилось на мобильные платформы и закрытые протоколы, а многие старые проекты стали коммерциализированы и замкнулись на себя. Логика понятна, зачем делать мессенджеры на основе открытых протоколов, так нельзя привязать пользователей к себе. Подобные проекты могут существовать только в рамках Open Source сообщества и доброй инициативы.

                          Mr. Whoer


                          Один из сотрудников нашей компании (whoer.net) предложил сделать свой форк Psi+ и возглавил проект, зачем это нужно и что мы сделали, под катом.
                          Читать дальше →