Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь подробно объясню, почему это так.
Разработка
Как я создал еще один JS фреймворк
Многие могут усмехнуться при мысли о запуске очередного фреймворка JavaScript, учитывая множество уже существующих проверенных решений. Зачем браться за создание нового?
Давайте я расскажу свою личную историю о том, что подтолкнуло меня к разработке этого фреймворка JavaScript. Однако, если мой путь к созданию не вызывает интереса, вот краткий обзор (TLDR):
Devin AI — разоблачение от пользователей Reddit или 3 причины, почему искусственный интеллект не заменит разработчика
12 марта текущего года компания Cognition представила Devin AI, первого в мире, по словам разработчиков, полностью автономного ИИ-программиста. В своем блоге Cognition написали: «Devin может планировать и выполнять сложные инженерные задачи, вспоминать соответствующий контекст на каждом этапе, учиться со временем и исправлять ошибки». Они также продемонстрировали аудитории способности ИИ на реальном примере с сайта Upwork, из-за чего в начале весны вызвали волну обсуждений и заставили программистов опасаться за свои рабочие места.
Однако, похоже, можно спокойно выдохнуть, поскольку недавно компания была обвинена во лжи. Пользователи сомневаются в работоспособности Devin AI, называя примеры из промо-видео фейками и указывая на то, что выпущенный продукт совсем не соответствует действительности.
Действительно ли Devin AI всего лишь хитроумный трюк маркетинга, или же будущее уже на пороге? Разберем подробности в статье.
Книга: «Рецепты Python. Коллекция лучших техник программирования»
В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятном коде. Далее исследуются другие интересные подходы, такие как поиск подстрок или пользовательские классы. Перед переходом к следующему вопросу полученные навыки закрепляются с помощью решения задач.
Автор рассматривает все языковые средства, необходимые для уверенного владения Python. По ходу знакомства с книгой вы изучите лучшие приемы написания питонического кода. В освоении каждого инструмента помогут конкретные рекомендации и рисунки. Многочисленные перекрестные ссылки указывают на возможность повторного использования рассматриваемых средств и концепций в различных контекстах.
Истории
Mojo: убийца Python и будущее AI
Всем привет! Меня зовут Вадим, я Data Scientist в компании RAFT. Сейчас технологии AI применяются и развиваются во многих сферах деятельности человека, в особенности LLM, про которые уже слышал каждый. В большинстве случаев подобные технологии реализуют на Python, используя различные библиотеки, такие как pytorch, tensorflow, jax. Все они имеют свои преимущества и недостатки. Например, всем известная скорость вычислений.
Классифицируем клиент-серверное взаимодействие от А до Kafka
Всем привет, меня зовут Александр Карташов, я Java-бэкенд разработчик в Альфа-Банке. Работаю в проекте альфа-бизнес мобайл, мобильное приложение для юрлиц. В рамках проекта мне часто приходилось интегрироваться с разными банковскими системами, с разными стеком технологий, так и родилась эта статья, как попытка все упорядочить.
Программируем в браузерном моде для Scratch 3 на JavaScript
Для преодоления ограничений функциональности блоков мы воспользуемся модом Sheeptester для Scratch, который позволяет подключать внешние расширения, написанные на JavaScript. Хорошей новостью является то, что писать такие расширения несложно даже в случае обладания минимальными знаниями JavaScript, HTML и CSS. Давайте взбодрим кота программным кодом для получения кодоблочной (или котоблочной) среды разработки.
Обобщенные фабрики тайпгардов в TypeScript
Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?
TypeScript упрощает разработку веб-приложений ценой роста кодовой базы. В большинстве случаев накладные расходы, связанные с аннотацией типов, невелики и полностью компенсируются выигрышем в надежности и поддерживаемости кода. TS всеми силами пытается облегчить нам работу за счет мощной системы вывода типов, но компилятор языка не всесилен, и порой нам приходится самим указывать, какие типы мы хотим видеть.
Частный случай решения проблемы сужения типов — функции-тайпгарды. Это полезная фича языка, но ее применение может привести к появлению однотипного кода и даже увеличить риск возникновения багов. В статье рассмотрим проблемы, связанные с использованием функций-тайпгардов и один из способов их решения — создание обобщенных фабрик.
Погружаемся в PEB. Подмена аргументов командной строки в запущенных и suspended процессах
Про спуфинг аргументов в PEB было рассказано многое, но, если честно, ни разу не попадалась статья про изменения аргументов прямо в рантайме.
Немного разобрались, как добраться до PEB руками в IDA Pro и написали простейшее приложение для манипуляции аргументами в PEB.
Почта без хлопот: автоматизация отправки писем с помощью Python
Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней.
В этой статье расскажу, как автоматизировать процесс рассылки писем по электронной почте. Статья будет полезна абсолютно каждому, кто когда-либо сталкивался с необходимостью отправлять информацию или рекламные сообщения большому количеству получателей.
T-test. Зависимость от независимости
Привет, Хабр! В статье подробно рассмотрим область применения самого базового статистического критерия Стьюдента. Посмотрим, как он ведёт себя, когда мы не хотим отдавать качество подбора наших групп на волю случая.
Сигнал «двойной» иерархии
Когда-то давно в одном из управлений по информационной безопасности одного достаточно крупного предприятия нефтегазового сектора пронзила любопытная с моей точки зрения история о которой я хочу сегодня рассказать. Любопытна эта история тем, что достаточно наглядно иллюстрирует как выглядеть двойные сигналы трансформирующийся в организационные конфликты.
Жил-был один из отделов информационной безопасности, где мирно сосуществовали «пиджаки», вышедшие из гражданского сектора и бывшие военные специалисты ушедшие в отставку. Все было бы ничего, но в какой-то момент сменился менеджер стоящий над отделом. Отдельно стоит сказать, что основной управленческий костяк в этой компании состоял практически исключительно из бывших старших и высших офицеров в отставке. И захотел этот руководитель странного: он позвал к себе в кабинет только руководителя отдела и самого младшего специалиста, а весь остальной отдел - не позвал и отчитал начальника отдела при его подчиненном.
Никто из отдела не понял что и почему произошло и поскольку были достаточно дружны, то просто ушли в другую компанию этой группы. Тем не менее, некоторые сотрудники потом оказывались в этой же компании. И только «младший» специалист присутствующий на совещании оказался в стоп-листе по неизвестной причине.
Что произошло? Можно последовательно выдвинуть и проверить несколько гипотез, подтверждение или опровержение которых несколько проясняло бы ситуацию.
Top-down шутер с элементами тактики: опыт solo-разработки на Unity
Привет, Хабр! Хочу поделиться своим опытом и рассказать о проекте, над которым работаю в одиночку – это top-down шутер с элементами тактики, вдохновленный такими играми, как Door Kickers, Ready or Not и Rainbow 6 Siege.
Пока что проект находится на стадии раннего проектирования. В игре ещё нет играбельной версии, но я активно работаю над её созданием, используя Unity и C#.
Ближайшие события
Разбор: Как Apple лишили умных часов в Штатах из-за одного патентного спора
В конце декабря 2023 года Apple запретили продавать умные часы Series 9 и Ultra 2 в США, так как Комиссия по международной торговле выяснила, что IT-гигант незаконно использовал запатентованную технологию медицинской компании Masimo в датчиках анализа уровня оксигенации крови. «Яблочники» обжаловали установленное ограничение в апелляционном суде, который сначала встал на сторону Apple, разрешив реализацию проблемных гаджетов, однако потом изменил свое решение на прямо противоположное.
Secure Scripting: Пошаговое руководство по автоматизации генерации паролей в Linux с помощью Bash
В этой статье я расскажу вам, как использовать bash-скрипты для автоматической генерации паролей для новых учетных записей пользователей в системе Linux.
Математическое моделирование может увеличивать производительность в 3 раза
Математическое моделирование новых материалов позволяет существенно увеличивать скорость разработки новых версий продуктов. В этом многие производители из разных отраслей промышленности уже убедились на собственном опыте.
Введение в BDD
На протяжении истории люди придумывали различные подходы и приёмы, как разрабатывать более качественные и поддерживаемые приложения. В этой статье я бы хотел рассказать о такой методологии разработки, как BDD (Behaviour Driven Development). Но прежде чем перейти непосредственно к гвоздю программы — небольшое вступление.
Думаю, большинство разработчиков согласятся с мыслью о том, что покрытый юнит-тестами код лучше, чем непокрытый. Действительно, тесты позволяют эффективно следить за работоспособностью кода, вовремя отлавливать нерабочие изменения. А ещё из наличия юнитов обычно следует то, что код разбит на логические модули и каждый класс/функция имеет одну зону ответственности (привет SOLID). Тот, кому доводилось писать тест на большую функцию с несколькими зонами ответственности знает, что тесты на такую функцию обречены быть хрупкими и падать при малейшем изменении. Это заставляет задуматься о том, чтобы не писать всё "в одной портянке", а писать гибкий код поделённый на модули. С таким кодом, как правило, приятнее работать, т.к. приходится держать в уме меньше информации.
В какой-то момент люди сделали вывод, что раз код хороший если он тестируемый, тогда давайте мы сначала напишем тесты на этот код, а уже потом сам код. И так придумали методологию...
Домашняя лаба. Как собрать домашнюю инфраструктуру мечты
Мой первый опыт на Хабре получился не очень положительным, и, признаюсь, до сих пор смотря на комментарии и оценки, мне стыдно и больно где-то внутри.
Потому в имя исправления ошибок молодости решил написать серию статей о том, как дома собрать свою "идеальную" хранилку, или сервак, или мини облако. Поделюсь опытом, своими знаниями и пониманием, а также мыслями, которые могут помочь выполняя похожую задачу для себя.
Выявляем боли команд с помощью ретро. Шаблоны в подарок
Привет, Я Бохан Дмитрий — руководитель отдела инновационных проектов компании ПГК Диджитал. Сегодня поговорим про ретроспективу, зачем проводить ретро, а самое главное посмотрим с помощью каких игр, можно сделать ретро ярким и незабываемым.
Зачем проводить ретроспективы с командой?
Ретроспективы служат важным механизмом для команд, чтобы задуматься о своей недавней работе и выявлять области для улучшения. Создавая безопасное пространство для открытого обсуждения, ретроспективы побуждают членов команды свободно делиться своими мыслями, проблемами и идеями. Это способствует культуре прозрачности, доверия и сотрудничества в команде. Кроме того, ретроспективы помогают в следующих направлениях:
1. Непрерывное улучшение: определение того, что прошло хорошо, и что можно было бы сделать лучше, позволяет команде постоянно совершенствовать свои процессы и практики.
2. Вовлечение команды: с участие членов команды в процессе принятия решений дает им новые возможности и увеличивает их чувство владения проектом.
3. Решение проблем: выявление проблем и препятствий своевременно не позволяет им расти и сорвать проект.
Инструменты для ретро
Подготовка и проведение эффективных ретроспектив требует некоторых важных инструментов и методов:
Автоматически выделяем кусочно-линейные тренды временного ряда
Меня зовут Антон Сорока, я математик и аналитик данных.
Я хотел бы рассказать об алгоритме, который выделяет кусочно-линейный тренд из временного ряда и сам определяет точки изменения тренда. Другими словами, это алгоритм для автоматического кусочно-линейного приближения любой функции. Это может понадобиться, если вам важно анализировать линейные тренды ряда, но единственная линия явно недостаточно точно описывает ряд, и самостоятельно искать точки, где тренд менялся, неудобно. Реализация этого алгоритма есть в open-source библиотеке для анализа изменений временных рядов, написанной на Python.
Хабы
Вклад авторов
alizar 91664.8marks 24166.6ru_vds 19948.9alexzfort 14179.0XaocCPS 10986.2pronskiy 10649.4m1rko 10382.0ptsecurity 9578.7Andrey2008 9538.2Jeditobe 9387.6