Как стать автором
Обновить
24
0
Константин Волков @kozzztik

Пользователь

Отправить сообщение

Почему опытные разработчики пишут тупой код и как распознать новичка за километр

Время на прочтение3 мин
Количество просмотров86K
Предлагаю читателям «Хабрахабра» перевод публикации «Why Senior Devs Write Dumb Code and How to Spot a Junior From A Mile Away» за авторством Scott Shipp.


Одна из моих любимых цитат на все времена — Брайана Гетца (Brian Goetz), умнейшего чувака из мира Java, одного из авторов «Java Concurrency in Practice», кроме всего прочего. Цитата взята из интервью, опубликованного на сайте Oracle под заголовком «Пишите тупой код» («Write Dumb Code»). Гетца спросили, как писать хорошо работающий код.
Вот что он ответил
Всего голосов 165: ↑147 и ↓18+129
Комментарии407

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

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

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

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

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

Почтовый сервер на Linux

Время на прочтение11 мин
Количество просмотров299K
Как наладить работу почтового сервера, умеющего принимать и отправлять электронную корреспонденцию, бороться со спамом, взаимодействовать с клиентами? На самом деле, всё довольно просто.

Сегодня поговорим о почтовых серверах на Linux. Мы расскажем о том, как настроить сервер, о широко распространённом в интернете протоколе SMTP, а также о других протоколах, таких, как POP и IMAP. В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой.



Начнём с SMTP-сервера на Linux
Читать дальше →
Всего голосов 51: ↑39 и ↓12+27
Комментарии84

Thunderbird и Kontact вместо MS Outlook

Время на прочтение7 мин
Количество просмотров47K

Когда вы работаете в крупной компании, где на рабочих станциях в основном стоит ОС Windows, а вы один из немногих пользователей Linux, то вы тратите определенную долю ваших усилий на преодоление сопротивления недружественной ИТ среды. С годами некоторые проблемы остаются в прошлом, но новые появляются. Так например почти исчезли как класс сайты заточенные только под IE. Все меньше страшных .docx, .xlsx файлов приходит по почте. Куда-то исчезли обязательные для всех чудо-юдо программы, которые написаны только для Windows. Теперь почти все можно открывать и редактировать из веб браузера. Изменилось многое, но не все.


Угадай картинку и получи бейсболку в подарок приз знатока почты. В 2000-м это был почтовик года по версии PC Magazine, и я сам пользовался им пару лет. Только по-честному, без поиска картинок.




Кстати о почте, что с ней? В тех организациях, где используется Exchange Server, постоянно приходят события на календарь и как-то неудобно оправдываться тем, что твой почтовик с не взаимодействует календарем, а Outlook-ом ты не пользуешься, так как его нет на Linux. Как правильно настроить почту, чтобы все работало на Exchange Server: почта, календарь, адресная книга, работа с папками? Статью об этом пишу я эту.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии68

Python-пакеты и их использование

Время на прочтение3 мин
Количество просмотров26K

Всем добрый день!


На Хабре уже поднималась тема организации работы с внешними пакетами с использованием подмодулей или деревьев в Git. Это показалось хорошим решением, но на деле вылилось в неудобства и запутанность. Тогда я решил перенести всё на python-пакеты. Чем и поделюсь сейчас на примере Django приложения.


Читать дальше →
Всего голосов 33: ↑24 и ↓9+15
Комментарии14

Невидимые друзья вашего github-репозитория

Время на прочтение13 мин
Количество просмотров17K
image
Github это незаменимый инструмент, прочно вошедший в жизнь практически каждого разработчика.

Хотя многие из нас используют его постоянно, не все знают, что существует большое количество сторонних (и бесплатных) сервисов и инструментов, которые тесно интегрированы с github и расширяют его функциональность.

В данной статье мы уделим внимание, в основном, инструментам, работающим в инфраструктуре npm. Полный список сервисов, интегрирующихся с github, можно посмотреть на странице github integrations directory.

Сегодня в выпуске:




Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии16

Сказ о том как я свой REST фреймворк с веб-сокетами писал

Время на прочтение14 мин
Количество просмотров22K
Эта статья посвящена очередному REST фреймворку (для Python 3), особенностью которого является использование веб-сокетов для обмена данными между клиентом и сервером. О том откуда пришла идея, с чем мне пришлось столкнулся при написании своей первой библиотеки для Python и что из этого в итоге получилось, я расскажу далее.


Для тех, кому интересна эта статья — пожалуйста, заходите под кат.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии34

Внедрение DMARC для защиты корпоративного домена от спуфинга

Время на прочтение9 мин
Количество просмотров56K
A Thief on the Run by Manweri
A Thief on the Run by Manweri

Привет, Хабр! В этом посте мы снова поговорим о проблеме подделки отправителя (или так называемом спуфинге). В последнее время такие случаи очень участились: подделывается все: письма со счетами за ЖКХ, из налоговой инспекции, банков и так далее. Решить эту проблему помогает настройка строгой DMARC-политики. Мы как почтовая служба проверяем все приходящие к нам письма на DMARC начиная с февраля 2013 года. Мы были первым в рунете почтовым сервисом, поддержавшим стандарты DMARC. Однако чтобы минимизировать число поддельных писем, этого, к сожалению, недостаточно. Главное, чтобы строгий DMARC был поддержан на стороне отправителя. Вот почему мы не устаем качать эту тему, ведем активную разъяснительную работу и всячески призываем всех включать у себя строгий DMARC.

Позитивные сдвиги уже есть: с каждым месяцем мы видим прирост числа корпоративных отправителей, прописавших DMARC, на десятки процентов. Однако безусловно, еще есть над чем работать. Практика показывает, что IT-культура находится на очень разном уровне. Кто-то слышал краем уха про DMARC, но пока не собирается его внедрять. Есть и такие, для кого факт, что в транспортных протоколах электронной почты отсутствует какая-либо проверка и защита адреса отправителя, до сих пор является настоящим откровением. Кроме того, поддержка DMARC — задача непростая. Только на первый взгляд кажется, что достаточно опубликовать запись в DNS, и не требуется никакого дополнительного софта или технических средств (подробнее в нашей статье DMARC: защитите вашу рассылку от подделок). На практике в крупной компании с многочисленными потоками электронной почты и развесистой структурой почтовых доменов все гораздо сложнее. И есть моменты, которые следует предусмотреть и продумать заранее. Именно для таких сложных случаев мы написали эту статью, постаравшись собрать в ней все нюансы.
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии33

Как не угробить архитектуру сразу же? Видео с лекции Евгения Кривошеева

Время на прочтение1 мин
Количество просмотров59K
Всем привет!

Две недели назад в Москве прошла очередная встреча CodeFreeze. Нашим гостем стал Евгений Кривошеев, признанный российский эксперт в области архитектуры программных систем, консультант из Scrumtrek/Skilltrek. Евгений прочитал офигеннейшую лекцию по архитектуре, как он любит и умеет.



В рамках этой встречи Евгений предложил обсудить последовательность решений, критичных для архитектуры любой системы. Выстраданная последовательность действий такова:
  • Точки зрения на систему, или Почему мы слепнем при проектировании
  • Адресация ключевых рисков, или Гордыня убивает
  • Учитываем контекст, или Как не долбиться в закрытую дверь

Краткое содержание и видеозапись
Всего голосов 46: ↑43 и ↓3+40
Комментарии12

Заблуждения программистов относительно времени

Время на прочтение3 мин
Количество просмотров88K
За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.

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

На самом деле, я повидал так много заблуждений, которые оставляют след в чужих (и моих собственных) программах, что посчитал полезным составить список самых частых проблем.
Читать дальше →
Всего голосов 241: ↑218 и ↓23+195
Комментарии216

Аквапоника своими руками с применением микроконтроллера

Время на прочтение5 мин
Количество просмотров157K
image

Всем привет. Как-то на просторах Интернета мне попался интересный американский проект. Суть проекта в том, что можно выращивать различные агрокультуры, используя не почву, а, так сказать, симбиоз рыб с растениями. Получается замкнутый цикл. Вы кормите и выращиваете рыб, их продукты жизнедеятельности, растворённые в воде, являются питательной средой для растений. А эти растения, получая питательные вещества для роста из воды, очищают её. Весь процесс повторяется по кругу. Данный метод называется «аквапоника».
Читать дальше →
Всего голосов 112: ↑112 и ↓0+112
Комментарии122

Эра фаблетов: Проектирование для крупных экранов

Время на прочтение10 мин
Количество просмотров20K


«С тех самых пор, как Samsung создала свою линию Galaxy Note, тем самым открыв рынок «больших телефонов», подобные девайсы называются фаблетами. Такое название они получили в силу своего размера, который находится где-то между размерами традиционного телефона и небольшого планшета»

За последнее время я успел прочитать много статей о том, что новая серия iPhone 6 заставит нас всех изменить подход к проектированию пользовательского интерфейса для мобильных телефонов. Возможно, это справедливо для тех дизайнеров, которые до сих пор фокусируются только на iOS и делают вид, что остальной мир не существует.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии18

Ликбез: почему дома интернет по Wi-Fi тормозит

Время на прочтение5 мин
Количество просмотров284K


Классическая схема включения услуг Интернет в многоквартирном жилом доме выглядит следующим образом: ТКД (точка коллективного доступа) — витая пара — роутер в квартире клиента, к которому подключены клиентские устройства по проводу и по Wi-Fi.

Характерные жалобы абонентов – скорость ниже тарифа, и возникают регулярные «замирания» при работе в интернете, что выражается долгим открыванием страниц в браузере, прерываниями видео, потерей связи с игровыми серверами и т.д. Данное поведение носит нерегулярный характер, а наиболее часто возникает в часы наибольшей пользовательской активности примерно с 18:00 до 23:00 в зависимости от города.

Есть несколько простых шагов, которые позволят определить возможную причину подобных проблем и решить 90% пользовательских ситуаций. Они ниже.
Читать дальше →
Всего голосов 87: ↑54 и ↓33+21
Комментарии164

Эти незаменимые регистрационные карточки

Время на прочтение10 мин
Количество просмотров73K
image

Продолжается цикл постов, посвященных старинной офисной технике.
В прошлых постах я рассказывал о русских счетах и приспособлениях для копирования, в настоящем посте предлагаю вниманию хабравчан иллюстрированный обзор о регистрационных карточках.
Пост длинный из-за множества картинок.
Читать дальше →
Всего голосов 168: ↑165 и ↓3+162
Комментарии40

История рождения, развития и смерти Flight Simulator

Время на прочтение7 мин
Количество просмотров29K
subLOGIC Flight Simulator

Flight Simulator — это самая долгая и успешная серия из всех когда-либо созданных симуляторов. В истории её развития интересно то, как код и принципы, заложенные в конце 70-ых, оставались неизменными десятилетиями.

В 1975-ом году Брюс Артвик получил степень бакалавра естественных наук как инженер-электрик в Иллинойском университете. Не стоит думать, однако, что ему была далека кибернетика: изначально, в 1973 году он выбрал проектирование ЭВМ как свою специальность, и лишь позже сменил направление учебы на электротехнику, поскольку считал, что в эти ранние годы развития компьютерной техники людям будет понятней такая ученая степень. В 1975-1976 гг. параллельно с работой в группе, разрабатывавшей для Digital Computer Lab графические терминалы, где Брюс мог общаться с Кеном Томпсоном, создателем оригинального UNIX, и работать с одной из первых UNIX-машин — PDP-11, Артвик находил время для летных уроков ради написания диссертации, темой которой стала многослойная динамическая компьютерная графика полета. Артвик рассмотрел модель полета воздушного судна, показываемую на экране вычислительной машины, что фактически означало рождение всей серии.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии53

fheroes2 — Open Source движок Heroes of Might and Magic II

Время на прочтение1 мин
Количество просмотров8.7K

free heroes2 — свободная версия движка Heroes of Might and Magic II. Написан с использованием SDL русским (вроде бы) программистом. Существуют порты на Windows, Linux, WM, WinCE, Dingoo a320, Cowon V5… ну почти везде. Все кто хочет узнать больше — под кат
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии97

Мобильник на кока-коле

Время на прочтение2 мин
Количество просмотров1.4K
Инженеры из Лондона создали телефон, способный работать на Кока-коле, либо любой другой холодной жидкости, содержащей сахар. В качестве примера исследователи продемонстрировали мобильник Nokia, работающий на всем известной коричневой газировке.

Дайци Женг, один из разработчиков новинки, говорит, что их телефон может работать в 3-4 раза дольше, чем точно такая же модель на литий-ионном аккумуляторе. Новый телефон полностью экологичен и выигрывает у своих собратьев ещё и тем, что время его зарядки составляет несколько секунд — именно столько времени нужно, чтобы залить новую порцию сладкой воды в специальный контейнер позади телефона.
Читать дальше →
Всего голосов 61: ↑51 и ↓10+41
Комментарии85

Еще десять маленьких программ, с которыми уютно

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

01) Сворачиваем окно в заголовок и не только — куча возможностей в обмен на 90 килобайт
02) Сворачиваем окно в трей правым кликом по «крестику»
03) Создаем виртуальные рабочие столы — теперь с помощью бесплатной программы
04) Двигаем кнопки окон на панели задач как табы в браузере
05) Клейкие листочки на рабочем столе — когда не хочется заносить в ToDo
06) Мини-консоль для быстрого запуска программ по алиасам
07) Мгновенный поиск по компьютеру — программа-индексатор жесткого диска
08) Копируем текст откуда угодно, даже из рисунков
09) создаем хранилище заметок с вложениями посредством быстрой и бесплатной программы
10) управляем буфером обмена — теперь можно запомнить больше!

Поподробней...
Всего голосов 132: ↑117 и ↓15+102
Комментарии122

Математика для тестировщиков

Время на прочтение17 мин
Количество просмотров40K
Доклад Никиты Налютина на конференции SQA Days – 13, 26-27 апреля 2013 г. Санкт-Петербург, Россия

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



Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии6

Автоматизация складских процессов интернет-магазина: опыт Аудиомании — Часть 2

Время на прочтение6 мин
Количество просмотров27K


первой части рассказа мы писали о том, с чего началась автоматизация складских процессов в Аудиомании: описали проблемы, с которыми мы сталкивались до автоматизации, задачи, которые мы поставили перед собой, и то, как нам (методом проб и ошибок) удалось решить вопросы экипировки кладовщика и создания собственной системы по управлению складом.

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

Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии17

Информация

В рейтинге
Не участвует
Откуда
Пушкин, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность