Pull to refresh
44
0
Николай @mnv

Программист

Send message

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

Reading time3 min
Views9.6K


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

В этом топике я собрал три простых совета по повышению читабельности хабрастатей и привлечению англоязычных читателей. Надеюсь, будет полезно.
Читать дальше →
Total votes 89: ↑83 and ↓6+77
Comments42

Повышаем продуктивность на GitHub: советы для новичков и не только

Reading time3 min
Views27K


От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя.

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

Сервис разрабатывался программистами для программистов. Его создатели добавили большое количество очень удобных инструментов, которые повышают производительность. Но, к сожалению, не все разработчики об этих инструментах знают. А кто знает — не всегда использует.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments5

Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса

Reading time10 min
Views23K
Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентную доступность сервиса на запись во время выполнения подобных операций. Кроме того, вы узнаете о библиотеке для Django, которая призвана автоматизировать часть описанных процессов.


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

Total votes 61: ↑61 and ↓0+61
Comments41

Как не хранить секреты где придётся, или зачем нам Hashicorp Vault

Reading time11 min
Views100K

Vault header 


Задайте себе вопрос — как правильно хранить пароль от базы данных, которая используется вашим сервисом? В отдельном репозитории с секретами? В репозитории приложения? В системе деплоя (Jenkins, Teamcity, etc)? В системе управления конфигурациями? Только на личном компьютере? Только на серверах, на которых работает ваш сервис? В некоем хранилище секретов?
Зачем об этом думать? Чтобы минимизировать риски безопасности вашей инфраструктуры.
Начнём исследование вопроса с определения требований к хранению секретов.


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments14

Docker + Laravel = ❤

Reading time10 min
Views82K

laravel-in-docker


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

В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов.


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


  • "Использую докер для локальной разработки. Ставлю laradock и беды не знаю". Круто, но как обстоят дела с автоматизацией и запуском на production?
  • "Собираю один контейнер (монолит) на базе fedora:latest (~230 Mb), ставлю в него все сервисы (nginx, бд, кэш, etc), запускаю всё супервизором внутри". Тоже отлично, прост в запуске, но как на счёт идеологии "один контейнер — один процесс"? Как обстоят дела с балансировкой и управлением процессами? Как же размер образа?
  • "Вот вам куски конфигов, приправляем выдержками из sh-скриптов, добавим магических env-значений, пользуйтесь". Спасибо, но как же на счёт хотя бы одного живого примера, который я бы мог форкнуть и полноценно поиграться?

Для нетерпеливых — ссылка на репозиторий, склонировав который ты сможешь запустить Laravel-приложение одной командой. Так же не составит труда его запустить на том же rancher, правильно "слинковав" контейнеры, или использовать продуктовый вариант docker-compose.yml как отправную точку.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments23

Реалистичная практика найма инженеров

Reading time6 min
Views9.9K
Наём инженеров может быть трудной, утомительной и обременительной процедурой. Кандидаты читают книги, как пройти интервью, что говорит о зрелости существующих методов. Мы нанимаем профессионалов для создания продукта, а не для повторной реализации старых алгоритмов. Я ещё не видел программиста, который каждый день пишет маркером на доске без доступа к интернету для проверки своих решений.

В этом блоге я расскажу о процессе найма, который мы разработали в Qstream.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments10

Искусство управлять: обзор лучших докладов с Teamlead Conf 2018. Часть 2

Reading time6 min
Views11K
Как вырастить сотрудника с нуля, как мотивировать, как найти тимлида, как построить диалог, как предотвратить уход целой команды? Ответы — в очередной подборке лучших докладов с нашей TeamLead Conf 2018, доступ к полному комплекту видеозаписей с которой мы только что открыли на нашем YouTube-канале.
 


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

Ниже краткий обзор шести лучших докладов, а по этой ссылке подборка видеозаписей всех выступлений с нашей февральской конференции. И не забудьте подписаться на обновления!
 
Total votes 31: ↑31 and ↓0+31
Comments0

Личный опыт: Data Engineering на Upwork

Reading time8 min
Views42K
Я много лет работал Data Engineer'ом и Data Scientist'ом, решал сложные бизнес-кейсы, строил большие системы, выводил это все в продакшен. В начале 2017го я бросил пить, курить и работать в офисе и ушел фрилансить, экспериментировать с альтернативными формами занятости. Довольно много времени я провел на Upwork. Судя по многочисленным комментариям, уважаемая аудитория не до конца представляет себе, что это такое. Вещаю.

Upwork это крупнейшая в мире биржа фриланса. Дата сатанисты и дата инженеры мало кому в этом мире нужны (по сравнению с переводчиками, веб-мастерами и переписывателями текстов), так что задач для нас относительно мало, так что они тяготеют к крупнейшей бирже в мире. Других фриланс-бирж с постоянным потоком задач для дата саентистов в мире нет — ни Guru, ни Toptal, ни отечественный fl.ru спросом похвастаться не могут. Что важно — для специалистов более массовых специальностей опыт фриланса может сильно отличаться.
Читать дальше →
Total votes 94: ↑89 and ↓5+84
Comments120

Гитаризм для линуксоида — why not?

Reading time2 min
Views20K
Один мой хороший друг однажды сказал: — Линуксоидам проще научиться играть на гитаре. — Потому что они привыкли, что сначала долго мучаешься, но потом наслаждаешься результатом.

Он, безусловно, прав. И ниже я хочу рассмотреть некоторое ПО, призванное помочь линуксоиду-гитаристу на его нелёгком, но невероятно интересном пути.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments59

Автоматическая визуализации python-кода с использованием блок-схем

Reading time17 min
Views92K
Речь пойдет о технологии, которая дает возможность реализации инструментов разработчика, подобных показанному на картинке ниже.

image

Общий вид среды с альтернативными представлениями кода

Здесь окно среды разработки разбито на две части. Слева — привычный текстовый редактор, а справа — автоматически генерируемая диаграмма, по возможности приближенная к традиционным блок-схемам алгоритмов. Генерация и перерисовка диаграммы производится по ходу набивки текста. Среда разработки определяет паузу в действиях разработчика и обновляет диаграмму, если код остается корректным. В результате появляется возможность работы не только с текстом программы, но и с его графическим представлением.
осторожно, далее много картинок
Total votes 75: ↑73 and ↓2+71
Comments70

Алан Кей: Будущее нельзя построить постепенно

Reading time13 min
Views21K
Наименее важное время в которое мы живём — это настоящее.
Алан Кей

image

Ещё в 2014 году, когда Алан Кей выступал с этой речью в Сан Франциско, один друг присутствовал там лично. Его крайне впечатлило выступление, и он попросил перевести его для исследователя, который уже в возрасте и не знает английского. Искренне интересуясь теми, кто двигает мыслью в Долине, я согласился. Перевод лежал невостребованным долгое время, но вдруг пришла шальная мысль: взять и опубликовать.
Спасибо MagisterLudi за редакцию и помощь!


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

Большие Данные — это ниша, в которой многие сегодня пытаются делать деньги, которая также является любимицей маркетологов из-за её вездесущности. Все слышат фразу, но не все знают её значение, именно это служит отличным поводом чтобы маркетологам говорить: “это использует Большие Данные, то использует Большие Данные”. Но интересное будущее лежит за значением, за смыслом, а не данными. Стивен показал вам идею, которая у большинства людей и не появлялась — что если бы язык программирования реально знал что-нибудь о своём пользователе, о контексте, что если бы он знал бы что-нибудь и обо мне. Эти идеи довольно стары, и появились тогда, когда и многие скачкообразные открытия. Но они не были поняты в 80-е, и были просто отброшены. И это интересная тема для размышления.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments16

Случайные эволюционные стратегии в машинном обучении

Reading time8 min
Views17K
Нейронные сети учатся совсем не так как люди. Оптимизация нейронной сети — на самом деле градиентный спуск по некоторой функции потерь $E(\theta)$, где переменными являются веса слоёв $\theta$. Это очень мощный подход к подстройке системы, который применяется также в физике, экономике и многих других областях. На данный момент предложено немало конкретных методов градиентного спуска, но все они предполагают, что градиент $E(\theta)$ хорошо себя ведёт: нет обрывов, где он скачкообразно возрастает, или плато, где он обращается в ноль. С первой проблемой можно разобраться при помощи gradient clipping, но вторая заставляет тщательно подумать. Кусочно-линейную или дискретную функцию нетривиально ограничить более приятной функцией


Как поступать в таких ситуациях?

Под катом много формул и гифок.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments15

Вопросы для собеседования бэкенд-разработчика

Reading time16 min
Views188K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
Читать дальше →
Total votes 83: ↑61 and ↓22+39
Comments274

Биоинформатический пайплайн с использованием Docker

Reading time5 min
Views8.6K
В этой статье я хочу поделиться опытом разработки пайплайна с использованием Docker для анализа биомедицинских данных. Наверное, одним читателям будет интересен сам биоинформатический пайплайн, а кому-то — использование Docker, поэтому разобьем статью на две части.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments3

Краткая шпаргалка по tmux (менеджеру терминалов)

Reading time1 min
Views417K
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

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

Читать дальше →
Total votes 59: ↑53 and ↓6+47
Comments50

Полная автоматизация «development» среды с помощью docker-compose

Reading time7 min
Views159K

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


Docker в 2017


На конференции Dockercon 2016 CEO компании Docker рассказал, что количество приложений, которые запускаются в Docker выросло на 3100% за последние два года. Боле 460 тысяч приложений по всему миру запускаются в Docker. Это невероятно!


Если вы все еще не используете Docker, я бы посоветовал почитать отличную статью об использовании Docker во всем мире. Docker полностью изменил то, как мы пишем приложения и стал неотъемлемой частью для разработчиков и DevOps команд. В этой статье мы полагаем, что вы уже знакомы с Docker и хотим дать вам еще одну серьезную причину продолжать использовать его.

Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments53

Django forms поле — вложенная таблица

Reading time8 min
Views13K
Добрый день, хабраюзер.

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



Итак, поехали
Total votes 29: ↑27 and ↓2+25
Comments2

Обнаружение птиц с помощью Azure ML Workbench

Reading time19 min
Views5.4K
Задумывались ли вы, что перед биологами, помимо всего прочего стоит ряд важных задач? Им необходимо анализировать огромные объёмы информации для отслеживания динамики популяции, выявления редких видов и оценки воздействия. Под катом мы хотим рассказать вам о проекте по идентификации красноногих моевок на фотографиях, сделанных с помощью камер слежения. Вы узнаете подробности о разметке данных, обучении модели на платформе Azure Machine Learning Workbench с использованием Microsoft Cognitive Toolkit (CNTK) и Tensorflow, а также развертывание веб-службы прогнозирования.


Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments0

У нас длинные руки: 7 зарубежных площадок, на которых можно найти удалённую работу

Reading time3 min
Views133K
Развитие телекоммуникационных технологий — это win-win для работодателей и работников: компании могут находить таланты по всему миру, а люди могут работать откуда угодно, лишь бы был Wi-Fi. И популярность удалённой работы лишь растёт. К примеру, согласно отчёту Gallup, в 2015 году 37% респондентов ответили, что работают удалённо частично или весь рабочий день. Это было на 7 процентных пунктов больше, чем в 2008. И нет причин считать, что эта тенденция сегодня изменилась.

Чем больше людей обращаются к подработке, фрилансу или удалённой работе на полную ставку, тем чаще возникает вопрос: где именно мне найти работу, которая позволит отказаться от поездок в офис? Предлагаем вашему вниманию семь зарубежных площадок, на которых можно найти удалённую работу.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments35

Чат-бот для ВКонтакте на Python на Callback API

Reading time10 min
Views122K
Чат-боты стали уже очень распространенным явлением, и появляются во всех мессенджерах ежедневно.

В этой статье по шагам разберем создание бота с набором простых команд и узнаем, как в дальнейшем можно расширить его функционал. Статья будет полезна для самых новичков, которые никогда не пробовали создавать чат-ботов.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity