Обновить
1
Serge@chigirinread⁠-⁠only

Пользователь

Отправить сообщение

PTTJS — формат текстового хранения комплексных таблиц

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели1.7K

PTTJS - plain text table javascript, формат разработанный из личной необходимости и острой нужды.

Главная цель формата PTTJS - получить текстовый формат таблиц, который позволяет хранить более сложные таблицы, нежели существующие форматы, но при этом сохранять читаемость и текстовую основу.

Уже написаны JS библиотека с парсером и сериализатором, а также Obsidian плагин.

Читать далее

Конституция против цензуры: история одного иска в суд

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

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

Читать далее

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели12K

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

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Зачем использовать OIDC с GitHub Actions?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели962

OIDC GitHub Actions может запрашивать временные токены, действительные только на время выполнения workflow, что значительно повышает безопасность и упрощает управление доступом.

Читать далее

Для защиты своего сервера я использую zip-бомбы

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели59K

Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.

Читать далее

Прячем, обфусцируем и криптуем клиентскую часть веб-приложений

Время на прочтение14 мин
Охват и читатели122K
Обфускация — это приведение исходного текста программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. Применительно к JavaScript данная технология используется в таких видах теневого онлайн-бизнеса, как загрузки (iframe), спам и SEO. Наша задача на сегодня — изучить все методы скрытия JS-кода, которые, я надеюсь, ты будешь использовать только во благо.

Обфусцированный скрипт

Читать дальше →

Как разработчик систему продуктовой аналитики Posthog подключал

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели2K

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

Читать далее

CI/CD для чайников — разберитесь и начните автоматизировать рутину в разработке. Часть 3. Его величество, деплой

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели9.2K

Пишу про полезные материалы про IT, и собираю свой ламповый нетворкинг тут - https://t.me/+434aQiGpZtAyNTU6. Присоединяйтесь!

Оглавление.

Читать далее

CI/CD для чайников — разберитесь и начните наконец-то автоматизировать рутину в разработке. Часть 2. Запускаем CI

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.1K

Список необходимых инструментов.

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

И на этом сервере, мы можем выполнять любой набор команд для автоматизации.🫡

Но самый важный момент на этом этапе – какие настройки должны быть на этом сервере? Какие программы, пакеты или библиотеки, должны быть установлены? В конце концов, какую операционную систему использовать? ⚠️

Мы уже определили набор команд, которые хотим запускать. Давайте разберемся, что нам нужно для их успешного выполнения? Это будет вторым важным и сложным на первых порах моментом, который следует разобрать.

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

eslint . –fix

npm run build

Если попробовать перечислить, то получится следующий список

Читать далее

CI/CD для чайников — разберитесь и начните наконец-то автоматизировать рутину в разработке. Часть1. Введение

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели27K

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

В вакансиях все чаще требуется опыт работы с одним из инструментов в этой инфраструктуре – Jenkins, Travis, AWS, Gitlab CI/CD.

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

Первые шаги

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

В целом, это будет актуально для любого стека.
Чаще всего я использую для хранения кодовой базы и групповой работе над проектами Gitlab. Очень кстати, что эта площадка предоставляет инструментарий CI/CD.

Я пытался пару лет подступиться к этому вопросу. Стильно, модно, молодежно. Да, дает кучу преимуществ. Но все попытки переварить официальную документацию, заканчивались неудачей. А видео уроки или материалы в общем доступе – чаще всего давали рецепт автоматизации какого-то конкретного кейса, который либо частично, либо полностью отличался от моего приложения.

Мне не хватало именно взгляда на основные шаги – что, зачем и как мы делаем. А уже потом реализации практических задач.

CI – continuous integration

Что же скрывается за термином "непрерывной интеграция". Когда мы работаем над созданием программного продукта – в одиночку, или в рамках команды, мы стараемся добавить в наш проект, несколько строк кода. Новый функционал, исправление или доработки. Суть не особо важна. В конечно счете – либо появляется новый код, либо появляются изменения в старом. И нам нужно убедиться, что эти новые изменения, не содержат ошибок, которые могут вызвать проблемы или неработоспособность приложения. ⛔️

Читать далее

Ламповые часы Nixie clock своими руками

Время на прочтение6 мин
Охват и читатели99K

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



Картинка кликабельна


Приятного чтения.

Под катом будет много фото...

Даже не влезайте в Kubernetes без этого

Время на прочтение20 мин
Охват и читатели32K
image

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

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

И вот про эти самые вопросы мы сейчас и поговорим, потому что там целое волшебное поле грабель.

Начнём с простых вещей, например, выбора дистрибутива, выбора способа хранения данных (и динамического выделения места), а также того, куда складывать пароли к критичным ресурсам. На этих трёх выборах ломается примерно 50 % админов.

Поехали в ад!
Читать дальше →

Конфигурация Caddy для on-demand сертификатов и wildcard-доменов с поддержкой Cloudflare

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.9K

У меня была задача, сделать reverse proxy, который будет проксировать трафик и для определённых доменов выпускать новые сертификаты налету, а для некоторых нужно просто автоматически выпустить сертификат.

Для такой задачи идеально подходит Caddy.

Читать далее

Почему (сегодня) return 444 не всегда полезен

Время на прочтение7 мин
Охват и читатели42K
В web-сервере Nginx есть замечательный код ответа 444, который «закрывает» соединение без отправки данных. Данный функционал весьма полезен при фильтрации паразитного трафика — если мы уверены, что клиент по каким-то критериям не является валидным, то нет необходимости его уведомлять, например, 403-м ответом. Эффективнее просто прекратить передачу данных, что, зачастую, позволяет существенно снизить нагрузку на сервер.

Рекомендации использовать такие ответы можно встретить повсеместно в инструкциях по блокировках переходов по ссылкам с популярных сайтов и реферального спама, защите от DDoS и т.п.

И, в общем-то, на протяжении многих лет эти советы можно было использовать почти не глядя, но… современные браузеры не стоят на месте и периодически преподносят нам новые сюрпризы.
Читать дальше →

Последний экипаж станции «МИР»

Время на прочтение6 мин
Охват и читатели6.7K

23 марта прошла очередная годовщина сведения с орбиты космической станции «Мир», и по этому поводу я решил вспомнить о последней пилотируемой экспедиции, которую отправили к станции. А точнее - о контексте той экспедиции.

Экипаж основной экспедиции №28 (или ЭО-28) в составе Сергея Залётина и Александра Калери стартовал к орбитальному комплексу «Мир» на корабле Союз ТМ-30 4 апреля 2000 года, но подготовка к этому полёту началась ещё за несколько лет, а в какой-то момент казалось, что его не будет и вовсе. Но обо всё по порядку.

Читать далее

Оценка развития человечества на 1000 лет по версии DeepSeek и рефлексия

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели18K

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

Задал я тут вопрос Дипсику.

Читать далее

Аутентификация на основе cookies с помощью Laravel Sanctum

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели3.6K

Привет, Хабр!

Представляю вашему вниманию подробное пошаговое руководство по настройке аутентификации на основе cookies с помощью Laravel Sanctum. В процессе мы объясним логику каждого шага и покажем, как настроить Postman. Кроме того, мы рассмотрим наиболее распространенные проблемы, связанные с CORS.

Читать далее

Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета

Время на прочтение7 мин
Охват и читатели12K

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

Под катом рассказываем, как и зачем мы в команде написали свою реализацию паттерна Coordinator.

Читать далее

MacBook Pro 2015 для учебы в 2023-м?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели35K

Всем привет! Меня зовут Андрей Жаров, я iOS-разработчик в компании Doubletapp.

Лучшей недорогой рабочей машинкой выступает сейчас MacBook Air на М1. Сочетание его цены и качества даже в 2023-м остается оптимальным из-за мощного процессора, низкого нагрева, долгого времени и скорости работы. Но что делать тем, кто только-только начинает свой путь в iOS-разработке и не может его себе позволить?

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

Бюджетный MacBook
Исторический анализ линейки
Процессор
Оперативная память
Накопитель
Графика
Поддержка и возможные проблемы
Подводя итоги
Что дальше?

Читать далее

Самый маленький ЭЛТ-монитор

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.6K
Приветствую всех!
Помните, как лет пять назад в узких кругах были популярны эксперименты с видоискателями от старых кассетных видеокамер? И вот, увидев это всё, я захотел продолжить эту тему и показать ещё несколько девайсов, в которых используются миниатюрные ЭЛТ. Они, конечно, не так поражают своими размерами, однако подключить их ещё проще.



Да, это именно они — плоские ЭЛТ, начавшие своё распространение в портативных телевизорах и завершившие его в куда более привычных простым пользователям приборах. Именно такой экземпляр мы сегодня и увидим в работе, а заодно и посмотрим, можно ли вывести на него что-то поинтереснее того, что он обычно показывает.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Веб-разработчик
HTML
Веб-разработка
CSS
SCSS