Pull to refresh
4
0
Groosha @Groosha

Программист

Send message

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views142K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 88: ↑86 and ↓2+108
Comments67

«Особенность» Вконтакте

Reading time2 min
Views91K

Когда в личные сообщения Вконтакте тебе пишет незнакомый человек, который точно уверен в каком районе ты находишься в данный момент, — приятного мало. Сразу активируется паранойя, и мозг начинает искать возможные способы это объяснить. Мое местоположение ему действительно подсказал ВК. Давайте разберемся каким образом.


Читать дальше →
Total votes 117: ↑114 and ↓3+146
Comments108

Не хочу Visual Studio Code: 7 open source альтернатив

Reading time5 min
Views93K
В этом переводе расскажем про альтернативные редакторы кода, которые ничуть не уступают VS Code, а при грамотном подборе расширений даже превосходят его.



Редактор Visual Studio Code, также известный как VS Code работает на Linux, Windows и macOS. Он занимает промежуточное положение между простым текстовым редактором исходного кода и интегрированной средой разработки (IDE), которая управляет всей вашей кодовой базой. Функциональность VS Code можно расширить с помощью плагинов. Это надёжный редактор кода, который может достойно побороться с проприетарными конкурентами.

Изначально VS Code был создан как open source продукт. Однако его готовые сборки распространяются под проприетарной лицензией Microsoft. Но не всё так плохо.
Читать дальше →
Total votes 43: ↑26 and ↓17+18
Comments245

Мы купили в Walmart ноутбук за $140, чтобы вам не пришлось этого делать

Reading time14 min
Views47K

Реальную глубину проблем EVOO 11.6" EV-C-116-5 не могут передать даже его слабые характеристики



Единственный плюс самого дешёвого ноутбука из Walmart — это весёленький окрас

При первом взгляде на спецификацию самого дешёвого ноутбука из Walmart, EVOO EV-C-116-5, любому любителю техники сразу станет ясно, что мощным назвать его будет сложно. Однако этот мелкий ноутбук стоит всего $139, а по характеристикам сравним с хромбуками, стоящими по $200-$250. Так что недавно я раскошелился и заказал один из них. Фиолетовый. [я вижу, что он не фиолетовый на фото — так в оригинале указано. Возможно, автор заказал фиолетовый, а получил такой. Возможно, с цветопередачей проблемы. Возможно, в Wallmart считают этот цвет фиолетовым / прим. перев.]

Для членов редакции Ars Technica очевидно, что EVOO вряд ли станет хорошим выбором на роль ноутбука под Windows. Всего 2 ГБ RAM не позволят ему запустить что-либо, не налегая как следует на виртуальную память (обмен данными между оперативной памятью и накопителем). Кроме того, на SSD объёмом 32 ГБ просто не поместится Windows, не говоря уже о приложениях. Сразу, как только EVOO попытается обновиться до новой версии Windows 10 (к примеру, Windows 10 build 2004, вышедшей в прошлом месяце), он не сможет сделать этого из-за нехватки места.
Читать дальше →
Total votes 37: ↑31 and ↓6+37
Comments189

Как дочка Роснано, продавшая с Ростехом тысячи камер в школы, делает «российские» камеры c дырявой китайской прошивкой

Reading time4 min
Views120K
Всем привет!

Я занимаюсь разработкой прошивок камер видеонаблюдения для b2b и b2c сервисов, а также участвующих в проектах видеонаблюдения федерального масштаба.

О том, как мы начинали, я писал в статье.

С тех пор многое изменилось — мы стали поддерживать еще больше чипсетов, например, таких как mstar и fullhan, познакомились и подружились с большим количеством как иностранных, так и отечественных производителей IP камер.

Вообще, к нам часто приходят разработчики камер, показать новое оборудование, обсудить технические моменты работы прошивок или техпроцесс производства.


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

Об одних таких ребятах я сегодня и расскажу. Если честно, я не сторонник публичной порки нерадивых «импортозаместителей» — обычно принимаю решение, что отношения с такими компаниями нам не интересны, и на этом с ними расстаемся.

Но, однако, сегодня, читая новости в фейсбуке и попивая утренний кофе — чуть не разлил его, прочитав новость о том, что дочка Роснано, компания ЭЛВИС-НеоТек, совместно с Ростехом поставит десятки тысяч камер в школы.

Под катом — детали того, как мы их тестили.
Читать дальше →
Total votes 258: ↑257 and ↓1+326
Comments407

Я мечтал вырваться из Узбекистана и стать крутым разрабом. Больше не хочу — но разработка не отпускает

Reading time5 min
Views123K


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

На меня никогда не давили с учебой. Говорили, отучись и иди работай, не важно кем, главное без дела не сиди. Я не сидел — я рубил в игры, прям дико, даже операцию на глаз пришлось делать. Начал зависать в прокуренных клубах, и одобрение пацанов поднял тем, что хорошо играл в варчик. Потом стал деградировать на районе. Среди друзей никогда не было ни одного разработчика — но это мне в них скорее нравится. Никаких клубов по интересам, даже рэпером никто не хотел стать — просто обычные ребята.
Читать дальше →
Total votes 154: ↑139 and ↓15+180
Comments306

Обзор графических интерфейсов для Kubernetes

Reading time11 min
Views70K


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

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
Читать дальше →
Total votes 42: ↑41 and ↓1+51
Comments28

«Двойное дно Telegram» — Конкурс на $5000

Reading time1 min
Views32K


Сегодня недооценивают проблему конфиденциальности с «тыла». Никто из нас не застрахован от того, что под давлением мы будем вынуждены показать переписку с рук. В роли принуждающего может быть кто угодно, начиная от злоумышленника и заканчивая пограничником, в любой точке мира.



Ни один из популярных мессенджеров не имеет защиты от подобной «атаки». Мы предлагаем тебе исправить эту ситуацию на основе открытого кода Telegram. Если твое решение окажется лучшим, то ты получишь 5000$. Твоей задачей будет разработать принцип «двойного дна» в оригинальном клиенте Telegram.

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

Подробнее о конкурсе на нашем Telegram-канале @postuf
Total votes 30: ↑23 and ↓7+24
Comments175

«Спокойствие, только спокойствие!» или как поменьше тревожиться

Reading time9 min
Views7.5K
Tl;tr — Это заметка про тревогу. Для тех кто заметил, что много тревожится (или как говорится «гоняет») по поводу или и без него. Статья для непрофессионалов, которая скорее позволяет «указать цели» (распознать то с чем оказывается можно поработать) и «указать направления» (примерно куда и как дальше копать). Тема это огромная и фундаментальная и конечно заметкой не раскрывается. Текст призван зародить деятельный интерес. Написана в несколько шутливой манере — что призвано не обесценить серьезность темы, а скорее призвать к «игровому» отношению к ней.

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

image
Читать дальше →
Total votes 10: ↑7 and ↓3+7
Comments2

Поколение геймеров II

Reading time3 min
Views4.9K

Чуть более чем 10 лет назад мною была написана статья на Хабр "Поколение геймеров", которая набрала почти 300 комментариев и похоже, пришла пятница и пора продолжить тему :)

За это время, появилась вторая волна геймеров, которые не видели полигоны и пиксели кроме как когда это было модно в Minecraft.

Игры — это побочное, вечернее развлечение еще со времен работы на мейнфреймах и перфокартах, которое не зарождалось как что-то серьезное, а больше от скуки.

Но как так случилось, что в 2020 это уже целая индустрия, где лучшим игрокам почему-то кто-то выделяет миллион и больше долларов? Ну да, ладно, а какая разница, случилось и случилось, история интересна не самой историей, а моралью. Какая здесь мораль и что вообще будет дальше?
Читать дальше →
Total votes 10: ↑5 and ↓5+3
Comments27

ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет

Reading time8 min
Views180K
Одна из вещей, которые никогда не делают пользователи — это чтение до конца лицензионных соглашений. Тем временем, читать их стоит, даже если, казалось бы, в контексте конкретного сервиса их содержание представляется очевидным.

К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.

При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:


Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.

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

Читать дальше →
Total votes 216: ↑209 and ↓7+279
Comments354

Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения)

Reading time13 min
Views36K

Tree of Dragons II by surrealistguitarist

Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчить работу с Git, а также подборку статей и мануалов более продвинутого уровня.
Читать дальше →
Total votes 42: ↑41 and ↓1+62
Comments12

О хранении JWT токенов в браузерах

Reading time3 min
Views65K

Открытый стандарт JWT официально появился в 2015 (rfc7519) обещая интересные особенности и широкие перспективы. Правильное хранение Access токена является жизненно важным вопросов при построении системы авторизации и аутентификации в современном Web, где становятся все популярнее сайты, построенные по технологии SPA.

Неправильное хранение токенов ведет к их краже и переиспользованию злоумышленниками.
Читать дальше →
Total votes 24: ↑23 and ↓1+30
Comments102

oVirt за 2 часа. Часть 1. Открытая отказоустойчивая платформа виртуализации

Reading time5 min
Views50K

Введение


Open source проект oVirt — свободная платформа виртуализации корпоративного уровня. Пролистав habr, обнаружил, что oVirt освещен здесь не так широко, как того заслуживает.
oVirt фактически является апстримом для коммерческой системы Red Hat Virtualization (RHV, ранее RHEV), растет под крылом Red Hat. Чтобы не возникло путаницы, это не то же, что CentOS vs RHEL, модель ближе к Fedora vs RHEL.
Под капотом — KVM, для управления используется веб-интерфейс. Базируется на ОС RHEL/CentOS 7.
oVirt может использоваться как для «традиционной» серверной, так и десктопной виртуализации (VDI), в отличие от решения VMware обе системы могут уживаться в одном комплексе.
Проект хорошо документирован, давно достиг зрелости для продуктивного применения и готов к высоким нагрузкам.
Эта статья — первая в цикле о том, как построить работающий отказоустойчивый кластер. Пройдя по ним, мы за короткое (порядка 2-х часов) время получим полностью работающую систему, хотя ряд вопросов, конечно, раскрыть не удастся, постараюсь осветить их в следующих статьях.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Строим домашний CI/CD при помощи GitHub Actions и Python

Reading time12 min
Views62K

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments15

Как я искал пацанский движок для блога

Reading time8 min
Views43K


Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

Мои требования к идеальному движку:


  • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
  • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
  • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
  • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
  • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
Total votes 72: ↑65 and ↓7+80
Comments80

Как Gatsby обошёл Next.js

Reading time10 min
Views21K
Автор статьи, перевод которой мы сегодня публикуем, работает программистом в компании Antler. Эта компания представляет собой глобальный генератор стартапов. В Antler несколько раз в году проходят демонстрационные дни, собирающие множество создателей стартапов и инвесторов со всего мира. Ситуация вокруг COVID-19 вынудила Antler перевести свои мероприятия в онлайн-формат.



Компании хотелось сделать так, чтобы посетители их виртуальных мероприятий, ни на что не отвлекаясь, и нигде не застревая, видели бы самое главное. А именно — идеи представляемых публике стартапов, выраженные в виде содержимого веб-страниц. Виртуальные демонстрационные дни могут быть интересны достаточно широкой аудитории. Некоторые представители этой аудитории, возможно, впервые принимают участие в чём-то подобном. Поэтому компании нужно было сделать всё самым лучшим образом и обеспечить высокую скорость загрузки страниц, представляющих стартапы. Они решили, что это — как раз тот случай, когда им может пригодиться высокопроизводительное прогрессивное веб-приложение (PWA, Progressive Web App). Главный вопрос заключался в подборе подходящей технологии для разработки PWA.
Читать дальше →
Total votes 25: ↑21 and ↓4+33
Comments8

C++ быстрее и безопаснее Rust, Yandex сделала замеры

Reading time15 min
Views126K

Спойлер: C++ не быстрее и не медленнее и вообще смысл не в этом. Эта статья является продолжением славных традиций развенчания мифов крупных российских компаний о языке Rust. Предыдущая была "Go быстрее Rust, Mail.Ru Group сделала замеры".


Недавно я пытался заманить коллегу, сишника из соседнего отдела, на Тёмную сторону Rust. Но мой разговор с коллегой не задался. Потому что, цитата:


В 2019 году я был на конференции C++ CoreHard, слушал доклад Антона antoshkka Полухина о незаменимом C++. По словам Антона, Rust еще молодой, не очень быстрый и вообще не такой безопасный.

Антон Полухин является представителем России в ISO на международных заседаниях рабочей группы по стандартизации C++, автором нескольких принятых предложений к стандарту языка C++. Антон действительно крутой и авторитетный человек в вопросах по C++. Но доклад содержит несколько серьёзных фактических ошибок в отношении Rust. Давайте их разберём.

Total votes 175: ↑159 and ↓16+198
Comments1205

Реверс-инжиниринг антиблокировщика рекламы BlockAdBlock

Reading time18 min
Views42K
Если вы пользуетесь блокировщиками рекламы, то могли встречать BlockAdBlock. Этот скрипт обнаруживает ваш блокировщик и не пускает на сайт, пока вы его не отключите. Но мне стало интересно, как он работает. Как антиблокировщик обнаруживает блокировщики? А как на это реагируют блокировщики и как они блокируют антиблокировщики?

История реверс-инжиниринга


Первым делом я взглянул на их сайт. BlockAdBlock предлагает конфигуратор с настройками: интервал ожидания и как будет выглядеть предупреждение, генерируя разные версии скрипта.

Это натолкнуло меня на мысль о версиях. А что, если мог посмотреть не на одну версию, а на все сразу? Так я и сделал. Я вернулся назад во времени с помощью Wayback Machine. После этого скачал все версии BlockAdBlock и хэшировал их.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments83

Сердце разработчика: девкиты Sony PlayStation 1

Reading time4 min
Views37K
Отец платформы, Кен Кутараги, проектировал PlayStation не просто как ответ на неуместные действия со стороны Nintendo, он стремился создать эталонный продукт, на который будут ориентироваться все геймдевы поколения. Учитывая опыт и ошибки ближайших конкурентов, Кутараги создал максимально дружественную разработчику систему, снискавшую в итоге феноменальный успех у геймеров девяностых. И причиной этому, с одной стороны, послужили наработки по Nintendo Play Station, с другой стороны, определённый опыт в производстве семейства компьютеров Sony Network Engineering Workstation (NEWS), но главное, неуёмное желание Кутараги создать консоль своей мечты.



Логично, что первые прототипы PlayStation под названием MW.2 (ревизия DTL-H500), а затем и доработанный MW.3 (ревизия DTL-H505) получили полностью совместимое с Sony NEWS железо, тем самым, открывая возможность к разработке первых игр для ещё проектируемой консоли. В принципе, подобная практика была не нова и активно использовалась при создании FM Towns Marty и Amiga CD32 силами Fujitsu и Commodore соответственно. MW.3 по факту был и девкитом, и самой консолью. А дабы на первых порах не пришлось мудрить с экстерьером, его полностью заимствовали у Sony NWS-3710.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments16

Information

Rating
5,985-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity