Pull to refresh
60
0
Богдан Рыхаль @ganjar

Web программист

Send message

Я фронтенд разработчик, а не обезьянка

Reading time4 min
Views40K

2 дня унижения в чатах, пачка Ново-Пассита, но я выдержал это испытание и узнал, что до сих пор думают о фронтенд разработчиках «другие» разработчики. Будет интересно.

Читать далее
Total votes 62: ↑41 and ↓21+20
Comments255

Вышел Bootstrap 5: оцениваем 7 главных нововведений

Reading time4 min
Views44K

Пройдя через несколько альфа- и бета-версий, наконец-то появился Bootstrap 5, на что у разработчиков ушло несколько месяцев. Новая версия претерпела серьезные изменения, включая отказ от поддержки Internet Explorer (IE) и зависимости jQuery. От IE было решено отказаться, потому что браузер занимает всего 3% рынка и его доля продолжает снижаться.

Что такое Bootstrap? Это самый популярный в мире CSS-фреймворк с открытым исходным кодом, который разработан командой Twitter. В v5 внесено сразу несколько критически важных изменений, давайте посмотрим, что там и как.
Total votes 82: ↑76 and ↓6+70
Comments21

Масштабирование Kubernetes в Pinterest: через сбои и аварии

Reading time9 min
Views4.3K

Kubernetes API Server вылетел с ошибкой (OOMKilled)

Прошло больше года с нашего [компании Pinterest] перехода на платформу Kubernetes. С тех пор мы разработали множество новых функций, гарантировали надёжность и масштабируемость платформы, а также накопили опыт и лучшие практики.

В целом, платформа Kubernetes всем понравилась. Согласно результатам опроса, три её главных преимущества — более простое управление вычислительными ресурсами, лучшая изоляция ресурсов и сбоев, а также более гибкое масштабирование.

К концу 2020 года мы запустили в кластерах Kubernetes более 35 тыс. подов на 2500 узлах для наших корпоративных пользователей, и это количество быстро растёт.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments4

Полезные консольные Linux утилиты

Reading time13 min
Views107K

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


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 118: ↑114 and ↓4+110
Comments110

Принципы работы протокола BGP

Reading time14 min
Views203K
Сегодня мы рассмотрим протокол BGP. Не будем долго говорить зачем он и почему он используется как единственный протокол. Довольно много информации есть на этот счет, например тут.

Итак, что такое BGP? BGP — это протокол динамической маршрутизации, являющийся единственным EGP( External Gateway Protocol) протоколом. Данный протокол используется для построения маршрутизации в интернете. Рассмотрим как строится соседство между двумя маршрутизаторами BGP.

My Image
Рассмотрим соседство между Router1 и Router3. Настроим их при помощи следующих команд:
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments8

BGP hijacking с помощью добавления AS жертвы в AS-SET атакующего

Reading time7 min
Views14K
Статья поделена на три части части. В первой содержится общая информация о том что такое BGP hijacking и его традиционный вариант. Для тех кто знаком с этим явлением, рекомендуется перейти сразу ко второй части. Во второй части будет описан метод анонсирования чужих префиксов с помощью добавления чужой AS в свой AS-SET. В третьей части, будет сделана оценка сложности использования метода, описанного во второй части, для захвата IP-адреса ресурса torproject.org и выписки сертификата для него. Предполагается, что читатель знаком с принципами работы BGPv4.

Простой BGP hijacking


Если в двух словах, то BGP hijacking это захват чужих IP-адресов (случайный или преднамеренный).

Обычно, BGP hijacking выглядит таким образом: AS, которой не принадлежит какой-то префикс начинает его (чужой префикс) анонсировать, аплинки/пиры его принимают, и он начинает распространяться по Интернет. Принимают они его по той причине, что нет фильтрации префиксов на стыке (либо это ошибка конфигурации, либо так задумано (т.к. построить префикс-фильтр на стыке с очень крупными операторами очень сложно ввиду различных причин, для этой статьи это не важно)). Один из самых громких примеров недавнего времени, когда Ростелеком (AS12389) начал анонсировать префиксы Mastercard (AS26380), Visa и некоторых других финансовых организаций (по официальной версии, в результате сбоя ПО). Как выглядели эти анонсы, можно посмотреть в истории bgplay (просмотр через web, json (архив)), вот один из них на одном из коллекторов RIPE (префикс 216.119.216.0/24 принадлежит Mastercard (AS26380)):

                "source_id": "05-193.203.0.185", 
                "path": [
                    6939, 
                    12389
                ], 
                "community": [], 
                "target_prefix": 216.119.216.0/24
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments0

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Reading time70 min
Views380K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →
Total votes 317: ↑312 and ↓5+307
Comments459

Мы посадили за телефон робота вместо человека и чуть все не сломали

Reading time5 min
Views10K

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

Процесс вроде начался — распознавание голоса вышло на новый уровень. Гугл на своей презентации показывает, как робот звонит в ресторан, бронирует столик, а человек на другом конце не понимает, что говорил с роботом. Корпорации одна за другой выпускают голосовых помощников — Яндекс Алису, Тиньков — Олега. Роботы поддерживают беседу и шутят шутки. 

Мы тоже подумали, что посадить за телефон робота будет отличной идеей. Но поняли — на самом деле все не так уж круто.

Читать далее
Total votes 28: ↑25 and ↓3+22
Comments66

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views61K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Total votes 61: ↑55 and ↓6+49
Comments71

Техдолг. Все говорят: «невозможно», а я говорю, что буду

Reading time18 min
Views13K
Очень часто драматически и патетически утверждают, что техдолг лучше не плодить — потом не устранишь. Да, без него, конечно, лучше. Но последствия устранить все-таки можно, и глава Программного комитета Артем Каличкин на конференции DevOpsConf 2020 поделился своим опытом в этой области.

Можно спросить, а причем здесь техдолг, если конференция DevOps? Холиварить об этом можно, например, в рамках DevOps-фуршета, но настолько ли это широкое понятие? Мы узнали, что Артем относит к техдолгу все изменения и доработки, инфраструктурные модификации и изменения процессов, изменения структур команд, направленные на устранение гэпов — которые были допущены (осознанно или нет) в рамках запуска продуктов и фич, и которые со временем сильно мешать жить.

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


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

Почему чип Apple M1 такой быстрый?

Reading time19 min
Views155K

Опыт использования новых маков с М1 начинает расставлять точки над i. Эти чипы быстрые. Очень быстрые. Но почему? В чем магия?

Я смотрел видео на Youtube, где автор купил iMac в прошлом году максимальной конфигурации. Машина с 40+ Gb ОЗУ стоила ему около 4000$. Он смотрел с недоверием, как его гипердорогой iMac был разнесен в пух и прах новеньким Mac mini с М1 на борту, который стоил около 700$.

В реальном мире, тест за тестом, макбуки с М1 не просто превосходят топовые компьютеры Intel прошлых поколений. Компьютеры Mac просто уничтожают их. С недоверием люди стали спрашивать, как такое возможно?

Читать далее
Total votes 115: ↑73 and ↓42+31
Comments550

Flipper Zero — в шаге от финальной версии железа

Reading time3 min
Views27K


Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7]

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

Последние полтора месяца мы активно работали над валидацией железа, стараясь покрыть тестами все сценарии использования, и сейчас мы почти готовы залочить BOM и приступить к производству первых 50 Флипперов в формате EVT (Engineering Validation Test). Устройства из первой партии будут отправлены контрибьютерам, которые участвуют в разработке.
Total votes 128: ↑127 and ↓1+126
Comments44

«До 10 тысяч»: более 25 обзоров наушников

Reading time2 min
Views14K
Мы подготовили для вас подборку обзоров доступных наушников разных типов. В качестве ориентира взяли ценовую планку в 10 тысяч рублей. Многие из обзоров подготовлены нашими экспертами.


Total votes 17: ↑10 and ↓7+3
Comments8

Как я заработал 1 000 000 $ без опыта и связей, а потом потратил их, чтобы сделать свой переводчик

Reading time20 min
Views134K

Как все начиналось


Эта история началась 15 лет назад. Работая программистом в столице, я накапливал деньги и увольнялся, чтобы потом создавать собственные проекты. Для экономии средств уезжал домой, в небольшой родной город, где работал над сайтом для студентов, программой для торговли, играми для мобильных телефонов. Но из-за отсутствия опыта ведения бизнеса это не приносило дохода, и вскоре проекты закрывались. Приходилось снова ехать в столицу и устраиваться на работу. Эта история повторилась несколько раз.

Когда у меня в очередной раз закончились деньги, наступил кризис. Я не смог найти работу, ситуация стала критической. Пришло время посмотреть на все вещи трезвым взглядом. Нужно было честно признаться себе, что я не знаю, какие ниши выбрать для бизнеса. Создавать проекты, которые просто нравятся, — путь в никуда.
Читать дальше →
Total votes 233: ↑224 and ↓9+215
Comments144

История Vim и руководство по его эффективному использованию

Reading time14 min
Views46K
Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




Эта статья основана на исследовании истории Vim и прочтении его руководства пользователя от корки до корки. Надеюсь, эти заметки помогут вам открыть (или переоткрыть?) для себя основные функциональные возможности этого редактора, а также позволят отказаться от использования предупакованных файлов vimrc и более вдумчиво использовать плагины.



Список литературы


Чтобы выйти за границы привычных тем, я бы порекомендовал обзавестись бумажной копией этого руководства и емким карманным справочником. Я не смог найти печатную копию руководства пользователя для Vim, так что в итоге просто распечатал идущий вместе с редактором PDF-файл с помощью printme1.com. Он идет вместе с софтом в $VIMRUNTIME/doc/usr_??. В качестве удобного списка команд могу посоветовать справочник «Vi and Vim Editors Pocket».

Содержание

  • История
  • Иерархия конфигурации
  • Сторонние плагины
  • Бекапы и откаты
  • Include и path
  • Редактирование и компиляция цикла
  • Диффы и патчи
  • Буфер ввода / вывода
  • Типы файлов
  • Не забывайте про мышь
  • Разное

История


Рождение vi


Команды и функции Vi существуют уже более пятидесяти лет, начиная с редактора QED. Вот его таймлайн:
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments14

Выявляем процессы с дисковой активностью в Linux

Reading time13 min
Views75K
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments90

Что не так с экспериментом Microsoft про 4-х дневную неделю или не теряем голову при виде 40% эффективности

Reading time3 min
Views79K
Последние дней 10 по миру регулярно пишут про эксперимент по переходу на 4-х дневную рабочую неделю и эффектов в 40% от такого решения. Хабр не исключение, и аналогичный пост набрал 93 плюса и 71,4 тысячи просмотров и 338 комментариев. Т.е. результат более чем приличный.

Меня же эти цифры зацепили и я долго думал над тем, что с ними не так. Заручившись помощью Ильи Пестова и его канала Groks, я наконец сформулировал, почему изначальный пост — это скорее насилие пиарщиков над здравым смыслом, чем реальные цифры. И в данном тексте я попробую это описать, потому как говорил еще Марк Твен: «Существует три вида лжи: ложь, наглая ложь и статистика».


Читать дальше →
Total votes 233: ↑224 and ↓9+215
Comments190

А не фигню ли я опять делаю? Как и зачем внедрять метрики качества

Reading time7 min
Views12K
Привет, Хабр! Когда-то мы использовали метрику «Вроде бы стало лучше» для оценки качества наших релизов. Но потом мы решили довериться чему-то более надёжному. В этой статье я расскажу о том, как искал гайд по метрикам, не нашёл и создал свой.


Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments5

Музыка для программиста

Reading time6 min
Views48K
Я захожу в офис, поднимаюсь на третий этаж, подхожу к Жене, который выглядит, как зайчик-лапушка. Чтобы меня услышать, он достает наушник из уха, а я слышу, как из маленького динамика разносится какой-то дикий рёв и пронизывающий до костей ор! Ох, внешность, как же ты бываешь обманчива…

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


Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments81

HTTP/3: разрушение основ и дивный новый мир

Reading time8 min
Views54K
Вот уже больше 20 лет мы смотрим веб-странички по протоколу HTTP. Большинство пользователей вообще не задумывается о том, что это такое и как оно работает. Другие знают, что где-то под HTTP есть TLS, а под ним TCP, под которым IP и так далее. А третьи – еретики – считают, что TCP – это прошлый век, им хочется чего-то более быстрого, надёжного и защищённого. Но в своих попытках изобрести новый идеальный протокол они вернулись к технологиям 80-х годов и пытаются построить на них свой дивный новый мир.

Читать дальше →
Total votes 102: ↑97 and ↓5+92
Comments114
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity