Pull to refresh
98
1.8
Иван Маров @vaniacer

Опытный пользователь ПК

Send message

Невероятная история Эда Торпа: как один математик смог обыграть сначала казино, а потом и весь Уолл-стрит

Level of difficultyEasy
Reading time13 min
Views66K

Если среди физиков настоящей легендой безумных жизненных историй был Ричард Фейнман, то среди математиков и инвесторов этот титул должен по праву принадлежать Эдварду Торпу. Чувак смог не только обуть казино сразу в двух считавшихся ранее «непобедимыми» играх, но и заработать $800 млн на фондовом рынке благодаря идее, достойной Нобелевки.

Читать далее
Total votes 215: ↑211 and ↓4+245
Comments77

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Level of difficultyMedium
Reading time6 min
Views49K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →
Total votes 114: ↑106 and ↓8+127
Comments42

Некоторые аргументы за высшее образование

Level of difficultyEasy
Reading time13 min
Views7.2K

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

У меня в семье этот спор уже идет второй год. Сын, заканчивающий в этом году колледж связи по специальности программист, активно не хотел сдавать ЕГЭ и идти учиться дальше, потому что полагал, как полагают многие в айтишной среде, что зарабатывать деньги можно и без высшего образования. А вот мы с его матерью активно заставляли ЕГЭ сдавать и всячески давали понять, что очень желали бы, чтобы он получил высшее образование. За то время, пока он не согласился сдать ЕГЭ "для мамы", я услышал почти все аргументы за то, чтобы высшее образование не получать. И мы привели практически все мыслимые аргументы за то, чтобы все-таки его получить. И раз уж пошла такая пьянка, то хотелось бы систематизировать некоторые мысли относительно высшего образования, и почему добросовестный родитель искренне желая блага своему ребенку, все-таки хочет, чтобы тот его получил.

Читать далее
Total votes 27: ↑22 and ↓5+22
Comments63

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views99K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать
Total votes 246: ↑244 and ↓2+296
Comments296

38 лучших CI/CD-инструментов в 2022 году

Reading time36 min
Views42K

Непрерывная интеграция (CI) и непрерывная доставка (CD) или CI/CD стали неотъемлемой частью подхода к разработке программного обеспечения и тестирования DevOps. Этот подход дает разработчикам возможность непрерывного развертывания кода. Кроме того, ошибки выявляются на ранней стадии, что позволяет избежать проблем с интеграцией из-за частой фиксации исходного кода.

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

В этой статье мы рассмотрим 38 лучших CI/CD-инструментов из представленных на рынке и выделим их основные особенности.

Давайте разберемся!
Total votes 25: ↑19 and ↓6+15
Comments7

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

Reading time8 min
Views27K

Источник: polymerh.

На Хабре достаточно статей про передачу данных через протокол ICMP. Чего говорить, шесть лет назад я сам писал про стеганографию в IP-пакетах и «пингах». Но кажется, самое время вернуться к этой теме и предложить неочевидные методы.

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →
Total votes 98: ↑97 and ↓1+126
Comments28

Docker — не то, чем кажется

Level of difficultyEasy
Reading time6 min
Views38K

Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Мы с вами познакомились в этом посте про историю DRM для видеоконтента. Сегодня я хочу поговорить с вами про Docker, а точнее про то, о чём многие забывают: различиях в нём для разных систем. Нам, как CDN-провайдеру Docker, все его 50 оттенков близки и знакомы. И, к счастью, наше взаимодействие с ним происходит из-под Linux, но, увы, не всем так везёт.

Как это часто бывает, с мультиплатформенностью и прочими «красивыми» словами в IT, всё не так однозначно. У всего своя цена, и под капотом один и тот же инструмент на разных системах, по сути своей может представлять из себя несколько разных вещей с различными принципами работы и производительностью. А обещания революции скрывают за собой эволюцию, либо вовсе регресс и топтание на месте.

Читать далее
Total votes 63: ↑58 and ↓5+65
Comments88

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views44K

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

Читать далее
Total votes 95: ↑84 and ↓11+93
Comments57

Как заново реализовать тетрис

Level of difficultyMedium
Reading time9 min
Views8.5K


Я из тех программистов, кому нравится всё реализовать самостоятельно. Нет, я не имею в виду, что не доверяю работе, сделанной другими. Скорее, я полагаю, что, если сделаю что-нибудь сам, то из этого будет гораздо больше толку, чем если просто взять чужую реализацию. Например, я написал на С мой собственный парсер регулярных выражений, при этом воспользовался моей собственной библиотекой структур данных на C. Надеюсь, когда-нибудь потом напишу об этом подробнее.

Вне всяких сомнений, я наработал массу опыта и знаний, выполняя все эти вещи самостоятельно. Поэтому, на мой взгляд, вполне целесообразно и далее так делать, то есть, попробовать выполнить какой-то проект, уже реализованный ранее. Всё это — именно с целью самообучения. На этот раз я взялся самостоятельно перепроектировать «Тетрис». Чтобы было ещё интереснее, я решил всё сделать на C.

На самом деле, это не первая моя игра на C – немного ранее я уже успел написать на С клон сапёра. В блоге также об этом не писал, но, может быть, напишу в будущем, так как проект получился очень интересным. Пожалуй, этот опыт пригодился мне в работе над «Тетрисом».
Читать дальше →
Total votes 35: ↑28 and ↓7+35
Comments32

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views29K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Total votes 110: ↑109 and ↓1+132
Comments166

Tenis: как загнать все мячи на один корт, или Как мы решились на создание своего алерт менеджера

Level of difficultyEasy
Reading time6 min
Views842

Мы в Ivinco помогаем нашим клиентам строить, развивать и поддерживать инфраструктуру. C некоторыми из них мы работаем уже более 10 лет, с другими только начинаем. Все это естественным образом предполагает, во-первых, гетерогенную среду для работы и, во-вторых, соседство легаси и современных систем и подходов. И поскольку поддержка инфраструктуры само собой подразумевает ее мониторинг, то мы обязаны следить за всем этим IT ландшафтом и оперативно реагировать на инциденты. 

Долгое время основным инструментом мониторинга у нас был Nagios. Те, кто имеет опыт работы с ним, знают, что это хороший инструмент, но его GUI абсолютно не функционален. Поэтому мы использовали nagios API от проекта Zorkian и самописный GUI. У нас были вопросы по производительности и к API, и к нашему собственному GUI, однако в целом нам этого хватало. Но по мере роста количества проектов добавлялись новые системы мониторинга: Zabbix, Prometheus. А поскольку мы предоставляем услугу по поддержке 24/7, то нам крайне важно, чтобы дежурный инженер получал актуальную информацию о событиях с разных систем из разных проектов на одном экране. Так мы пришли к пониманию, что нам нужен алерт менеджер, который способен агрегировать  алерты из разных инструментов мониторинга.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments4

Вспомним лучшее. Мы на Хабре 10 лет

Reading time4 min
Views1.7K

Ровно десять лет назад, 2 апреля 2014 года, мы завели техноблог на Хабре. За это время мы опубликовали 500 статей, 100 новостей, дважды стали спонсорами «Технотекста» и получили награду «Лучший блог». Многие из тех, кто написал первые тексты, работают с нами до сих пор.

Мы решили поностальгировать — собрали ТОП лучших статей за всё время. Пользуясь случаем, хотим сказать спасибо всем неравнодушным, кто читает и поддерживает наш блог. Дальше — больше!

Читать далее
Total votes 11: ↑9 and ↓2+13
Comments0

Как работает etcd с Kubernetes и без него

Reading time23 min
Views17K

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

Этот перевод статьи от learnk8s познакомит вас с принципами работы etcd, чтобы вы могли глубже понять внутреннюю работу Kubernetes и получить дополнительные инструменты для устранения неполадок в вашем кластере. Мы установим и сломаем кластер etcd с тремя нодами и узнаем, почему Kubernetes использует etcd в качестве базы данных.

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

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 1

Level of difficultyEasy
Reading time8 min
Views4.6K

Привет, Хабр! Продолжаю серию материалов о своей «хакерской» игре. Ранее я рассказывал об ее процессе разработки, а сегодня затрону не менее важную часть — маркетинг.

Для продвижения игры я начал публиковать Shorts на YouTube, но это отнимало много времени и ресурсов. Будучи инженером, я стараюсь автоматизировать рутинные задачи, поэтому сделал решение, которое самостоятельно нарезает видео на 60-секундные фрагменты. Подробнее — под катом.
Читать дальше →
Total votes 50: ↑50 and ↓0+51
Comments19

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

Level of difficultyMedium
Reading time46 min
Views233K

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

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

Читать далее
Total votes 445: ↑437 and ↓8+489
Comments367

Я бы не жил на побережье Черного моря Краснодарского края в этих местах…

Level of difficultyEasy
Reading time5 min
Views13K

Про городской округ Сочи я высказывал свое мнение в "Я бы не жил в Сочи в этих местах…"

В этой статье найду места на оставшейся части побережья Краснодарского края на основе данных OpenStreetMap где могут быть проблемы из-за близости к жилью не самых комфортных мест для уютной жизни на побережье Черного Моря. Показать результаты работы моей модели для Туапсе просили еще в комментариях к первой статье "Где бы вы точно не жили и не остановились даже на время, если бы знали и выбирали на основе фактов".

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments27

Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства

Level of difficultyEasy
Reading time9 min
Views38K

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

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

Для Героев III вышло долгожданное полномасштабное обновление — Фабрика. Почему это по-настоящему уникальное явление?

Level of difficultyEasy
Reading time7 min
Views101K

Если судить по группе ВК, дополнение вышло где-то 31 декабря в 7:38 минут по Москве. Новость дошла до меня где-то за час-два до нового года. Если вы в курсе, то думаю вы уже или без меня ознакомились или вот, прочитав новость, побежите прямо сейчас и статья для вас тут по сути заканчивается). Сначала Doom порадовал ... а сейчас Герои.

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

Я с трудом удержал себя от того, чтобы не засесть на пару суток проходить кампанию залпом, но конце расскажу своё мнение про первые две карты (я специально не спешу). Итак, обо всём по порядку.

И почему же HotA так уникальна?
Total votes 105: ↑100 and ↓5+123
Comments165

Самая дешевая заводская панель управления умным домом, которая отлично работает

Level of difficultyHard
Reading time4 min
Views80K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

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

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Total votes 81: ↑78 and ↓3+99
Comments126

CORS для чайников: история возникновения, как устроен и оптимальные методы работы

Reading time17 min
Views423K


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

Если вы давно хотели разобраться в CORS и вас достали постоянные ошибки, добро пожаловать под кат.

Ошибка в консоли вашего браузера


No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/

Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy.


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

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

Но давайте-ка пойдем к истокам…
Читать дальше →
Total votes 41: ↑40 and ↓1+57
Comments14
1

Information

Rating
1,298-th
Location
Россия
Registered
Activity

Specialization

Specialist
Bash
Linux
Python