Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Поясняю за React Сompiler

Время на прочтение6 мин
Количество просмотров7.8K

В 2024 году команда React готовит множество нововведений, приуроченных к выходу React 19.

Одним из таких нововведений является React Сompiler — новый JavaScript-компилятор для оптимизации вычислений. Главной целью разработчиков была оптимизация и автоматизация мемоизации в React-приложениях. Если раньше фронтендерам приходилось использовать такие хуки, как useCallback и useMemo, то вскоре React сам возьмёт на себя ответственность за мемоизацию, чтобы избежать повторных вычислений при каждом рендеринге.

Не будем затягивать со вступлением и сразу перейдём к пересказу.

Читать далее
Всего голосов 15: ↑11 и ↓4+8
Комментарии42

Конструирование лучшей команды (мечты). Социальная инженерия. Часть 2

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

В завершении предыдущей части мы рассмотрели четвертую концепцию Лумана о внутреннем противостоянии в Социальной среде между, насаждающей правила Надсистемой и сопротивляющейся ей Системой-элементом. Случаются и более запущенные случаи, когда Надсистема биологически состаривается, а Система-элемент только набирает социальный вес. При этом при всем, Субъективная реальность Надсистемы все еще воображает себя злободневной и насущной. Такое вот столкновение сказывается на устойчивости и стабильности всего Сообщества, воздействуя на структуру ее глубинного “внутреннего мира”. В результате этих перемен, трансформируется и продукт Среды - Социальная реальность, что нельзя не учитывать при конструировании Сообщества.

С точки зрения системотехники подобные процессы отражают седьмое свойство системы:

«Изменчивость системы со временем». В любой системе происходят изменения, которые надо учитывать: предусматривать и закладывать в проект будущей системы.

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

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

Читать далее
Всего голосов 6: ↑2 и ↓4+2
Комментарии13

Электронные чернила и Raspberry Pi

Время на прочтение10 мин
Количество просмотров5.1K

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

А вот если нам нужно собрать полностью мобильное устройство, работающее от аккумуляторов, то здесь проблема потребления питания может стать достаточно острой. Так, при сборке собственного планшета на базе Raspberry Pi 3 мне пришлось выделить под тачскрин отдельный аккумулятор, так как при использовании общего источника (Li-Po, 6000 мАмпер-часов) питания устройство могло проработать более часа, но при запуске какого-либо ресурсоемкого приложения резко возрастал ток потребления и устройство тупо отрубалось, так как аккумулятор просто не мог выдать такой ток.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии6

TI на коленке или как исследовать угрозу с помощью браузера

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.7K

Всем привет! В этой статье мы не будем рассуждать на тему что такое Threat Intelligence, и с чем его едят, а сразу перейдем к делу.

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

PS: картинка сгенерирована нейросетью kadinsky 3.1 по запросу "Cyber Threat Intelligence по русски"

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии1

Истории

Мои мысли о Python in Excel

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров15K

22 августа 2023 года компания Microsoft выпустила предварительную версию «Python in Excel». Я разработчик xlwings и автор книги O’Reilly Python for Excel, поэтому мне, разумеется, стало интересно её потестировать. Не следует судить книгу по обложке, поэтому я решил углубиться в изучение и записать обучающий курс LinkedIn Python in Excel: Working with pandas DataFrames. Параллельно я обнаружил много багов и других проблем, после чего отправил отчёты о них в GitHub. На текущий момент они уже или были разрешены, или хотя бы подтверждены/прокомментированы, и это потрясающе. Мне остаётся лишь мечтать, чтобы столь же легко можно было бы сообщать о багах в мире Office.js и VBA.

Так что же я думаю о Python in Excel?

Читать далее
Всего голосов 13: ↑13 и ↓0+22
Комментарии8

Как сделать пароль менеджер

Уровень сложностиПростой
Время на прочтение55 мин
Количество просмотров19K

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

Читать далее
Всего голосов 20: ↑12 и ↓8+5
Комментарии39

Ноутбук с процессором RISC-V: современный лэптоп на базе ОС Linux. Что это за девайс?

Время на прочтение4 мин
Количество просмотров9.3K

Похоже на то, что популярность архитектуры RISC-V постепенно растет. Это и неудивительно, учитывая ее бесплатность и отсутствие необходимости выплачивать лицензионные отчисления кому бы то ни было. Устройств на базе новых чипов тоже все больше. На днях появился ноутбук с крайне оригинальным названием Laptop II, выпущен он брендом DC-ROMA. Подробности — под катом.

Читать далее
Всего голосов 11: ↑8 и ↓3+12
Комментарии56

Делаю слоты часть 2

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

После неудачного принятие первой статьи решил бросить силы и улучшить приложение до демки. Вот что получилось:

Читать далее

Читать далее
Всего голосов 9: ↑0 и ↓9-9
Комментарии12

Factor and Block CSS — методология CSS

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.8K

Hello, Developers!! Сегодня я расскажу о новой методологии для CSS, которая поможет вам сэкономить время на чтение и редактирование CSS-файлов. Методологию я придумал сам, если будут какие-то идеи, как улучшить её, буду рад обсудить это с вами в комментариях. Давайте же начнем.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии13

Что на неделе: презентация Apple, масштабный сбой в Telegram и внезапные успехи российских сервисов видеосвязи

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

Всем привет! В эфире Андрей Олег Малахов из AGIMA, и это мой дайджест новостей из мира технологий за последнюю неделю. Я долго (нет) размышлял, на каких событиях сделать акцент в этой подборке. И в итоге решил кратко пересказывать те новости, которые с большой вероятностью не доходили или почти не доходили до Хабра. Самые громкие темы игнорировать тоже не буду — формат еженедельного (надеюсь) дайджеста обязывает.

Поехали, субъективно интересные новости за неделю с 8 по 15 июня.

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии0

CI/CD заказывали? Или простое, но подробное руководство по настройке CI/CD под несколько iOS проектов

Уровень сложностиПростой
Время на прочтение29 мин
Количество просмотров5.5K

Привет, меня зовут Дмитрий, и я iOS разработчик в компании Triada. В этой статье я расскажу, как настроить CI/CD для вашего iOS приложения, и приведу пошаговую инструкцию, как сделать это правильно с первого раза – чтобы не пришлось переделывать.

Мы настроим CI/CD для iOS проекта с репозиторием на GitLab с использованием Fastlane. Сборки будем отправлять в Testflight и в Firebase, если он у вас используется.

Читать далее
Всего голосов 4: ↑4 и ↓0+5
Комментарии10

Поднятие Redis сервера: Полное руководство

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

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

Сегодня я расскажу вам:

Читать далее
Всего голосов 11: ↑2 и ↓9-7
Комментарии3

Сервер на визитке

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров18K

Все началось еще лет 10 назад, когда я впервые наткнулся на статью где было описано как эксперт по 3D-технологиям вместил сильно обфрусцированный код рейтрейсера на C++ в размеры своей визитки.

Читать далее
Всего голосов 37: ↑31 и ↓6+35
Комментарии41

Ближайшие события

12 – 13 июля
Геймтон DatsDefense
Онлайн
14 июля
Фестиваль Selectel Day Off
Санкт-ПетербургОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн

Управление напряжением PWM сигналом (PWM+RC=DAC)

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

В очередной тестировочной электронной плате появилась нужда выставлять напряжения на клеммах.

Существует очень остроумный способ собрать DAC используя PWM сигнал и аналоговый RC фильтр. На выходе будет желаемое напряжение. Причем, уровнем этого напряжения можно управлять цифровым образом из программы в микроконтроллере.

В этом тексте я написал как мне это удалось.

Читать далее
Всего голосов 15: ↑13 и ↓2+18
Комментарии169

Делаю игрулю на Playdate на чистом C. Глава 4

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.3K

Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В этих заметках ты узнаешь из первых уст как создаётся игруля с нуля от идеи до публикации.

Если ты не читал предыдущие главы, то лучше начать с них.

Глава 1 - создание аналога объекта динамического массива для будущих нужд на чистом С;

Глава 2 - программирование внедорожника и объектов пустыни, инициализация и очистка ресурсов игры;

Глава 3 - описание процессинга тика, в частности, обработка пользовательского ввода, а также обновление модели данных.

====================

В этой главе тебя ждут математика за пятый класс, пьяные перекати-поле и обуздание неопределённого поведение.

Итак, большинство людей в мире визуалы. Это значит, что им привычнее всего воспринимать информацию глазами. В прошлых главах я создал целый мир, но какой в этом смысл если это невозможно увидеть? Нет, конечно можно в баре рассказывать про то, какой невероятный код я написал, но собеседник не сможет его увидеть так как у него нет Playdate (ты же помнишь, что я живу в Казахстане? У нас на всю страну три человека имеют Playdate), ну и потому что собеседник бухой в щи, пьяный в зюзю, надрался, под мухой, на рогах, зелёный как снег.

В общем, в чему это я... Наша заветная функция GameDraw... Она рисует игру (внезапно). Напомню, у нас есть машинка (внедорожник или "джип"), перекати-поле, кактусы, насыпи песка и на этом всё.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии2

Метрики оценки качества моделей и анализ ошибок в машинном обучении. Подробное руководство

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров5.2K

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

В данном туториале будут рассмотрены популярные метрики для задач классификации, регрессии и кластеризации, а также инструмент для анализа ошибки модели, известный как bias-variance decomposition. Помимо этого, для большей части метрик будут представлены ручные расчёты и реализация с нуля на Python, а в конце вы сможете найти дополнительные источники для более глубокого ознакомления.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии5

PHP и Laravel дайджест новостей за май 2024 года

Время на прочтение7 мин
Количество просмотров4.1K

Всем привет!

Это PHP Дайджест от CutCode. Давайте посмотрим, что произошло за прошедший месяц в мире PHP.

Читать далее
Всего голосов 16: ↑16 и ↓0+21
Комментарии0

Perl 5.40.0: что нового спустя 11 месяцев? Изменения и дополнения в релизе

Время на прочтение4 мин
Количество просмотров2.1K

Не прошло и года, как разработчики дождались новой стабильной ветки языка программирования Perl — 5.40. При подготовке этого выпуска изменениям подверглись свыше 160 тыс. строк кода и 1 500 файлов. Всего в работе над релизом приняли участие 75 специалистов. Ну а подробности, как всегда, под катом.

Читать далее
Всего голосов 19: ↑19 и ↓0+28
Комментарии9

Macroni: рецепт поступательного улучшения языка программирования

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров4.1K


Хотя, Clang и используется в качестве инструмента для рефакторинга и статического анализа, у него есть серьёзный недостаток: в абстрактном синтаксическом дереве не предоставляется информации о происхождении конкретных расширений-макросов на CPP, за счёт которых может надстраиваться конкретный узел AST. Кроме того, Clang не понижает расширения-макросы на уровень LLVM, то есть, до кода в формате промежуточного представления (IR). Из-за этого оказывается запредельно сложно конструировать такие схемы статического анализа, при которых учитывались бы макросы. Сейчас эта тема активно исследуется. Но ситуация налаживается, поскольку прошлым летом был создан инструмент Macroni, упрощающий статический анализ именно такого рода.

В Macroni разработчики могут определять синтаксис новых языковых конструкций на C с применением макросов, а также предоставлять семантику для этих конструкций при помощи MLIR (многоуровневого промежуточного представления). В Macroni используется инструмент VAST, понижающий код C до MLIR. В свою очередь, инструмент PASTA позволяет выяснить, откуда те или иные макросы попали в AST, и на основании этой информации макросы также удаётся понизить до MLIR. После этого разработчики могут определять собственные MLIR-конвертеры для преобразования вывода Macroni в предметно-ориентированные диалекты MLIR, чтобы анализировать предмет с учётом многочисленных нюансов. В этой статье будет на нескольких примерах показано, как Macroni позволяет дополнять C более безопасными языковыми конструкциями и организовать анализ безопасности C.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+26
Комментарии1

Пишем собственный макрос на Dart 3.5 вместо старого генератора кода

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.9K

В Dart 3.5 большое новшество: макросы. Это как старая генерация кода, но прямо в памяти, без временных файлов, плюс ещё много преимуществ.

В этой статье разбираем пилотный макрос JsonCodable, который команда Dart выпустила, чтобы мы разобрались в новой технологии. И пишем собственный простейший макрос.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0