Пользователь
Кто такой DevOps и когда он не нужен
Тема DevOps за последние несколько лет стала очень популярной. Многие мечтают в нее влиться, но, как показывает практика, часто только из-за уровня зарплат.
Некоторые указывают в своем резюме DevOps, хотя не всегда знают и понимают суть термина. Кто-то считает, что изучив Ansible, GitLab, Jenkins, Terraform и им подобные (список можно продолжать на свой вкус), то сразу станет «девопсом». Это, конечно, не так.
TCP против UDP или будущее сетевых протоколов
По идее, если бы, к примеру, однажды один ленивый разработчик не попробовал развернуть свой ML на Python (потому что только его и знал), мир скорее всего никогда не проникся бы такой любовью к презренному «супер-джава-кодерами» языку. А сегодня слабости этого языка в прошлом контексте применения безоговорочно обеспечивают ему первенство в развертывании и запуске многочисленных майнерских А/Б.
Сравнивать можно многое: ARM с Intel, iOS и Android, а Mortal Kombat с Injustice. И нарваться на космический холивар, поэтому вернемся к теме доставки огромных объемов разноформатного контента.
Десять лет назад все были абсолютно уверены, UDP — это что-то про негарантированную доставку. Если нужен надежный протокол — это TCP. И вопреки традициям в этой статье мы будем сравнивать такие, кажущиеся несравнимыми вещи, как TCP и UDP.
Осторожно, под катом 99 иллюстраций и схем и все важные.
Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP
Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.
В этой статье мы начнем с самых базовых аспектов сетевого программирования — приема и передачи данных по сети. Прием и передача данных — это основная и наиболее простая часть из всего круга задач, которыми занимаются сетевые программисты, но часто бывает сложно определить, каким путем лучше двигаться. Уделите этой части достаточно внимания — если у вас останется непонимание, то это может привести к ужасным последствиям для вашей многопользовательской игры в дальнейшем!
Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Еще одна статья о code review
Что такое code review
Code review - инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявить ошибки, недочеты, расхождения в стиле написания кода, в соответствии написанного кода и поставленной задачи.
К очевидным плюсам этой практики можно отнести:
- Улучшается качество кода
- Находятся «глупые» ошибки (опечатки) в реализации
- Повышается степень совместного владения кодом
- Код приводится к единому стилю написания
- Хорошо подходит для обучения «новичков», быстро набирается навык, происходит выравнивание опыта, обмен знаниями.
Ожирение — расслаблять и вовлекать
Очевидные причины
Все знают причины появления лишнего веса. Если мало двигаешься и много ешь, то наступает ожирение. Нужно меньше есть и сжигать калории, чтобы не толстеть. Это все знают.
Также причиной ожирения называют гены, экологию, стрессы. Для борьбы предлагают раздельное питание, отказ от сладкого или мучного, регуляцию гормонов, пересадку микрофлоры и ушивание желудка. Но главное — меньше есть и больше бегать.
Без преувеличения, миллионы научных работ посвящены изучению ожирения. Еда и диваны вредны — эта очевидная истина прописана в миллиардах анекдотов, картинок и голов. Остался пустяк — выбрать подходящую диету и комплекс упражнений из сотен популярных вариантов.
Постулаты неоспоримы, хотя при переходе от теории к практике часто раздается скрип и треск. Впрочем, эти странные звуки легко заглушить звонкими аргументами: лень, неграмотность, самообман.
Трудно усомниться в очевидном. Солнце вращается вокруг Земли — не нужны доказательства тому, что видно невооруженным взглядом, не так ли? Не так.
Лучшие материалы для самостоятельного изготовления медицинских масок
Во время пандемии коронавируса маски в аптеках мгновенно раскупают, и многим людям приходится обходиться тем, что некоторые учёные называют «крайней мерой»: самодельными масками.
Данные показывают, что некоторые самодельные маски успешно останавливают вирусы. Но если вам придётся делать маску самостоятельно, из какого материала её лучше делать? Во время распространения коронавируса по Китаю многие сетяне начали рассказывать об изготовлении масок из салфеток, кухонных полотенец, хлопковой ткани и даже апельсинов!
Роль самоизоляции и мытья рук
Многие из нас уже несколько недель сидят дома и в голове все чаще звучит мысль — а нужно ли? Может быть власти и медиа сильно преувеличивают — если что и было, то уже закончилось, можно возвращаться в привычный ритм. В этой статье я дам вам возможность самим ответить на этот вопрос. Пользуясь случаем, я разработал приложение наподобие Plague Inc, только без игровой механики, но с возможностью точечной настройки параметров — Pandemic simulator. В статье я покажу, как отличается характер пандемии в зависимости от нас с вами — сидим ли мы дома и моем ли руки.
Вот так изменится население США в случае если у COVID-19 будет 90% летальность.
Вечный сервер — как избавиться от ежемесячных платежей за хостинг
— На вашем счету недостаточно средств для продления услуги. Вся ваша работа за 10 лет будет уничтожена в течение 2 рабочих дней.
Всем знакома ситуация, когда списания за хостинг происходят в неподходящий момент: на карте кончились деньги или она просрочена, письмо с уведомлением попало в спам, у вас в этот момент переезд и рожает кот. В итоге услуги блокируются, все ломается, и нужно срочно бежать оплачивать. А еще кризис, нужно пытаться не умереть от коронавируса и приходится выбирать между гречкой и оплатой серверов для личных проектов.
В статье мы расскажем как избавиться от регулярных платежей на содержание хостинга, доменных имен, SSL-сертификатов. И как сделать максимально автономный сервер, который переживет зомби-апокалипсис.
CloudFlare — рак интернета
Дисклеймер: я сам много пользуюсь CloudFlare и считаю, что они делают большое дело, помогают развивать интернет, дают бесплатно крутые продукты, и в целом отличные ребята. Статья описывает проблемы глобализации и новые угрозы, когда децентрализованный интернет становится централизованным.
Когда CloudFlare только появился, это была настоящая революция в веб-хостинге: в два клика, без переезда на другой сервер, к своему сайту можно было подключить профессиональный CDN, который экономил кучу трафика, ускорял загрузку статических файлов и еще защищал от DDoS. Раньше позволить себе такое могли только компании за большие деньги, а теперь это стало доступно каждому, еще и бесплатно!
С тех пор CloudFlare сильно вырос и сегодня проксирует через свою инфраструктуру треть интернета. Из-за этого появились проблемы, которых раньше не существовало. В посте мы разберем, как CloudFlare угрожает нормальной работе интернета, мешает обычным людям пользоваться сайтами, имеет доступ к зашифрованному трафику, и что с этим делать.
Коронавирус: как мы себя обманываем
Искажение смертности
Уверен для многих станет откровением факт того, что количество смертей при наличии коронавируса, зафиксированных в ВОЗ, не является числом смертей от коронавируса.
А как вы думали? Новая для человечества инфекция ещё до конца не изучена, но в больнице из пригорода какого-нибудь Ливорно уже умеют определять смерть от неё? Назвать причину смерти - это же не баг при компиляции отловить. Всё гораздо сложнее.
Есть заключительный клинический диагноз. Основное заболевание может включать несколько нозологических форм. Существует понятие конкурирующих заболеваний, которыми одновременно страдал умерший и каждое из которых в отдельности могло привести к смерти.
Есть ещё заключение о причине смерти по результатам патологоанатомического вскрытия, а также случаи его расхождения с заключительным клиническим диагнозом, которые разрешаются экспертной комиссией.
Именно поэтому ВОЗ чёрным по белому пишет:
Определение истинной смертности от COVID-19 требует дополнительного времени. Сегодняшние данные свидетельствуют о том, что общий коэффициент смертности составляет 3–4%, при этом уровень смертности от инфекции будет ниже.
Orchestrator и VIP как HA-решение для кластера MySQL
Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельных частей. Автоматическое восстановление кластера в случае отказа мастера сильно снижает время реагирования на инцидент и время простоя системы. В этой статье я рассмотрю схему обеспечения высокой доступности (HA) кластера MySQL на основе MySQL Orchestrator и виртуальных IP адресов (VIP).
В софте всё восхитительно, но все недовольны
Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже».
Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, пришедшие лишить нас счастья и памяти. Мобильные приложения стали прожорливее, чем старые операционные системы. А в самих операционных системах уже толком нет прогресса, но почему-то они продолжают разбухать в размерах. То ли дело было, когда люди умели уместить ОС на дискету!
Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов. А в итоге ситуация напоминает классическую речь Луи Си Кея «Everything's amazing and nobody's happy»: всё стало удивительно хорошо, а люди сидят и жалуются.
Поэтому решил описать эти упущенные факторы. Поскольку текст получился резким, хочу подчеркнуть, что мнение сугубо моё личное (хоть я и ссылаюсь на конференции компании, в которой работаю).
Async programming in .NET: Best practices
Дмитрий Иванов — Software Analysis TeamLead в Huawei, в прошлом техлид JetBrains Rider и разработчик ядра ReSharper: структур данных, кэшей, многопоточности, регулярный спикер конференции DotNext.
Под катом — видеозапись и текстовая расшифровка доклада Дмитрия с конференции DotNext 2019 Piter.
Что такое «чистый код» в 2020-м?
«Чистый код» и чистый кот
Разработчиков хлебом не корми, дай поспорить о чистоте кода: например, недавно шумиху навёл пост Дэна Абрамова «Goodbye, Clean Code».
Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — «Clean Code», где Роберт «Дядюшка Боб» Мартин сразу заявляет: «сколько программистов, столько и определений». Впрочем, из этого он делает не вывод «говорить об этом бесполезно», а вывод «стоит сравнить разные определения». Поэтому в книге он привёл мнения нескольких выдающихся программистов о том, что такое чистый код.
Нам стало интересно: в 2020-м представления человечества о чистом коде остались теми же, или с выхода книги как-то изменились? Различаются ли мнения у разных айтишников: может, бэкендеры видят всё с одного ракурса, а тестировщики с другого?
В апреле Дядюшка Боб прилетит в Петербург выступить на трёх наших конференциях, и они как раз по трём разным направлениям (про .NET-разработку, про тестирование и про JavaScript). Поэтому мы спросили нескольких спикеров этих конференций, что такое чистый код для них, чтобы сравнить мнения экспертов индустрии в 2020-м.
А поскольку тема холиварная, наверняка кто-то из вас окажется не согласен с какими-то из мнений. В таком случае айда спорить в комментариях, это тоже весело!
UPD: Когда мы писали эту статью, Роберт планировал приехать на наши конференции. К сожалению, ситуация изменилась. Также из-за запрета на проведение массовых мероприятий мы перенесли конференции на другие даты. Следите за обновлениями на сайте конференции. 13 марта мы обновили этот пост, чтобы он не содержал некорректную информацию.
Моё разочарование в софте
Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.
Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.
Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.
Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Текстовый редактор — это вам не высшая математика, тут думать надо
В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Эффективная работа из дома: общее и личное
Моё домашнее рабочее место
Да, о работе из дома есть уже миллион текстов, в том числе и на Хабре. Но многие советы из них вроде «оденьтесь по-офисному, и тогда будет рабочий настрой» для меня выглядят слишком обобщающими. Люди разные, и одним формальная одежда действительно помогает, а другим куда лучше работается в пижаме.
Поэтому сейчас, когда с удалёнкой столкнулось много новых людей и им полезна информация, я решил написать о ней немного по-другому. В тексте разделены общие соображения и мой личный опыт. Не надо считать этот опыт «правильным», ваш может очень отличаться. Скажем так, в тексте есть абстракция и пример реализации — а дальше вам надо разобраться, как всё имплементировать конкретно в вашем случае.
Я работаю из дома много лет (сначала как фрилансер, сейчас как штатный удалённый сотрудник с фиксированным графиком), а также читал много чужих текстов об удалёнке. Всё это не сделало меня идеалом эффективности, у меня самого не во всём получается следовать собственным советам. Но они заметно помогают мне, и если вы сейчас оказались на удалёнке, то могут помочь и вам. Также буду рад дополнениям в комментариях.
Вышел релиз GitLab 12.8 с обозревателем логов, NuGet и панелью управления соответствием требованиям
Новый релиз GitLab 12.8 посвящен подходу «единое место»: для всех ваших логов, пакетов NuGet и контроля за соответствием требованиям. По аналогии с тем, что GitLab — это единое место для всего вашего жизненного цикла DevOps.
Представляем PowerShell 7.0
Что такое PowerShell 7?
Для новичков, PowerShell 7 является последним крупным обновлением PowerShell, кросс-платформенного (Windows, Linux и macOS) инструмента автоматизации и инфраструктуры конфигурации, оптимизированной для работы со структурированными данными (например, JSON, CSV, XML и т. д.), REST API и объектными моделями. PowerShell включает оболочку командной строки, объектно-ориентированный язык сценариев и набор инструментов для выполнения сценариев/командлетов и управления модулями.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность