Pull to refresh
8
0

C/Golang Backend Developer

Send message

Когда Linux conntrack вам больше не товарищ

Reading time5 min
Views32K

Отслеживание соединений (“conntrack”) является основной функцией сетевого стека ядра Linux. Она позволяет ядру отслеживать все логические сетевые соединения или потоки и тем самым идентифицировать все пакеты, которые составляют каждый поток, чтобы их можно было последовательно обрабатывать вместе.

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

Разделяй и властвуй: как мы реализовывали разделение сессий на портале Mail.Ru

Reading time7 min
Views41K


Mail.Ru — огромный портал, существующий более 15-ти лет. За это время мы прошли путь от небольшого веб-проекта до самого посещаемого сайта рунета. В состав портала входит огромное количество сервисов, у каждого из которых своя судьба, и над каждым из которых работает отдельная команда. Разработчикам пришлось как следует потрудиться, чтобы на всех проектах — и новых, и старых, и тех, которые присоединились к порталу по мере его развития, — использовалась единая система авторизации. А через много лет перед нами встала фактически обратная задача: разделить пользовательские сессии. О том, зачем мы это делали, какие трудности нас ожидали и как мы их обошли, я расскажу в этом посте.
Читать дальше →
Total votes 142: ↑125 and ↓17+108
Comments31

Собираем кластер PostgreSQL для разработки и тестирования

Reading time11 min
Views21K

Сегодня СУБД PostgreSQL является одной из самых известных и популярных систем управления баз данными в мире. Открытый исходный код, отсутствие платы за использование, контроль целостности, репликация – это далеко не все преимущества данной СУБД. В современных реалиях, когда тема импортозамещения особенно актуальна, PostgreSQL может оказаться подходящим вариантом.

Обычно PostgreSQL разворачивают в качестве кластера – системы, которая состоит из нескольких связанных между собой компьютеров (серверов) с целью обеспечения отказоустойчивости.

Как правило при развертывании кластеров PostgreSQL используют сторонние инструменты такие как Patroni, stolon, repmgr. 

В статье будет описана установка кластера PostgreSQL с помощью Ansible – инструмента, предназначенного для автоматизации настройки и развертывания программного обеспечения, а также инструмента repmgr, предназначенного для управления репликами и отказоустойчивостью в кластерах PostgreSQL.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments8

Лямбда-исчисление в 397 байтах

Reading time22 min
Views15K

Лямбда-исчисление — это язык программирования с единственным ключевым словом. Это асфальтовая топь Тьюринга, обнаруженная научным руководителем Тьюринга. В этом посте я расскажу о совершенно новой 397-байтной реализации двоичного лямбда-исчисления в виде Linux ELF для x86-64. Также в нём представлены удобно портируемый код на C и собранные двоичные файлы APE для других платформ.
Читать дальше →
Total votes 51: ↑50 and ↓1+68
Comments13

Как превратиться в суперзвезду Zoom-звонков за 15 минут

Reading time10 min
Views39K

Я работаю продакт-менеджером двух команд в Wrike на удалёнке и каждую неделю провожу примерно 20 часов на созвонах. В таких условиях контекст часто теряется из-за отсутствия физического контакта, а если ещё и камера так себе, то вместо лица человека видишь «кашу» без эмоций. Особенно обидно видеть тренинги или выступления именитых спикеров со стандартной камерой в тёмной комнате на фоне обоев, в то время как стоимость подобных тренингов  в разы превышает стоимость нормального оборудования. 

Я решил использовать свой опыт фотографирования и работы со светом и потратить время, чтобы улучшить свои Zoom-звонки «по-быстрому». И теперь хочу научить этому вас! В этой статье попробуем разобраться, какие технические средства можно использовать, чтобы онлайн-встреча напоминала встречу вживую и радовала и вас, и собеседника.

Читать далее
Total votes 99: ↑91 and ↓8+116
Comments133

OSCP: как я сдавал самый известный экзамен по информационной безопасности

Reading time7 min
Views55K

Offensive Security Certified Professional отличается от других сертификаций по информационной безопасности адски сложным экзаменом. Ребята из этой компании бегают по интернету и пристально следят за тем, чтобы никакие подсказки или готовые решения не были доступны публично. И, похоже, им успешно удаётся это делать более 10 лет подряд.

Сдавая экзамен, люди не спят двое суток, решают задачи с постоянно включенной видеокамерой и спрашивают в специальном чате разрешения отойти в туалет. Я прошёл этот путь и сейчас расскажу, как всё устроено.

Как это было
Total votes 52: ↑51 and ↓1+74
Comments27

Надежный, безопасный и универсальный бэкап для U2F

Reading time10 min
Views9K
Мне действительно нравится уровень безопасности, предоставляемый U2F, но вместе с безопасностью, необходимо продумать и план восстановления. Потеря доступа к своим самым важным аккаунтам, если с основным U2F токеном что-то случится — серьезная проблема. В то же время, хотелось бы избежать использования бэкапа, который ставит под угрозу безопасность, предоставляемую U2F.

yubikey

Популярные методы бэкапа


На сегодняшний день, образцовая практика — держать второй независимый U2F токен для бэкапа; этот токен должен быть добавлен вручную на каждый сервис и храниться в «безопасном» месте. Другая общепринятая практика — использовать не-U2F метод в качестве бэкапа (OTP, коды восстановления). Честно говоря, оба этих метода оставляют желать лучшего.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments28

Планирование в Go: Часть II — Планировщик Go

Reading time11 min
Views34K
Привет, Хабр! Это второй пост в серии из трех частей, которая даст представление о механике и семантике работы планировщика в Go. Этот пост посвящен планировщику Go.

В первой части этого цикла я объяснил аспекты планировщика операционной системы, которые, на мой взгляд, важны для понимания и оценки семантики планировщика Go. В этом посте я объясню на семантическом уровне, как работает планировщик Go. Планировщик Go — сложная система, и мелкие механические детали не важны. Важно иметь хорошую модель того, как все работает и ведет себя. Это позволит вам принимать лучшие инженерные решения.
Читать дальше →
Total votes 9: ↑8 and ↓1+11
Comments4

Планирование в Go: Часть I — Планировщик ОС

Reading time10 min
Views29K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Scheduling In Go: Part I — OS Scheduler» автора Билла Кеннеди, о том, как работает внутренний планировщик Go.

Это первый пост в серии из трех частей, который даст представление о механике и семантике, лежащей в основе планировщика в Go. Этот пост посвящен планировщику операционной системы. Начнем!

Внутренняя архитектура планировщика Go позволяет вашим многопоточным программам быть более эффективными и производительными. Важно иметь общее понимание того, как работают планировщики ОС и Go для правильного проектирования многопоточного программного обеспечения. Я опишу достаточно деталей, чтобы вы могли наглядно представить, как все работает, чтобы на практике принимать лучшие решения.
Читать дальше →
Total votes 20: ↑17 and ↓3+24
Comments9

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса

Reading time23 min
Views84K
Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы их работы и отличия между ними.


— Добрый вечер, меня зовут Маша, я работаю в отделе подготовки анализа данных Едадила, и сегодня у нас с вами лекция про тестирование.
Читать дальше →
Total votes 10: ↑9 and ↓1+10
Comments3

3 полезных Python-инструмента для упрощения работы с кодом

Reading time4 min
Views20K

Любой разработчик использует те или иные вспомогательные инструменты. Какие-то из них позволяют ускорить процесс, какие-то — избавиться от ошибок, сделать код более понятным. Такие инструменты есть практически в любой сфере разработки.

Престон Бадир (Preston Badeer), Python-программист, поделился набором расширений которые, по его мнению, значительно упрощают и ускоряют кодинг. За 5 лет работы он перепробовал множество инструментов и выделил три наиболее полезных.
Total votes 15: ↑14 and ↓1+16
Comments6

Let's Go! Три подхода к структурированию кода на Go

Reading time12 min
Views11K
Привет, Хабр! Не так давно у нас вышла новая книга по Golang, и успех ее настолько впечатляет, что мы решили опубликовать здесь очень важную статью о подходах к проектированию приложений на Go. Идеи, изложенные в статье, очевидно не устареют в обозримом будущем. Возможно, автору даже удалось предвосхитить некоторые гайдлайны по работе с Go, которые могут войти в широкую практику в ближайшем будущем.
Читать дальше →
Total votes 17: ↑13 and ↓4+12
Comments16

Конвертация целых чисел в interface{} в Go 1.15

Reading time2 min
Views2.7K
В релиз ноутах Go 1.15 я обнаружил следующую запись:
Конвертация малых целочисленных значений в интерфейс теперь происходит без аллокаций.
В этой небольшой заметке я расскажу в чем заключается оптимизация.
Читать дальше →
Total votes 9: ↑6 and ↓3+7
Comments6

Идеальный Мини-Хакинтош

Reading time6 min
Views132K
image

Когда в 2005 году Apple перешла на платформу Intel, энтузиасты со всего мира задались целью установить MAC OS X на обычные PC (Хакинтош). На пути реализации этой затеи стояли четыре причины. 2 физические и 2 юридические. Дело в том, что для запуска компьютера MAC используется не привычный BIOS, а собственный EFI загрузчик. Вторая причина, это чип SMC который установлен в каждом компьютере Mac. Он генерирует ключи для запуска всех системных приложений MAC OS X. Благодаря нашему соотечественнику под ником Netkas, удалось обойти эти два ограничения созданием эмулятора загрузчика EFI (Chameleon, Chemera, Clover) и эмулятора чипа SMC (FakeSMC.kext). Этих двух программных решений достаточно, что бы установить MAC OS на PC.
Читать дальше →
Total votes 63: ↑48 and ↓15+33
Comments125

Оформление документации в Doxygen

Reading time5 min
Views57K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

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

В данной статье я отвечу на этот вопрос. Для этого мы рассмотрим общие принципы оформления документации Doxygen, познакомимся с ними, и посмотрим на примерах, чего можно добиться, основываясь на них.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments1

Единороги (Airbnb, Uber, Lyft, Careem) увольняют тысячи сотрудников на фоне проблем в период пандемии коронавируса

Reading time3 min
Views11K


На прошлой неделе активно обсуждалась новость об увольнениях в Lyft. Этот известный американский такси-сервис сократил 17% штата или 982 сотрудника. Теперь уже его главный конкурент Uber проводит собственную, куда более масштабную реорганизацию штата. Работу потеряют до 5 400 сотрудников (20% от их общего числа). Не заставили ждать Airbnb, Careem, Eventbrite, MagicLeap, Yelp и многие другие ИТ-продукты с мировым именем.

Изменения в Uber могут коснуться не только водителей и нетехнического персонала – компания уже сообщила о том, что CTO компании Туан Фам покинет компанию после нескольких лет работы. СМИ уже предполагают, что это знак грядущих сокращений и среди IT-специалистов – по оценкам издания The Information, сократить могут 3000 из 3800 инженеров Uber. В статье постараемся разобраться в причинах столь резких и масштабных сокращений.
Читать дальше →
Total votes 20: ↑15 and ↓5+19
Comments16

Инструменты для удалёнки: как неправильное использование приложений чуть не стоило нам $50 000

Reading time4 min
Views13K
Мы работаем удалённо с 2013 года и знаем, в каких местах новички-удалёнщики бьются головой. В статье 5 глупых ошибок, которые мы совершили, пока искали идеальный набор приложений для онлайн-офиса.

Бонус в конце: ссылка на каталог приложений для удалённой работы.

image
Читать дальше →
Total votes 16: ↑12 and ↓4+13
Comments22

Философия в IT как вершина созидания жизни

Reading time24 min
Views17K
Доброго времени суток, Хабрачане!

С большим удовольствием, представляю вашему вниманию свою новую статью об искусстве в мире IT! Мою прошлую статью вы активно читаете, комментируете и голосуете за неё. Спасибо вам за это! Как благодарный автор, я постарался учесть все ваши пожелание и в кратчайшие сроки смог собрать много информации про разные фильмы и сериалы.

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


Total votes 23: ↑18 and ↓5+23
Comments53

Работа в Google. Из Украины в Кремниевую долину

Reading time5 min
Views28K
Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Facebook, почему решил уйти оттуда, и почему Google устраивает его больше.
Ниже мы прикрепили видео с полным интервью.



Для меня математика – костяк мировоззрения


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

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

В олимпиадах я участвовал с 7 класса по 11. В университете уже это бросил: открыл для себя Dota и свободную жизнь.
Total votes 20: ↑14 and ↓6+12
Comments48

Ни дня без спорта — 2: перепрограммируем китайский браслет

Reading time5 min
Views17K
У людей, занимающихся спортом, частым спутником на пробежках или заездах является смартфон с различными приложениями. С велосипедом проще, можно закрепить смартфон, к примеру, на руль и смотреть выдаваемые с датчиков данные. А что делать, если ты бежишь или едешь на лыжах? Можно закрепить смарт на руку, для этого есть специальные чехлы (в том числе поворотные). Но это неудобно и порой громоздко. К тому же русский витязь прямо не ходит.

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments31
1

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Junior
Golang
PostgreSQL
MySQL
Linux
Git
Docker
High-loaded systems