Search
Write a publication
Pull to refresh
2
0
Send message

Трансплантация реактивности

Level of difficultyMedium
Reading time19 min
Views3.9K

Здравствуйте, меня зовут Дмитрий Карловский, и я.. тот самый чел, который написал реактивную библиотеку $mol_wire. Именно благодаря мне вам есть сейчас чем пугать детей перед сном.

Но просто написать классную библиотеку — слишком мелкая цель. Построить на ней богатый фреймворк с кучей батареек — уже интересней, но всё ещё не достаточно амбициозно. Разработанный мной подход может стать lingua franca в коммуникациях между библиотеками, состояниями браузера, и даже между удалёнными узлами.

Берегите синапсы, сейчас будет настоящий киберпанк..

Открыть ментальный сокет

Ужасы PowerShell

Level of difficultyMedium
Reading time3 min
Views12K

Мне часто приходится пользоваться PowerShell. Конечно, его создатели не имели никакого представления о прекрасном и эстетике. Уродливость PowerShell особенна видна при его сравнении, например, с Python. С другой стороны, как говорится, c лица не воду пить - работает и хорошо? Но нет, мне кажется в PowerShell есть по крайней мере пара моментов, которые фатально влияют на его практическое применение.

Читать далее

Флаги командной строки в C++

Reading time5 min
Views9.2K

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

Читать далее

Парсинг string в enum ценой в 50 Гб: разбираем уязвимость CVE-2020-36620

Level of difficultyMedium
Reading time6 min
Views4.6K

1038_CVE_EnumStringValues_ru/image1.png


В этой заметке разберём уязвимость CVE-2020-36620 и посмотрим, как NuGet-пакет для конвертации string в enum может сделать C# приложение уязвимым к DoS-атакам.

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

Переводчик по фото: сравнение приложений перевода текста с фотографий

Level of difficultyEasy
Reading time5 min
Views374K

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

Читать далее

Весенняя распродажа в издательстве «Питер»

Reading time1 min
Views8.4K
image

Добрый день, Хаброжители!

Вот уже заканчивается первый месяц весны, а погода нас не радует. Зато мы радуем своих читателей приятными ценами на наши книги…
Читать дальше →

Вечный RnD: chunk flushing для серверного рендеринга React + WMF

Level of difficultyHard
Reading time9 min
Views2.5K

Все говорят про webpack-module-federation - микрофронты тут, микрофронты там.
— "А мы уже внедрили", "а мы уже построили микрофронтовую-архитектуру", "мы релизим независимо".

Но начинаешь расспрашивать, "а что сделали", "а как связали" - выходит что за всеми этими броскими фасадами скрывалось добавление вызова ModuleFederationPlugin(...) на уровне рядового потребителя, в лучшем случае с подстройкой конфигурации под локальный и продуктовый стенды. А независимые релизы - обычный авто деплой trunk'а.

На этом фоне доклады, повествующие о динамическом развертывании k8s pod'ов с версиями микрофронтов, указанных в заголовках браузера (на базе argo-cd) производят вау-эффект. Но даже все эти истории имеют один общий недостаток.

На вопрос:
— А как вы реализовали SSR?

Следует ответ:
— Мы не стали этого делать, у нас админка / дэшборд / MVP / *.

Читать далее

Timezoned — простой ориентир в часовых поясах

Level of difficultyEasy
Reading time2 min
Views2.8K

Хочу рассказать вам о своем новом мини-проекте, который помогает ориентироваться в часовых поясах. Не буду томить, вот он: https://timezoned.vercel.app

А теперь я расскажу, что это и зачем.

Читать далее

Дайджест  ̶л̶е̶н̶т̶я̶я̶ уставшего человека: как отдыхать без угрызений совести

Level of difficultyEasy
Reading time7 min
Views24K

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

Читать далее

Код на python, сервер и Cron. Запускаем код на сервере по времени

Level of difficultyEasy
Reading time3 min
Views19K

Введение

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

Решение я разбил на 2 части.

Читать далее

Как закалялась сталь современной симметричной криптографии. Глава 1. Классическая криптография

Level of difficultyMedium
Reading time49 min
Views11K

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

Читать далее

Программирование — как выражение строгой математической теории

Level of difficultyMedium
Reading time2 min
Views2.4K

А что если представлять программу как не набор ключевых слов, а как какой-то формальный язык, с математической строгостью. Тогда программу можно выразить через линии (например).

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

Читать далее

Сообразим на троих. Троичные компьютеры

Level of difficultyEasy
Reading time4 min
Views20K
image

В повседневной жизни мы используем десятичную систему счисления. Почему именно её — это вопрос отдельный. В конце концов, существуют системы с основанием 12 (по фалангам пальцев без большого), 5 (пальцы на одной руке), 20, 60 и так далее. В компьютерах всё несколько проще — там (можно даже сказать, «Традиционно») используется двоичная система, как самая лёгкая для воплощения. Есть ток — нету тока. Есть отверстие в перфокарте — нет отверстия. Ноль или единица. Короче говоря, «да» или «нет» — третьего не дано. А что будет, если дать? Об этом и поговорим.
Читать дальше →

Концепт-кары. Пыль в глаза или производственная необходимость?

Reading time4 min
Views4.3K

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

Читать далее

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Level of difficultyEasy
Reading time4 min
Views43K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее

Использовать unwrap() в Rust — это нормально

Level of difficultyEasy
Reading time26 min
Views9.2K

Сравнительно недавно на Хабре была опубликована статья "Rust: ни в коем случае не используйте unwrap() в продакшене". Мягко говоря, тезисы, высказываемые в данной статье, спорны и содержат мало обоснования. Предлагаю читателям взглянуть на альтернативную точку зрения: почему использовать unwrap() в Rust — это нормально (в том числе и в продакшене). Автор оригинальной статьи — Эндрю Галлант.

Читать далее

vStack аналог VMware! Серьезно?

Reading time6 min
Views12K

Я как потребитель уважаю только честный маркетинг, честные сравнения, честное тестирование различных систем. Зачастую, когда я читаю различные пресс‑релизы от различных вендоров то понимаю, что надо читать сноски‑звездочки и опираться на независимые источники. Наверное, этим грешат все и это печально. В сравнении гипервизоров отчет от Microsoft покажет, что Hyper‑V лучше всех, Vmware скажет, что лучшее решение для виртуализации — ESXi так далее.

Сугубо мое мнение — надо опираться на реально независимые отчеты, такие как Magic Quadrant, это серия отчетов об исследованиях рынка, опубликованных ИТ‑консалтинговой фирмой Gartner, которые основаны на собственных методах анализа качественных данных для демонстрации тенденций рынка, таких как направление, зрелость и участники.

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

В свете этого начал рассматривать отечественные альтернативы Vmware а именно систем виртуализации, и на глаза попалось решение, позиционируемое как альтернатива Vmware. Если в поиске Яндекс забить поисковый запрос, то на первой странице будет довольно интересный материал о продукте vStack (первая маленькая буква v и вторая заглавная как под копирку напоминаем название продуктов VMware, надеюсь это только совпадения а не попытка быть казаться похожим на лидера рынка).

Разбор полетов

Переходим на Go: 16 материалов для самостоятельного изучения языка

Level of difficultyEasy
Reading time5 min
Views78K

Привет! Меня зовут Владислав Попов, я автор курса «Go-разработчик» Яндекс Практикума. Когда-то я сам был студентом — хотел учиться Go, но такого курса в Практикуме не было, поступил на Python. Прошёл вводную часть — и тут стартовал желанный курс по Go. В тот же вечер оформил возврат и перепоступил. Попал в первый поток, прошёл его, и после сдачи итогового проекта мне предложили стать тестером курса «Продвинутый Go-разработчик».

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

За время работы с Go я понял, что сам язык не очень сложный и подходит даже в качестве первого, но нужно выучить синтаксис и погрузиться в некоторые особенности, которые отличают Go от других языков: например, интерфейсы и особенности встраивания. А ещё важно на старте хорошо знать Git и ориентироваться в работе SQL (причём любого).

Эта подборка составлена менторами нашего курса по Go-разработке для практикующих программистов. Она родилась благодаря коллективному разуму наших наставников, которые занимают позиции синьор-разработчиков на Go в разных компаниях.

Читать далее

E2K: от истоков до нюансов Российской архитектуры [ч. 1]

Level of difficultyEasy
Reading time14 min
Views8.1K

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

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

Читать далее

Information

Rating
6,786-th
Registered
Activity