Pull to refresh
22
0
Масляев Александр @maslyaev

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

Send message

Как на удалёнке жить хорошо

Reading time8 min
Views64K

Вводная


Казалось бы, на Хабре уже не раз обсуждался вопрос удалённой работы, да и в сети можно найти довольно много информации об этом опыте. Однако, в очередной раз отвечая на вопрос знакомого: “Каково оно, работать из дома?”, я понял, что хочу поделиться и своим опытом. Надеюсь, он будет полезен тем, кто все ещё сомневается, стоит ли оно того.


Итак, меня зовут Артур, и я… удалённый разработчик. В последнее время тема удалённой работы становится всё более “хайповой”, но её история тянется уже лет 40, а NASA по-прежнему поощряет удалённую работу



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

Читать дальше →
Total votes 68: ↑60 and ↓8+52
Comments379

Внутренности Python. Пасхалки

Reading time4 min
Views9K
Привет! На Хабре было довольно много статей про пасхалки питона, но вроде нигде не упоминалось про то, как все это устроено изнутри.

Думаю, что будет интересно прежде всего начинающим питонистам. Об этом и пойдет речь под катом!
Читать дальше →
Total votes 20: ↑11 and ↓9+2
Comments9

ШОК! Новый софт для фишинга побеждает второй фактор

Reading time6 min
Views17K

Всем привет!


Бывают случаи, когда тебе нужно кого-то зафишить. Бывает, когда у целевой организации настроен второй фактор для аутентификации — sms, Google authenticator, Duo. Что делать в таких случаях? Нанимать гопников? Подрезать телефоны у сотрудников? Нет! Оказывается, хитрые хакеры написали софт, способный помочь в этой непростой ситуации.

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments9

Serverless убьет DevOps?

Reading time3 min
Views10K


Каждый раз, когда приходится читать про очередного новорожденного убийцу айфона или фейсбука, невольно начинаешь улыбаться. За эти годы столько их уже было, а воз и ныне там. Поэтому, наткнувшись на очередную публикацию, где ключевой мыслью была идея о том, что наступающая эпоха бессерверных вычислений приложений (Serverless) «съест» DevOps, скепсису не было предела.
Читать дальше →
Total votes 24: ↑14 and ↓10+4
Comments13

50 вопросов для работы над документацией

Reading time5 min
Views8.9K
Как бы ни старался UX-дизайнер, не сможет человек с улицы разобраться в интерфейсе управления космическим кораблём без подсказки. И даже не с улицы. Просто потому, что ракета большая и настроек много.

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

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


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

Как мы в Neoflex развиваем экспертизу DevOps

Reading time15 min
Views4.6K

После выделения DevOps внутри компании «Неофлекс» в отдельное бизнес-направление команда стала активно наращивать экспертизу и делиться найденными источниками знаний друг с другом. В этом посте я поделюсь с вами личным опытом погружения в тему и наиболее интересными ресурсами.




Основными источниками информации по теме стали следующие:


  • Интернет-ресурсы – как независимые, так и компаний разработчиков
  • Статьи и презентации
  • Литература
  • Конференции
  • Программы обучения – как платные, так и бесплатные
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments0

Программирование с PyUSB 1.0

Reading time15 min
Views50K
От переводчика:
Это перевод руководства Programming with PyUSB 1.0
Данное руководство написано силами разработчиков PyUSB, однако быстро пробежавшись по коммитам я полагаю, что основной автор руководства — walac.


Позвольте мне представиться


PyUSB 1.0 — это библиотека Python обеспечивающая легкий доступ к USB. PyUSB предоставляет различные функции:

  • На 100% написана на Python:
    В отличии от версий 0.x, которые были написаны на C, версия 1.0 написанна на Python. Это позволяет программистам на Python без опыта работы на C лучше понять как работает PyUSB.
  • Нейтральность платформы:
    Версия 1.0 включает в себя фронтенд-бэкенд схему. Она изолирует API от специфичных с точки зрения системы деталей реализации. Соединяет эти два слоя интерфейс IBackend. PyUSB идет вместе со встроенными бэкендами для libusb 0.1, libusb 1.0 и OpenUSB. Вы можете сами написать свой бэкенд, если хотите.
  • Портативность:
    PyUSB должен запускаться на любой платформе с Python >= 2.4, ctypes и, по крайней мере, одним из поддерживаемых встроенных бэкендов.
  • Простота:
    Взаимодействие с устройством USB никогда не было таким простым! USB — сложный протокол, а у PyUSB есть хорошие предустановки для наиболее распространенных конфигураций.
  • Поддержка изохронных передач:
    PyUSB поддерживает изохронные передачи, если лежащий в основе бэкенд поддерживает их.

Несмотря на то, что PyUSB делает программирование USB менее болезненным, в этом туториале предполагается, что у Вас есть минимальные знания USB протокола. Если Вы ничего не знаете о USB, я рекомендую Вам прекрасную книгу Яна Аксельсона «Совершенный USB» (Jan Axelson «USB Complete»).
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments5

Руководство по JavaScript, часть 2: стиль кода и структура программ

Reading time8 min
Views60K
Сегодня мы публикуем перевод следующей части руководства по JavaScript. Здесь мы поговорим о стиле кода и о лексической структуре программ.

Часть 1: первая программа, особенности языка, стандарты
Часть 2: стиль кода и структура программ
Часть 3: переменные, типы данных, выражения, объекты
Часть 4: функции
Часть 5: массивы и циклы
Часть 6: исключения, точка с запятой, шаблонные литералы
Часть 7: строгий режим, ключевое слово this, события, модули, математические вычисления
Часть 8: обзор возможностей стандарта ES6
Часть 9: обзор возможностей стандартов ES7, ES8 и ES9


Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments10

Разработчик! Прекрати считать себя недостаточно хорошим специалистом, это неправда

Reading time7 min
Views62K
Около месяца назад мы подготовили большую статью с невыдуманными историями об IT-самозванцах, где рассказали об ушлых ребятах из Азии, которые любыми путями пытались устроиться к нам на удаленную работу. Весь текст был посвящен разного сорта авантюристам — людям, которые чаще всего ничего не смыслили в IT и разработке, но выдавали себя за девелоперов. В той статье мы упоминали, что подобных Остапов на территории СНГ практически нет. Ну как-то не тянет наших соотечественников и людей из ближнего зарубежья пытаться кого-то обмануть таким образом. Но на другом берегу этой истории с самозванцами стоят настоящие разработчики — люди умные, компетентные, опытные, одним словом, хорошие специалисты. И как раз они, чаще всего, формируют вторую сторону медали поднятой нами истории.


Стив поверил в себя, так и ты поверь

Все дальнейшие рассуждения, советы и пояснения строятся на одном простом факте: очень часто при трудоустройстве через Crossover выходцев из СНГ мы сталкиваемся с ситуацией, когда специалист заявляется на позицию с более низкими требованиями по сравнению с его реальной квалификацией. То есть представители русскоязычного IT-сообщества систематически себя недооценивают. И это — массовая проблема.
Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments184

«Логомашина» делает бесплатные логотипы за коммент

Reading time1 min
Views6.6K
Привет, мы — дизайн-студия Логомашина, сегодня бесплатно делаем логотипы для участников Хабра!



Что нужно, чтобы поучаствовать? Присылаете в комменты описание, название вашего проекта и логотип (если есть)

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

В конце можно будет нам написать – мы вышлем исходники сделанного логотипа.

Поможем всем, кому успеем. Логотипы начнем делать в 15:00, а кидать можно уже сейчас!
Total votes 28: ↑20 and ↓8+12
Comments109

Знакомство с виртуализацией, контейнерами и Kubernetes: 18 материалов о работе в облаке

Reading time5 min
Views16K


В этой подборке команда Kubernetes aaS от Mail.ru объединила статьи и руководства для тех, кто хочет познакомиться с виртуализацией. В материалах под катом — как появилась виртуальная инфраструктура, что такое контейнеризация и чем занимается Cloud DevOps Engineer.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments0

5+1 случай, когда спецификация REST API играет огромную роль

Reading time13 min
Views34K

В этой статье речь пойдёт о написании и поддержке полезной и актуальной спецификации для REST API-проекта, которая позволит сэкономить много лишнего кода, а также серьёзно улучшить целостность, надежность и прозрачность прокта в целом.


Что такое RESTful API?



Это миф.


Серьёзно, если вы думаете, что в вашем проекте RESTful API, вы почти наверняка ошибаетесь. Идея RESTful — в построении API, который во всём соответствовал бы архитектурным правилам и ограничениям, описанным стилем REST, однако в реальных условиях это оказывается почти невозможно.

Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments32

Приложение на python kivy для разнообразия рациона питания. От кода и до получения .apk файла для Android

Reading time8 min
Views86K

Изучаю python kivy и для себя решил написал маленькое приложение, чтобы разнообразить свое питание. Решил поделиться. Статья рассчитана на новичков в kivy. Приложение занимает около 100 строк кода.

Цель создания велосипеда приложения:

  1. Избежать частых повторений в питании. Чтобы не употреблять одно и то же блюдо слишком часто.
  2. Не забывать блюда, которые ел, потом забыл и годами к ним не возвращался, потому что банально не помнил. У меня такое бывает.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments15

Теория счастья. Термодинамика классового неравенства

Reading time23 min
Views33K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



В этой главе мы порассуждаем о деньгах, рынках и энтропии, а также посмотрим на анимированные гифки, которых, увы, в книжке напечатать не получится.


Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments110

Почему не стоит учить академический английский

Reading time5 min
Views16K
Английский — до ужаса разнообразный язык. Только одних диалектов существует приблизительно 300, а уже отдельных профессиональных и региональных сленгов и того больше.

Основным вариантов языка является британский, который еще называют Received Pronunciation. На нем говорит британская королева и дикторы BBC, там вся грамматика разложена по полочкам и расфасована по ящичкам. Так сказать, лощеный академический английский. Но если подумать, то изучение только академического варианта языка может оказаться вредным. И сейчас мы объясним, почему.
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments33

Python: метапрограммирование в продакшене. Часть первая

Reading time12 min
Views31K

Многие считают, что метапрограммирование в Python излишне усложняет код, но если использовать его правильно, то можно быстро и элегантно реализовать сложные паттерны проектирования. Помимо этого, такие известные Python-фреймворки, как Django, DRF и SQLAlchemy, используют метаклассы, чтобы обеспечить легкую расширяемость и простое переиспользование кода.



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

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

Алгоритм установления соединения в протоколе SSH

Reading time5 min
Views103K
(Начальное название статьи «Алгоритм работы протокола SSH» было изменено по рекомендациям Vindicar, Karroplan и других участников хабросообщества)

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

Попытаюсь внести немного ясности в работу протокола SSH, а заодно рассмотреть роль алгоритма RSA и ключей авторизации пользователя…

image
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments52

Где и как врубиться в эмбеддинги графов

Reading time30 min
Views32K

Привет, Хабр!


Три года назад на сайте Леонида Жукова я ткнул ссылку на курс Юре Лесковека cs224w Analysis of Networks и теперь мы будем его проходить вместе со всеми желающими в нашем уютном чате в канале #class_cs224w. Cразу же после разминки с открытым курсом машинного обучения, который начнётся через несколько дней.


image


Вопрос: Что там начитывают?
Ответ: Современную математику. Покажем на примере улучшения процесса IT-рекрутинга.


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

Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments10

Динамическое программирование или «Разделяй и Властвуй»

Reading time9 min
Views34K
В этой статье рассматриваются сходства и различия двух подходов к решению алгоритмических задач: динамического программирования (dynamic programing) и принципа «разделяй и властвуй» (divide and conquer). Сравнение будем производить на примере, соответственно, двух алгоритмов: бинарного поиска (как быстро найти число в отсортированном массиве) и расстояния Левенштейна (как преобразовать одну строку в другую с минимальным количеством операций).

Хочу сразу заметить, что данное сравнение и объяснение не претендует на исключительную правильность. И возможно даже некоторые преподаватели в университетах захотели бы меня отчислить :) Эта статья является всего-лишь моей персональной попыткой разложить себе же все по полочками и понять что такое динамическое программирование и каким образом в нем участвует принцип «divide and conquer».

Итак, приступим…

image
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments5

Курс MIT «Безопасность компьютерных систем». Лекция 8: «Модель сетевой безопасности», часть 3

Reading time12 min
Views5K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Total votes 11: ↑11 and ↓0+11
Comments1

Information

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