Engineering Manager, Senior Software Developer
Как писать лёгкие тексты
Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчика, редактора и критика.
Обучение сотрудников в экспериментальном формате
Идею он взял, как ни странно, у Бориса Березовского. Где-то, когда-то, он прочитал, что Березовский, еще работая в России, написал методичку для сотрудников своей компании. Ну вот, и решил попробовать.
Он утверждает, что эти тексты приносят компании ощутимую пользу. В основном потому, что они написаны не формально, и без отрыва от контекста. Прям про ту действительность, которая их окружает каждый день. И через тексты он учит сотрудников, как с этой действительностью справляться.
Я не берусь судить, прав он, или нет, поэтому выношу тексты на ваш суд. Он дал мне для публикации две небольшие главы, где объясняются два принципа управления. На манеру изложения внимания не обращайте – я не стал ее переделывать, чтобы не потерять колорит.
Интересно ваше мнение и про текст, и про жанр – переложение книжных истин в конкретный контекст.
10 советов для того, чтобы быть хорошим техническим лидером
автора VijayDeveloper.
Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технологическим лидером. Однако помните, что «с большой силой приходит большая ответственность».
Существует несколько вещей, о которых необходимо позаботиться, будучи техническим лидером. Очевидно, вам не нужно писать код столько, сколько этого бы потребовалось, будучи разработчиком программного обеспечения. Тем не менее, есть вещи, не связанные с кодом, которые теперь являются вашей обязанностью.
Ищем по номеру Instagram профиль
В конце статьи представлен готовый инструмент
Что можно узнать о человеке, с которым ты не знаком, если у тебя есть жалкие 11 цифр его номера телефона?
Нам часто приходится иметь дело с анализом информации из открытых источников. В частности, самыми полезными оказываются соц. сети, так как именно они содержат в себе информацию о конкретных людях, которые и сами были рады ей поделиться.
По большому счёту, любая современная соц. сеть — это кладезь знаний для OSINT-исследователя, однако большая часть действительно полезной информации скрыта от глаз простого обывателя, и получить её просто так (без некоторых знаний и должной предварительной подготовки) не получится. Часто нужно заранее хорошо знать устройство механизмов соц. сети и долгими часами искать закономерности в проходящих «за кулисами» процессах. И здесь дело даже не в поиске каких-то ошибок, багов или уязвимостей, которые можно эксплуатировать, а, скорее, о ситуациях, когда фича, которая должна была
Сегодня мы присмотримся ко взаимодействию социальной сети Instagram с номерами вашей телефонной книги.
12 социальных навыков, которые совершенствуют работу руководителей IT-проектов
Растущая конкуренция на рынке труда свидетельствует о том, что одной лишь работы, основанной на технических навыках, уже недостаточно. В реальности такие навыки включают в себя создание структур разбивки работ, управление бюджетом проекта, оценку заработанной стоимости и диаграммы критического пути. Все эти навыки требуют технической подготовки и применения профессиональных знаний и инструментов для успешной работы. Каковы социальные навыки лидера и как они помогают раскрыть возможности руководителей проектов?
Социальные навыки (также известные как “навыки работы с людьми") также важны, их развитие становится все более популярным среди рабочих мест во всех отраслях промышленности. Эти навыки обеспечивают реальное преимущество руководителям, которые научились их хорошо использовать.
Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS
В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.
Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Хорошее публичное выступление: 11 простых советов
Дисклеймер
Это список не конечен и не претендует на истину в последней инстанции — я структурировал свой опыт публичных выступлений и выбрал самые универсальные советы, выполнение которых позволит почти гарантированно сделать выступление как минимум неплохим.
1. Структура доклада
Парадоксально, но многие докладчики даже на крутых конференциях зачастую не делят своё выступление на три основные части – формулировка проблемы, предпринятые шаги, выводы. Структура может быть сложнее, но базовая она почти всегда такая, даже если вывод – «у нас ничего не получилось».
Ключевая проблема для слушателя – отсутствие вводной части. Выводы он может сделать и сам, а вот стартовать с опозданием сложно и неприятно. Он ещё не понял, что вы будете про пищеварение, а уже нужно вникать в строение эпителия тонкого кишечника. Результат – ваш доклад попадает в слушателя не на все 100%, а имеет шансы и вовсе пролететь мимо.
Практичный гайд по переменным окружения в Go
Переменные окружения — лучший способ хранения конфигурации приложения, поскольку они могут быть заданы на системном уровне. Это один из принципов методологии Twelve-Factor App, он позволяет отделять приложения от системы, в которой они запущены (конфигурация может существенно различаться между деплоями, код не должен различаться).
Исповедь docker хейтера
Я должен признаться. Я ненавижу docker. Всей своей душой. Это самая ужасная софтина, которую я видел за последние 10 лет.
С одной стороны, я очень уважаю одноименную компанию. Ребята из Docker Inc. реально популяризировали контейнеризацию. Теперь о ней не знает только ленивый. С другой стороны, ничего принципиально нового они не изобрели — контейнеризация на момент, когда Docker "выстрелил", уже существовала более 30 лет (начиная от chroot, вспомним еще jails и zones, ну, и наконец-то — namespaces & cgroups).
Круто, что docker реально ускоряет разработку во множество раз. Если вести ее правильно, то даже без потери в качестве. В любом случае, docker здесь, от него не деться и приходится им пользоваться.
Но почему у меня этот продукт с логотипом кита вызывает столь разнообразные эмоции? Ниже я перечислю те моменты, от которых бомбит. Возможно, что читатель будет не согласен или, напротив, найдет какие-то вещи, о которых не знал и сочтет интересными.
Disclaimer: все написанное ниже является личным мнением автора и может как отражать реальность, так и не отражать реальность. Материал строго провокационного характера и основной целью является не унизить или обидеть кого бы то ни было, а скорее заставить людей включить голову и осознать масштабы глубин (с).
Инструментарий тимлида от e-mail до канбан-доски
Итак, по доброй традиции у нас будет 6 основных направлений нанесения пользы. Ниже их «говорящие» названия:
- Личное развитие.
- Работа с командой.
- Инструментарий тимлида.
- Развитие осознанности.
- Трансформационные изменения в процессах и людях.
- Выстраивание технологического процесса.
Сегодня поговорим об инструментарии тимлида. В эту секцию традиционно попадают доклады, которые так или иначе связаны с систематизацией, алгоритмизацией и автоматизацией различных обязанностей тимлида, начиная от учёта и постановки задач и заканчивая картами развития, чеклистами, программами фасилитации встреч и т.д. и т.п. В общем всё, что так или иначе помогает тимлиду в работе.
Инструментарию тимлида в этот раз будет посвящено больше десяти докладов. С моей точки зрения это вполне соответствует положению дел в индустрии. Поскольку лиды в большинстве своём инженеры, то методы решения даже не инженерных задач у них всё равно близки к инженерным.
Разбираемся с интерфейсами в Go
В последние несколько месяцев я проводил исследование, в котором спрашивал людей, что им трудно понять в Go. И заметил, что в ответах регулярно упоминалась концепция интерфейсов. Go был первым языком с интерфейсами, который я использовал, и я помню, что в то время эта концепция казалась сильно запутанной. И в этом руководстве я хочу сделать вот что:
- Человеческим языком объяснить, что такое интерфейсы.
- Объяснить, чем они полезны и как вы можете использовать их в своём коде.
- Поговорить о том, что такое
interface{}
(пустой интерфейс). - И пройтись по нескольким полезным типам интерфейсов, которые вы можете найти в стандартной библиотеке.
Расти, Team Leader, большой и маленький
Что такое быть Team Leader
Проблемы есть во многих компаниях, часто люди допускают ошибки. Именно общение с ними сподвигло меня на написание статьи. В ближайшем времени, я постараюсь продолжить публикации. Надеюсь, они будут полезны TL, CTO, руководителям департаментов или тем, кто только собирается ими стать. А начну я с рассказа о том, что такое быть Team Leader, это будет взгляд изнутри.
Serverless-подход для быстрой разработки рабочего видео-сервиса
Я работаю в аутсорсе, где главный принцип можно описать фразой «продавай много, делай быстро». Чем быстрее сделаем, тем больше заработаем. И, желательно, чтобы всё работало не на костылях и соплях, а с приемлемым уровнем качества. Я расскажу о своём опыте, когда за короткий срок нужно было разработать промо-сервис.
Дано: root-аккаунт на AWS, отсутствие ограничений по выбору стека технологий, один бэкендер, и один месяц на разработку.
Задача: реализовать промо-сервис, где пользователи загружают от одного до четырёх видео длительностью от одной до четырёх секунд, которые потом встраиваются в оригинальный видеоряд. То есть, подменяем фрагменты оригинального видео (заставка сериала) на пользовательские. Киллер-фича — возможность отправить своё имя, которое в виде красивого текста наложится на соответствующий фрагмент видео. Кроме того, пользователь может загружать видео длиной от 4 до 30 секунд, и на стороне сервиса оно обрежется до 4 секунд.
Принципы построения REST JSON API
Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.
Зачем
Надеюсь, читающий уже понимает, зачем ему вообще нужен именно REST api, а не какой-нибудь монстр типа SOAP. Вопрос в том, зачем соблюдать какие-то стандарты и практики, если браузеры вроде бы позволяют делать что хочешь.
- Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
- Велосипеды со всякими
{error: "message","result":...}
невозможно нормально тестировать и отлаживать - Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
- Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт
200 ОК
— ну, это такое себе развлечение.
Своя видео-платформа — ffmpeg и качество кодирования видео. Part 2
Lenna любит хорошо выглядеть — фотомодель в конце концов. Ходят легенды, что добавление её в заголовок статьи, связанной с обработкой визуальных данных даёт +5 к шансу на плюсы.
Продолжаю раскрывать особенности работы видео сервисов. Сегодня заметки про параметры кодирования и их выбор.
Первая часть
Большинство кодеков предлагают достаточно сбалансированные значения по умолчанию, позволяя получить нормальный результат без долгого подбора параметров. Однако, когда речь идёт о большом архиве видеоматериала, об ограничениях на битрейт, соображениях совместимости с оборудованием клиента и разумном желании сохранить качество оригинала, всё становится интереснее.
К сожалению, волшебной кнопки «скодировать совсем хорошо» не предусмотрено. Как и аналога caniuse для параметров кодирования. Придётся разбираться в особенностях работы кодеков.
Мысленный эксперимент: Flutter на Go
Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся в браузере Chrome и сбежавшим в мир консоли – и это навело меня на мысль "хм, а ведь Flutter мог вполне бы быть написан на Go!".
Ведь почему нет? И Go и Dart созданы Google, оба типизированные компилируемые языки – повернись некоторые события чуть иначе, Go был бы отличным кандидатом для реализации такого масштабного проекта, как Flutter. Кто-то скажет – в Go нет классов, дженериков и исключений, поэтому он не подходит.
Так давайте представим, что Flutter уже написан на Go. Как будет выглядеть код и вообще, получится ли это?
Популярные бюджетные носимые радиостанции
Это недорогие китайские рации типа Baofeng и Xiaomi, а также аксессуары к ним.
Information
- Rating
- Does not participate
- Location
- Минск, Минская обл., Беларусь
- Date of birth
- Registered
- Activity