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

Разработка

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

Falang: Low-сode конструктор логики с экcпортом в C++, C#, Rust, Go, TypeScript

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

Полтора года назад я рассказывал про свой пет‑проект по визуальному программированию — falang.io. Основная его особенность состоит в том, что пользователь не управляет расположением икон на схеме, только их содержимым. Все остальные соединительные линии рисуются автоматически алгоритмом по строгим правилам. В т.ч. continue, break, return.

На данный момент, помимо обычных текстовых диаграмм, у меня появился Low‑code констркутор логики с упрощенной семантикой, который может экспортироваться в 5 современных языков программирования: C++, C#, Rust, Go, TypeScript.

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

Освоение Enum в Java: Руководство для разработчиков

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

Java предоставляет разработчикам специальный тип данных под названием Enum (перечисление), который позволяет создавать переменные, значения которых ограничены строго определенным списком. Этот список значений фиксирован и хорошо известен, что делает код более предсказуемым и понятным. Использование Enum помогает избежать ошибок, связанных с применением недопустимых значений, и способствует созданию более надежного и эффективного кода. Enum  можно рассматривать как особый вид класса Java. Enum обладает рядом уникальных особенностей, таких как:

— Возможность реализации интерфейсов; 
— Собственное пространство имен;
— Неявная реализация интерфейсов Serializable и Comparable;
— В неявном виде класс реализует интерфейс java.lang.Enum и не может быть расширен от другого класса;
— Для сравнения значений Enum можно использовать операторы == и equals().

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

Обзор AудиоКодека NAU8814YG

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

Аудио кодек по сути это цифро-аналоговое устройство, где есть пара ADC + DAC. На входе обычно есть сумматор на операционных усилителях для подмешивания аналогово сигнала с разных проводов, есть еще аналоговые усилители. Высокоскоростной многоканальный интерфейс: I2S или TDM. И интерфейс I2C для того чтобы всем этим добром управлять.

В этой заметке я написал о своём опыте работы с ASIC аудиокодеком NAU8814.

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

Linux 6.9 уже готов: что нового? Изменения и дополнения в ядре

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

Прошло всего два месяца, и Линус Торвальдс обнародовал, если так можно выразиться, релиз ядра Linux 6.9. В новой версии — 15 680 исправлений от 2 106 разработчиков. Общий размер патча — 54 Мб (изменения затронули 11 825 файлов, добавлено 687 954 строки кода, удалено 225 344 строки). К слову, это лишь немногим больше, чем в прошлом выпуске.

Известно, что 42% всех изменений связаны с драйверами устройств, 17% — с апдейтами для разных архитектур, 13% — изменения сетевого стека и 4% — внутренние подсистемы ядра. Подробности — под катом.

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

Истории

Как мы упростили процесс интерактивной визуализации данных в веб-приложении, используя HoloViews

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

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

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

Wasm на весь стек — движемся от клиента к серверу с использованием Leptos, Rust и Spin

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


Leptos – интересное пополнение в ряду веб-фреймворков для Rust. Помимо того, что Leptos может обеспечить быстрые обновления на стороне браузера через клиентскую часть WebAssembly, а также детализированные отклики на сигналы в ходе реактивной коммуникации, он ещё и чрезвычайно удобен для взаимодействия с серверными службами через изоморфные серверные функции. Таким образом, выполнять удаленные вызовы к API оказывается не сложнее, чем вызывать функции Rust. Именно благодаря интеграции с серверной частью Leptos так привлекателен для использования совместно со Spin. Если вам интересно, как это выглядит, или же вы хотите погоревать над весьма неказистым пользовательским интерфейсом, то читайте дальше.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+18
Комментарии4

HTML: атрибут aria-disabled

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

aria-disabled — атрибут, который указывает на то, что элемент интерфейса в данный момент не доступен для взаимодействия. Этот атрибут важен, поскольку он позволяет разработчикам явно указать, что элемент должен быть воспринимаем как неактивный, без изменения его DOM структуры или удаления событий, которые уже могут быть к нему привязаны.

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

Коммивояжер на GPU

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

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

Динамическое программирование — это метод решения сложных задач путём разбиения их на более мелкие подзадачи, решение которых легче и проще.

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

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

Книга: «Laravel. Полное руководство. 3-е издание»

Время на прочтение19 мин
Количество просмотров2.3K
image Привет, Хаброжители!

Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Третье издание, обновленное с учетом Laravel 10, — это практическое руководство по использованию одного из самых популярных на сегодняшний день веб-фреймворков.

Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро разобраться с темой, чтобы реализовать проект на Laravel. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+15
Комментарии0

Префиксы is, has, can, should… в нейминге переменных и функций

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

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

Читать далее
Всего голосов 38: ↑37 и ↓1+43
Комментарии31

Рассвет и закат мобильного программирования

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

Представьте, что вы сидите на скучнейшем уроке литературы: кто-то спит, кто-то рисует в тетради, кто-то чатится в ICQ, кто-то проходит очередной уровень Gravity Defied, а вы люто набираете на своём Sony Ericsson программу на Бейсике, которая случайным образом выводит имя одного из одноклассников и какой-нибудь слегка обидный неправдивый факт о нём. Наконец, последние строчки дописаны, вы запускаете программу и показываете её соседу по парте, потом телефон уходит на другой ряд и… к концу урока добрая половина класса уже потирает ладони, чтобы хорошенько отвесить вам подзатыльников за такие приколы. Но последствия не так важны, как эйфория от того, что путь мобильной разработки для вас только-только начинается.

Это был 2006 год. У многих из нас ещё не было ПК, зато были мобильные телефоны с небольшими экранами, ограниченный доступ в Интернет и много свободного времени, которое хотелось потратить на реализацию какой-нибудь идеи.

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

Диалоги, анимации, озвучка, нейросети

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

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

Воплощаю мечту, создавая игру  
Воплощаю мечту, создавая игру. Часть 2-я.

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

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

Джун Ха: ход конём из поэта в великие математики

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

В 2022 году Джун Ха был награжден медалью Филдса  за революционный вклад в области комбинаторики, особенно за мосты, которые он построил между комбинаторикой и алгебраической геометрией. Сложно поверить, что человек, получивший медаль за выдающиеся открытия в математике, раньше совершенно её не любил, и вообще мечтал стать поэтом. Возможно, мир никогда не узнал бы этого выдающегося математика, если бы не… шахматы. А именно, задачи на ход коня. Вот как всё было.

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

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Лучшие практики Laravel для разработчиков в 2024 году

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

Для чистого, тестируемого и масштабируемого кода в фреймворке Laravel стоит применять необходимые практики. Особенно это важно с учетом гибкости PHP, ведь любые отклонения могут привести к усложненному коду, а скорость обнаружения ошибок гораздо снизится. 

Разбираемся, как помогает Laravel, и называем нужные практики для создания приложений.

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

Нация высоких технологий: как создавался IT-сектор Израиля

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

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

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

Microsoft пытается побудить пользователей Windows перейти на новые ПК и ноутбуки. Основной инструмент — штатный браузер

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

Источник.

Речь идет о том, что корпорация Microsoft использует еще один способ, который может побудить пользователей Windows на старых машинах купить новое оборудование. На этот раз компания решила прекратить поддержку браузера Edge на устаревших системах. Сообщается, что редмондская корпорация не будет обновлять Edge, и тот через какое-то время не сможет нормально функционировать. Подробности — под катом.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+18
Комментарии41

«Я в топ 4% мира на LeetCode» — это оказалось на удивление просто и недолго

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

Ко мне в коучинг пришёл джентльмен. Чуть меньше 20 лет опыта в разработке. Одна из ключевых задач, которая ему была интересна — Как начать литкодить каждый день?

«То настроения, то сил нету, то задачи не понимаю.. Начинаю раз в полгода и бросаю» — самый обычный набор приколов, которые мешают.

Я предложил ему обернуть всё это в привычку и дисциплину. Я собрал свою методологию прививания привычек основываясь на:

Ежедневно он тратил на Литкод 15–20 минут. Не более. Иногда участвовал в турнирах, которые и зафиксировали результат в топ 4%.

Читать далее
Всего голосов 83: ↑34 и ↓49-4
Комментарии90

Бутстрап временных рядов

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

Всем привет! Как и во многих других компаниях, в X5 существует огромное количество данных, зависящих от времени. Такие данные принято называть временными рядами (time-series). Это могут быть данные о продажах в магазинах, об остатках на складах или об удовлетворенности клиентов. Используя эти данные, мы хотим искать инсайты и приносить пользу бизнесу.

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

Для временных рядов бывает полезно оценить границы, в которых находятся параметры модели, из которой получен ряд. Кроме того, часто необходимо посчитать доверительный интервал, в котором находятся предсказания для объекта с использованием моделей машинного обучения. Однако обычные методы бутстрапа не подойдут для временных рядов, так как они не учитывают структуру таких данных.

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

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

Как тестировщику выживать среди заказчиков

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

Всем привет! Меня зовут Фефилов Александр, я работаю в QA с 2017 года. По большей части это были компании, которые занимались аутсорсингом, но затем я присоединился к SM Lab.

Как вы уже поняли из названия поста, я расскажу о том, как взаимодействовать с заказчиком (а иногда и с заказчиками) с позиции QA‑эксперта.

Под катом личный опыт работы в разных крупных компаниях и ответы на вопросы:

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

Итак, начнём по порядку.

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

Обфускация и деобфускация JavaScript: основы и инструменты

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

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

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