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

Все потоки

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

Автономный программатор SWD

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

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

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

Читать далее
Рейтинг 0
Комментарии 0

Новости

Мини-ПК в ноябре 2023 года: 5 моделей на все (почти) случаи жизни

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

Производители ноутбуков и настольных ПК выпускают все новые модели. Не являются исключением и мини-ПК, которых становится все больше. Многие из них весьма производительны, так что такие устройства можно использовать для выполнения достаточно «тяжелых» задач. Другие же подходят для офисной работы, что тоже неплохо — ведь экономится место на рабочем столе, такой девайс можно закрепить на задней крышке монитора и забыть про него. Что же, подборка таких устройств — под катом.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 2

Sucker (присоска) — PHP компонент для теста приватных методов и свойств

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

В рамках хобби пишу свои собственные компоненты.
Но есть проблема - отсутствие аудитории.
Чтобы полноценно тестировать компоненты на работоспособность, решил через Хабр дать популярность некоторым своим компонентам.

На днях дописал компонент который универсально может взаимодействовать с приватными свойствами и методами классов и объектов. Цель такого доступа - тестировать работоспособность скрытого когда.
alpa/tools_sucker - https://packagist.org/packages/alpa/tools_sucker
https://github.com/alexeyp0708/php_tools_sucker

Возможно вы зададитесь вопросом - тема стара как мир, зачем еще один схожий компонент?

Читать далее
Рейтинг 0
Комментарии 2

80% руководителей в США сожалеют о решении вернуть сотрудников в офисы

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

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

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

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

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

Истории

На пути из Web к Native, часть 1

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

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

Оставь надежду, всяк сюда входящий. Или.. нет..?

Имея небольшой опыт в веб-программировании, мне казалось, что все не так плохо. И так по началу и было. За вопрос я взялся основательно: без задачи — нет учебы.

Я решил поставить перед собой большую цель: давным-давно...

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

Mimesis: идеальное решение для генерации данных

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

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

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

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

Разбор задачи A отборочного этапа Yandex Cup 2023 — iOS

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

Недавно закончился отборочный этап Yandex Cup для разработчиков по различным направлениям, одним из которых была мобильная разработка под iOS. Как раз про нее и поговорим, а точнее про задания, которые были там представлены. Стоит отметить, что их сложность выше среднего, по этой причине, думаю, каждый подчеркнет для себя что-нибудь новое. Хотелось бы сразу сказать о том, что некоторые используемые конструкции/инструменты языка/фреймворков были для меня не новы, но в жизни встречался с ними редко, поэтому приходилось читать и на практике воспроизводить код из условия, экспериментируя с ним. Правильных ответов у меня не было, и решал я уже после окончания отборочного этапа. Если заметите какие-либо неточности в формулировках, в размышлениях, в ответах, буду рад обсудить это в комментариях.

Приступим! :-)

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

Синтаксический разбор CSV строчек

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

В программировании микроконтроллеров часто надо производить синтаксический разбор (парсинг) CSV строчек. CSV это просто последовательность символов, которые разделены запятой (или любым другим одиночным символом: ; | /). CSV строчки можно, например, повстречать в NMEA протоколе от навигационных GNSS приемников. Любой URL это в сущности та же самая CSV строчка.

В этом тексте я написал как производить синтаксический разбор CSV строчек.

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

Квитанции как способ отражения сделанной работы на уровне типов

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

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


val f: [A] => A => A

Эту сигнатуру можно прочитать так: для любого типа, получив значение этого типа, вернуть какое-то значение того же типа. Исходя из того, что тип может быть любым, и никаких операций над этим типом мы не определили, единственной продуктивно завершающейся реализацией является identity. Здесь и далее мы исключаем непродуктивные решения вида f(a) = f(a) (зависание/отсутствие завершения) или f(a) = throw Exception() (исключение).


Для представления эффектов часто используется конструкция IO[A]. Значение из этого объекта можно получить, только выполнив код, содержащийся внутри. Довольно часто можно столкнуться с ситуацией, когда само значение нам не настолько интересно, как факт выполнения определённой операции. Обычно используется тип возвращаемого значения IO[Unit]. В этой заметке предлагается воспользоваться параметричностью, чтобы получить определённые гарантии.

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

Белоснежно чистый код

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

Что такое чистый код? Это то, что все ищут, но никто не может найти. Люди редко могут сойтись на том, что это такое и как это реализовать на практике. Можно найти бесчисленное число статей на эту тему, и эта станет ещё одной. Я попытаюсь разобраться в том, что такое чистый код сам по себе, в отрыве от языков, парадигм и сфер применения. 

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

Написание Частного технического задания (ЧТЗ)

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

Всем привет! Меня зовут Мишинёва Екатерина, я – ведущий технический писатель с опытом работы в сфере IT более 10 лет.

Рассмотрим подробнее.

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

Flutter VS React Native

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

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

Поскольку мобильные телефоны становятся умнее, пользователи также становятся умнее с каждым днем. Каждый клиент перед выбором и покупкой изучает его функции и используемые технологии. Когда дело доходит до разработки ОС Android и iOS, каждая компания задумывается о том, как лучше всего предоставить своим клиентам мобильное приложение с превосходным пользовательским интерфейсом (пользовательский интерфейс) и выдающимся UX (пользовательский опыт). Компании стараются предоставлять приложения, совместимые с несколькими платформами и позволяющие быстрее разрабатывать их в одном месте. Затем на место приходят Flutter и RN (React Native). Оба являются кроссплатформенными платформами для разработки мобильных приложений.

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

QCustomPlot + FetchContent

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

Изыскание на тему безболезненной интеграции библиотеки QCustomPlot в cmake без похода в браузер за исходниками.

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

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
HolyJS
Дата 2 – 12 ноября
Время 15:00 – 19:00
Место Санкт-Петербург Онлайн
IT Recruiting – HR Forum 2023
Дата 8 – 10 ноября
Время 9:00 – 18:00
Место Москва
Яндекс Backend Tour
Дата 13 – 26 ноября
Время 18:00 – 23:00
Место Москва Нижний Новгород Екатеринбург Новосибирск Санкт-Петербург Онлайн
Национальный рекламный форум
Дата 15 – 17 ноября
Время 10:00 – 19:30
Место Москва
Онлайн IT HR-конференция HR42
Дата 17 – 18 ноября
Время 10:00 – 14:00
Место Онлайн
Импульс Т1
Дата 17 ноября
Время 13:00
Место Иннополис Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн

Реверс мобильных приложений на cocos2dx

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

Хочу поделиться своим опытом в реверс инженеринге приложения на lua cocos2d-x. Файлы приложения зашифрованы xxtea, а ключи шифрования находятся в .so файле внутри приложения.

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

Чем смешнее, тем умнее! О пользе юмора в процессе обучения

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

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

Немного личных наблюдений

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

О юморе и информации...
Всего голосов 8: ↑4 и ↓4 0
Комментарии 0

Разговоры о Курсах, годнота или нет?

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

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

Давайте рассмотрим все "за" и "против". Для этого возьмём две противоположные точки зрения на эту тему. Первая точка зрения - Невозможно за 6-12 месяцев подготовить вменяемого джуна, не говоря уже о более высоких грейдах. 

Соответственно, любые курсы не могут дать нормальной базы, а как следствие, они бесполезны и не могут стоить тех денег, которые за них просят (30 -300 тыс.). По этому мнению, это не более, чем развод на деньги, и само собой, ни о каком трудоустройстве после них говорить нельзя. 

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

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

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

Читать далее
Всего голосов 15: ↑4 и ↓11 -7
Комментарии 22

Архитектуры RL: DDPG иPPO

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

Привет, уважаемые читатели Хабра!

В RL существует множество алгоритмов, каждый из которых имеет свои преимущества и недостатки.

DDPG (Deep Deterministic Policy Gradients) - это алгоритм, объединяющий в себе идеи из двух областей: DPG (Deterministic Policy Gradients) и DQN (Deep Q-Network). DDPG подходит для задач с непрерывным действием, и он стал основой к примеру для управления роботами и автономному вождению.

PPO (Proximal Policy Optimization) - это алгоритм, который сосредотачивается на обучении стратегии (policy) с учетом границ для обновлений. PPO стал популярным выбором благодаря своей стабильности и хорошей производительности в различных средах. Он также широко используется в научном обучение, ИИ героев в играх и в других областях.

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

Во второй раз — повезет?

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

Почти настало время для шоу с массивной ракетой Starship от SpaceX.
SpaceX снова планирует утренний старт ракеты.
Ars Technica, Эрик Бергер, 04.11.2023

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

Ускоряем запуск Spring Boot-приложений в контейнере

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

Знаете ли вы, что Spring Boot-приложение в контейнере может запускаться за миллисекунды? При этом без ущерба для производительности, памяти, паритета окружений разработки-продакшена, без ограничений возможностей языка Java, и почти без изменения кода приложения. Но как? С помощью Liberty 23.0.0.10-beta…

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

12 GitHub записок

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

Наверное, многие помнят детскую (или не очень) игру: "12 записок". В ней нужно последовательно искать записки, в которых есть подсказки, указывающие на место, где лежит следующая записка из цепочки в 12 элементов. Игра длится до тех пор, пока не будет найдена последняя записка. Играть можно как командами, так и индивидуально. Побеждает тот, кто первый найдёт последнюю записку. Давайте вспомним босоногое детство, смешаем старые идеи с новой реальностью и попробуем изобрести 12 записок заново: 12 GitHub записок. 

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