В одном из проектов мне нужно было создать сложную админку для крупного клиента. Интерфейс требовал большо количества интерактивностей, а также поддержку различных тем и динамических стилей. Именно тогда я решил обратить свой взгляд на CSS-in-JS библиотеки, и это для меня стало большим открытием.
Ведь стилизация компонентов – основа для создания интуитивно понятных и эстетически приятных интерфейсов. И иногда традиционные методы стилизации, такие как CSS-файлы или препроцессоры, имеют свои ограничения и могут усложнять сам процесс разработки, чего мы точно не хотим.
Здесь вот и приходят на помощь решения CSS-in-JS, объединяющие фичи JS и CSS.
Мы с командой разработчиков "*** Telecom" решили весело и с увлечением сопоставить языки программирования с классами из мира World of Warcraft. Почему бы не объединить наше любимое хобби с нашей профессиональной деятельностью? Давайте вместе погрузимся в этот волшебный мир и узнаем, как каждый язык программирования может быть аналогом одного из классов в WoW!
Интеллектуальная собственность (ИС) – это широкое категориальное описание совокупности нематериальных активов, принадлежащих компании или физическому лицу, которое юридически защищено от постороннего использования или реализации без согласия правообладателя интеллектуальной собственности.
Концепция интеллектуальной собственности связана с тем фактом, что определенным продуктам человеческого интеллекта должны быть предоставлены те же охранные права, которые применяются к физическому имуществу, называемому материальными активами. В большинстве развитых стран приняты правовые меры для защиты обеих форм собственности.
Одна из самых главных мотиваций для многих профессионалов своего дела - в первую очередь, финансовая, как и для меня сейчас. И это логично. Но я уверен, что многие из нас, особенно те, кто начинал свой путь в программирование в школьные годы чудесные, иногда вспоминают то время, когда ты еще достаточно молод для того, чтобы идти вперёд за идеей, а не за деньгами (конечно это утрировано, но всё же).
Это история моего старта. Того, как я, будучи десятиклассником, познавал все прелести программирования и разработки через достижение поставленных "амбициозных" целей.
Забавная по сути своей ситуация получилась при работе с Positive Technologies. Согласно требованиям партнерских программ, я проходил необходимые сертификации на их сайте edu.ptsecurity.com и по старой доброй привычке решил просмотреть тела и хедеры запросов, которые отправляются на сайт при переходе по различным ссылкам. Burp Suite всегда отлично помогал в решении такого рода задач, он не подвел и в этот раз =)
Нюансы оптронной развязки, борьба с её недостатками и интересный на мой взгляд костыль: как разогнать скорость копеечной опторазвязки и наполучать других бонусов. Я не силён в рекламе, поэтому на месте КДПВ будет сразу тема статьи.
Все мы в детстве мечтали сделать свою игру, а кто-то даже пробовал что-то сделать в различных конструкторах. Мы проводили часами в мечтаниях, как сделаем свою игру мечты, как станем богатыми, как о нас услышат все игроки мира. Но с взрослением эта идея угасала или же выбрасывалась в мусорку к другим нереализованным планам. Наша же команда одна из того мизерного количества людей, которое всё-таки решило воплотить свою мечту в жизнь.
Expression Problem (EP) - это классическая задача в программировании на совмещение несовместимого.
Автор задачи (Philip Wadler) формулирует следующие цели: создать такую абстракцию, что позволяла бы расширять иерархию в двух направлениях: добавлять новые классы и добавлять новые методы для обработки иерархии, сохраняя при этом строгую статическую типизацию и не требуя изменений существующего кода.
В динамически типизируемых языках мы бы могли добавить или переопределить метод на лету с помощью трюка, ставшего известным под неказистым названием monkey patching (хоть первоначально речь шла совсем не про обезьян, а про партизан - guerrilla).
А вот какие трюки применяют в статически типизированных языках рассмотрим под катом.
Друзья, приветствую! Сейчас наблюдается невероятный интерес к телеграмм игре Hamster Kombat. Все тапают этого несчастного хомяка в надежде, что когда-то можно будет продать монеты за реальные деньги. Пока мы все в ожидании, давайте я расскажу, как автоматизировать процесс фарма и тапанья хомяка через Python, используя один интересный проект.
В завершении статьи я поделюсь с вами двумя способами, которые позволят развернуть нашего бота удаленно.
4. Хэш-таблицы в dict 4.1. Как компактный dict экономит место и сохраняет порядок 4.2 Алгоритм добавления элементов в компактный dict 4.3. dict с общим доступом к ключам 4.4. Практические выводы по тому как работает dict
Наконец-то ко мне пришёл долгожданный MIK32 АМУР на плате ELBEAR ACE-UNO от ELRON. Нормально так мне с ним пришлось по возиться, в какой-то момент уже подумал что прислали "кирпич", оказалось просто есть кое-какие нюансы о которых я сейчас расскажу.
Микроконтроллер долгое время не хотел определяться, с начала не заработал PlatformIO, библиотека MIK32 не установилась, выскакивала ошибка. Теперь я знаю что невнимательно прочёл инструкцию, но тогда не смог установить. В инструкции обратите внимание на ссылки wiki.mik32.ru и сделайте всё в точности как там описано, не спешите (:
Потом я установил MikronIDE, но OpenOCD писал ошибку, мол к JTAG ничего не подключено. Точнее ошибку сначала выдавал Uploader Микрона, а он в свою очередь обращался к OpenOCD.
PHP продолжает оставаться одним из самых популярных языков для веб-разработки благодаря своей простоте и широким возможностям. PHP сохраняет высокие позицию в веб-разработке, особенно при создании динамических веб-сайтов и приложений. С появлением новых версий и инструментов, PHP останется актуальным и в 2024 году, продолжая занимать свою нишу. Сегодня существует множество ресурсов, которые помогут вам начать изучение PHP с нуля и быстро продвинуться до уровня профессионала. В этой статье мы рассмотрим лучшие вводные курсы и книги, которые помогут вам освоить PHP.
Не будем долго тянуть и рассказывать, что такое PHP, перейдем к списку курсов.
Всем привет! Я тут недавно начал разбираться в одной очень интересной теме, связанной с обработкой цифровой информации. Объектом моего исследования стали помехоустойчивые коды. Когда я был студентом, я даже писал студенческую научную статью, в которой представил код на Си для кодирования информации кодом Хэмминга на Arduino. Только вот коды Хемминга вряд ли можно применить в каких-нибудь сложных каналах связи по типу WiFi или LTE, поэтому я начал изучать другие коды. Немного погуглив, я понял что мейнстримом среди помехоустойчивых кодов являются LDPC коды.
На Хабре была статья на тему помехоустойчивого кодирования и LDPC кодов. В ней автор очень круто описал основные принципы обработки информации, закодированной LDPC кодом, и даже привел пример декодирования методом SPA и некоторые мысли о том, как это дело можно оптимизировать. Я решил привнести свою лепту и подготовил свою небольшую статью в которой расскажу про кодирование информации на примере метода Ричардсона-Урбанке (Richardson - Urbanke method), а также рассмотрю вариант декодирования информации методом minsum и различные способы оптимизации этого метода.
Стоит ли использовать django в 2024? Я думаю - да. DRF очень удобен, скорость разработки очень высока(особенно, если использовать generic views, django-filters), огромное количество готовых батареек сильно облегчает жизнь и встроенная админка хорошо подходит для большинства сайтов. Полностью асинхронные фреймворки(или переход на другой язык) не дадут большого выиграша, если ваш сервис много работает в БД - вы упретесь в её производительность и ограничения количества соединений с пулом бд. Далее я вкратце пробегусь по основным моментам и дам ссылки на документацию и готовые батарейки.
В этой статье рассмотрим старт проекта как обычное веб-приложение с минимальным функционалом. Остальные функции будут завязаны на Telegram API и веб-приложение сможет запускаться из Telegram.
Столкнувшись со шквалом задач разной степени важности, 3 года назад я принял решение начать записывать задачи в планер/to do list который было бы удобно вести и с телефона, и с ноутбука. Выбор пал на Notion, как на популярную межоперационную платформу. За время использования планера было выполнено множество разных задач, и стало интересно провести некоторый анализ того, как и на что уходило время...
Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы показать новый архитектурный паттерн, который внезапно открыл для себя в разработке игр.
Особенность паттерна Entity-State-Behaviour заключается в том, что ваш игровой объект представляет собой Entity, которая состоит из набора данных (State) и логики (Behaviour). За счет жесткого разделения данных и логики, разработчик может легко разрабатывать новые взаимодействия между игровыми объектами, системами и AI и подключать их в процессе выполнения программы...
Техника тренировки модели на основе обратной связи от людей (RLHF) была предложена как один из способов повысить согласованность модели. Люди, при том что являются основным источником предвзятостей в данных, одновременно являются своего рода высшим авторитетом в оценке текстов на соответствие каким либо ценностям.
В серии статей мы разберем каждую часть и внутренние детали пайплайна RLHF отдельно и поймем, как сообщество пришло к этой идее. Сделаем мы через через исторический обзор подвыборки статей по теме, каждая из которых опиралась на результаты предыдущих и приносила что то важное и новое в формирование общего пайплайна.
Это первая статья цикла о LLM, Предобучении и KL-контроле.