Pull to refresh
65
0.1

Техлид

Send message

Программирование и ИТ во мгле, но это не точно

Level of difficultyEasy
Reading time14 min
Views29K

Приветствую хабравчане!

В данной статье хочу поделиться проблемами в ИТ. Высказать об этом своё мнение. Обсудить в комментариях, всё ли так плохо на самом деле и каков выход из данной ситуации. Меня не покидает ощущение, что мы как программисты, что то потеряли при очередном витке ИТ прогресса. Обсудим?

Давай, чё там у тебя
Total votes 157: ↑130.5 and ↓26.5+104
Comments304

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

Level of difficultyMedium
Reading time7 min
Views8.1K

Эта секция написана уже после статьи, чтобы читатель посмотрел, а надо ли ему что-то отсюда или нет, но это забавное приключение, как всегда.

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Total votes 29: ↑28 and ↓1+27
Comments13

Мы шутили над «опытными пользователями ПК», а ведь они вымирают

Level of difficultyEasy
Reading time7 min
Views73K


Пока в Лас-Вегасе проводят киберспортивные турниры по Excel, где сверхлюди уверенно соревнуются в скоростном решении абсурдно сложных рабочих задач при помощи самого универсального офисного софта, весь остальной мир так же уверенно в вопросе офисных задач деградирует. Двадцать лет назад гики и энтузиасты компьютерной техники шутили, что «отбери у современного пользователя компьютерную мышь и он будет беспомощен», и в чем-то они были правы. Когда-то ненавистные многим графические операционные системы «извратили» работу за ПК, превратив ее из ввода-вывода информации с помощью клавиатуры в тыканье курсором мыши по экрану. Нелюбовь к мыши, кстати говоря, через года пронесли многие: есть огромный массив рабочих задач, где использование мыши избыточно. То, что можно было сделать за две секунды, делается мышью минуту.

Но если я скажу вам, что для того, чтобы ввести в ступор молодого пользователя сейчас, ему достаточно открыть на ПК гугл-таблицу? Или даже просто показать персональный компьютер? Отберите у молодого человека смартфон, дайте ему компьютер и наблюдайте за тем, как он впадает в отчаянье. Сейчас та самая Марьивановна из бухгалтерии на фоне людей, выросших со смартфоном в руках, кажется просто гениальным хакером. И это не брюзжание старика про «раньше было лучше». Это реальная проблема, к которой мы не просто летим на сверхзвуке, мы уже в ней по самые уши. Людей, умеющих пользоваться компьютером даже на уровне тыканья курсором мыши по иконкам все меньше и меньше, хотя вычислительной техники вокруг все больше и больше.
Читать дальше →
Total votes 296: ↑276.5 and ↓19.5+257
Comments636

Внутри S3. Доклад Яндекса

Reading time12 min
Views17K

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

Так что сегодня я расскажу, как сделать так, чтобы ни один клиент, даже с самым неудобным паттерном нагрузки, не положил сервис.

Читать далее
Total votes 82: ↑81 and ↓1+80
Comments52

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение

Level of difficultyMedium
Reading time9 min
Views9.3K

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

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments29

Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная

Level of difficultyEasy
Reading time9 min
Views7.4K

Компания у нас на full-remote, поэтому заседание кружка параноиков мы проводим как-то так. Иногда под банджо в углу.

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

Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:

Макаки жуют провода. Цикады принимают кабели за ветки, и расковыривают их, чтобы отложить внутрь яйца. Акулы жуют трансатлантические кабели Google. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки.

Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan я сегодня вам и расскажу.

Читать далее
Total votes 36: ↑36.5 and ↓-0.5+37
Comments43

От хаоса к порядку. Как мы внедряем стандарты в CDEK

Level of difficultyMedium
Reading time11 min
Views4.4K

Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ошибок. Кроме того делают взаимодействие между людьми и системами немного проще.

Статья будет полезна менеджерам проектов, разработчикам, тестировщикам, аналитикам и другим IT‑специалистам. Поговорим о способах выработки и применении стандартов, их влиянии на проектирование, разработку, тестирование и стабильность системы в целом. Для примера возьмем ERP CDEK, которая ежедневно обеспечивает работу десятков тысяч пользователей, нескольких сотен тысяч клиентов и позволяет нам обрабатывать до полумиллиона заказов в день.

Читать далее
Total votes 51: ↑48 and ↓3+45
Comments28

Почему секретарша является самым дорогим ресурсом в команде?

Level of difficultyEasy
Reading time3 min
Views47K

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

Читать далее
Total votes 100: ↑91 and ↓9+82
Comments176

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Reading time7 min
Views37K

В жизни любого разработчика наступает момент, когда он роняет прод. Представьте: полдень, в Skyeng час пик, тысячи запланированных онлайн-уроков, а наша платформа лежит… 

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

Читать далее
Total votes 173: ↑169 and ↓4+165
Comments174

Манифест Киберправды

Level of difficultyEasy
Reading time12 min
Views3.6K

Данный текст является ответом на опубликованную накануне «Оду бесполезности споров» с целью рассказать о проекте, который намерен принципиально решить проблему анализа достоверности информации в Интернете и оценки репутации ее авторов. Я считаю, что новые никогда ранее не существовавшие децентрализованные технологии дают нам возможность наконец найти ответ на извечный вопрос «Что есть истина?», которым уже почти две тысячи лет задается человечество.

Читать далее
Total votes 32: ↑21 and ↓11+10
Comments76

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views136K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 506: ↑498 and ↓8+490
Comments351

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views47K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее
Total votes 111: ↑109 and ↓2+107
Comments48

Самый шерстяной волчара: тимлид с технической ролью и без

Level of difficultyMedium
Reading time16 min
Views11K

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

Сегодня поговорим о техническом лидерстве, где оно может лежать в команде разработки, обязательно ли это тимлид или всё-таки не обязательно. А поможет нам в этом Анастасия Абрашитова, руководитель службы инструментов репозитория в Yandex Infrastructure.

Читать далее
Total votes 41: ↑38 and ↓3+35
Comments6

Практический пример декомпозиции монолитного PHP приложения

Level of difficultyMedium
Reading time26 min
Views7.8K

Декомпозиция монолита - не редкая проблема. Она возникала в большинстве компаний, где я работал. Происходит это потому, что на ранних стадиях развития любого стартапа накапливается так называемый decision debt - выбранная архитектура является оптимальной для быстрой разработки и экспериментирования, но не для зрелого продукта.

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

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

Решаем вечную проблему deployment bottleneck и репликации окружений

Level of difficultyMedium
Reading time6 min
Views2.2K

Подробно и на примере рассматриваем проблему deployment bottleneck и как она появляется. Рассказываю как можно легко и быстро настроить реплицируемые stage-окружения для ее решения, дав разработчикам делать свою магию параллельно и независимо друг от друга.

Подробнее
Total votes 3: ↑3 and ↓0+3
Comments7

Как мы внедряли Sentry. Часть 1 — установка и настройка

Level of difficultyMedium
Reading time12 min
Views12K

Привет! Я Виталий, DevOps в LEADS.SU, в этой статье хочу рассказать как мы внедряли Sentry self-hosted и приводили к продакшен состоянию, которое должно отвечать требованиям высокодоступности - нельзя терять события ошибок. При этом не хотелось заморачиваться с кластеризацией для разных инструментов (вроде redis, postgresql, clickhouse, kafka и прочее). И тут мы вспомнили про распределенную сеть доставки логов из нескольких узлов td-agent и решили попробовать.

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

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficultyEasy
Reading time7 min
Views88K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Total votes 282: ↑279 and ↓3+276
Comments160

Люди не понимают ООП

Level of difficultyMedium
Reading time15 min
Views113K

«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1

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

Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.
Читать дальше →
Total votes 154: ↑147 and ↓7+140
Comments457

Бесплатные векторные карты на своём хостинге

Level of difficultyMedium
Reading time6 min
Views14K

Векторные карты Protomaps на базе OSM

Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно публиковать карты?

На эту тему есть популярные руководства, в том числе по работе с базами PostGIS и запуску тайлсерверов для реализации бесшовных карт OSM. Но есть принципиально иной подход — векторные карты Protomaps, которые обеспечивают более высокое разрешение, настройку внешнего вида и наложение произвольных меток. Они изначально предполагают максимальную простоту в создании своих карт. А главное, что разместить тайлы можно на своём хостинге или в облаке.
Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments12
1
23 ...

Information

Rating
3,329-th
Registered
Activity