Pull to refresh
0
0
Светлов Александр @Mehalich

Пользователь

Send message

Java-ресурсы, на которые есть смысл подписаться

Reading time4 min
Views24K
Когда язык программирования используют миллионы человек, кажется, что о нём должно быть предостаточно сайтов, в том числе русскоязычных. Однако, если набрать в поисковике «новости Java», результаты оказываются примерно такими:



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

Поэтому, во-первых, мы сейчас перезапустили сайт JUG.ru, чтобы исправить это. А во-вторых, раз русскоязычные регулярно обновляемые ресурсы в дефиците, вспомнили, какие есть англоязычные, и делимся результатами с Хабром. Разумеется, в текст вошло далеко не всё возможное, и будем только рады дополнениям в комментариях.
Читать дальше →

Кратко о Java MemoryModel для тех у кого мало времени, но захотелось разобраться

Reading time6 min
Views26K
Данная статья в некотором роды выжимка того, что Вы могли бы узнать просмотрев разные видео ролики господина Шипилева, Елизарова, Смирнова. Собственно мы даже собрали для Вас плейлист если Вы захотите пойти «the hard way». В статье я лишь попробую Вам передать некоторые основные мысли/идеи, которые при желании Вы сможете намного более глубоко изучить в первоисточниках.

Итак, давайте теперь перейдем к собственно сабжу. Еще лет пять назад можно было не сильно «парясь» выдавать на-гора однопоточные программы, которые с трудом запускались на топовом железе и знать, что через год-два этот кусочек “программки” (простите за аллегорию) начнет работать нормально. Сегодня подобный «бесплатный обед» закончился.


На картинке четко видно, что количество транзисторов все еще растет, но с точки зрения частот мы практически достигли потолка. «Кривизну» рук разработчиков уже трудно компенсировать тем, что через год железо станет работать в два раза быстрее. Хотя не все так печально, процессоры пока еще растут, только с точки зрения количество ядер. Как следствие, для того чтобы «программка», написанная криворуким орком, смогла хоть как-то нормально работать на новом железе, нужно чтобы она нормально работала в многопроцессорной среде. А производительность была напрямую связана с количеством ядер на железе. Вот собственно от том, а что же такое «нормально работала многопроцессорной среде» мы и поговорим далее.
Читать дальше →

Работа с датчиками тока на эффекте Холла: ACS758

Reading time7 min
Views95K
Всем привет!

Пожалуй, стоит представиться немного — я обычный инженер-схемотехник, который интересуется также программированием и некоторыми другими областями электроники: ЦОС, ПЛИС, радиосвязь и некоторые другие. В последнее время с головой погрузился в SDR-приемники. Первую свою статью (надеюсь, не последнюю) я сначала хотел посвятить какой-то более серьезной теме, но для многих она станет лишь чтивом и не принесет пользы. Поэтому тема выбрана узкоспециализированная и исключительно прикладная. Также хочу отметить, что, наверное, все статьи и вопросы в них будут рассматриваться больше со стороны схемотехника, а не программиста или кого-либо еще. Ну что же — поехали!

Не так давно у меня заказывали проектирование «Система мониторинга энергоснабжения жилого дома», заказчик занимается строительством загородных домов, так что кто-то из вас, возможно, даже уже видел мое устройство. Данный девайс измерял токи потребления на каждой вводной фазе и напряжение, попутно пересылая данные по радиоканалу уже установленной системе «Умный дом» + умел вырубать пускатель на вводе в дом. Но разговор сегодня пойдет не о нем, а о его небольшой, но очень важной составляющей — датчике тока. И как вы уже поняли из названия статьи, это будут «бесконтактные» датчики тока от компании Allegro — ACS758-100.
________________________________________________________________________________________________________________________

Даташит, на датчик о котором я буду рассказывать, можно посмотреть тут. Как несложно догадаться, цифра «100» в конце маркировки — это предельный ток, который датчик может измерить. Скажу честно — есть у меня сомнения по этому поводу, мне кажется, выводы просто не выдержат 200А долговременно, хотя для измерения пускового тока вполне подойдет. В моем устройстве датчик на 100А без проблем пропускает через себя постоянно не менее 35А + бывают пики потребления до 60А.

image
Рисунок 1 — Внешний вид датчика ACS758-100(50/200)
Читать дальше →

Что необходимо знать о резисторах?

Reading time5 min
Views95K


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

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

Начнём с самого простого и старого.

Углеродные композиционные резисторы


Читать дальше →

Тестирование мультиметров, а также об ошибках измерения

Reading time5 min
Views66K


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

Содержание публикации:
  • Описание используемых приборов, и их начальная калибровка
  • Тест на синусоидальном токе различной частоты
  • Тест током прямоугольной формы
  • Тест на прямоугольном токе с постоянной составляющей
  • Тест сигналами произвольной формы, в т.ч. импульсным
  • Многозначительный вывод
  • Голосовалка

Читать дальше →

Роботостроительство – делаем базовую платформу для будущего робота

Reading time34 min
Views45K
Всем бодрого/доброго (нужное подчеркнуть) времени суток и хорошего настроения! Хочу рассказать и показать процесс, как я придумывал (проектировал) и изготавливал базовое шасси для четырёхколёсного робота.

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



Цель этого поста – показать процесс разработки и изготовления подобной платформы. Обычно в статьях по робототематике показывают уже готовые устройства, демонстрируя, что сделано и как оно в результате работает. Это интересно, конечно же. Но с бóльшим удовольствием я читаю статьи, в которых поэтапно показывается, как именно сделано, почему и описание каких-то отдельных моментов или мыслей. Я попробую подробно описать как собиралась движущаяся платформа в домашних условиях. Эта статья – профильное чтение для отдыха. Саму статью я подготавливал, наверное, больше времени раза в три, чем рукоделием занимался. Не претендую на полноту описания, высокотехнологичность, наукоёмкость, инновационность и безошибочность… Но надеюсь, что для кого-то она поможет сделать какие-то первые шаги и покажет, что современная модульная электроника это совсем не сложно, хотя и не совсем просто, как кажется. «Дяди снова играют в машинки вместо того, чтобы серьёзным делом заниматься». Но ведь нужно же заниматься чем-то тем, кто никак не может вырасти. Осторожно – под катом будет много текста и неприлично много картинок.
Читать дальше →

5 идей по игровой аналитике

Reading time6 min
Views15K
… которые можно почерпнуть из вебинара наших партнеров из detodev. Этот вебинар проводился 25 августа вместе с друзьями с отличного портала по геймдизайну GDCuffs на тему “Аналитика в играх”. Про игровую аналитику рассказывали Сергей Гимельрейх, учредитель в ORC WORK, Александр Пашин, Senior Game Designer в Silly Penguin и ведущий аналитик devtodev Василий Сабиров, который кстати скоро будет проводить отдельный мастер-класс по игровой аналитике для слушателей нашей программы «Менеджмент игровых интернет-проектов».

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


Связь в интернете вещей: LoRa против UNB. Часть 3: технические тонкости

Reading time15 min
Views28K
Третья из серии статей, посвящённая описанию основных отличий технологий маломощной дальнобойной радиосвязи, получающей сейчас распространение в системах Интернета вещей: широкополосной связи LoRa от узкополосных (UNB, Ultra Narrow Band) систем, таких как Sigfox и «Стриж», а также вопросам их практического применения.



Привет, GT.

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

  • Разделение каналов в UNB-системах
  • Проблема обратной связи в UNB-системах
  • Разделение каналов в LoRa
  • Адаптивные скорости в UNB и LoRa
  • Помехозащищенность в UNB-системах и в LoRa




Что ж, приступим. Ниже будет, как обычно, много текста и мало картинок.
Читать дальше →

Пять видов систем крафтинга в играх

Reading time9 min
Views37K
За последние годы крафтинг развился от редкоприменимой механики ролевых игр до практически повсеместного дополнения ко всем последним новинкам индустрии. Сегодня он используется не только в почти любой RPG, но также в шутерах от первого лица, экшн-играх, симуляторах вождения и даже в системе присвоения значков пользователям Steam.

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


Читать дальше →

Как мы разрабатывали игру, где нет фиксированных правил

Reading time7 min
Views34K


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

Результат спора закономерен. Хорошо хоть до бытовухи дело не дошло.

Так началась история разработки игры без правил. На её примере я проиллюстрирую, как тестируется и обкатывается механика, и какие петли можно нарезать во время поиска.
Читать дальше →

Как штатными настройками убить микроконтроллер. Часть 2

Reading time2 min
Views15K

enter image description here


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

Читать дальше →

Делаем простую RC-аэролодку

Reading time10 min
Views27K
Иногда в интернете вижу вопросы от новичков, которые хотят с нуля построить квадрокоптер и написать к нему прошивку. Сам являюсь таким и чтобы попрактиковаться в создании RC моделей решил начать с чего-то более простого.



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

Аврал: вы работаете изо всех сил, чтобы успеть к дедлайну. Что теперь?

Reading time10 min
Views26K
Автор статьи, Мэтью Бёрнс, напряжённо работал над такими игровыми франшизами, как Halo, Call of Duty и Destiny. Он писатель и разработчик игр из Сиэтла.



Аврал, или работа с полным напряжением сил в попытках успеть к дедлайну (на сленге англоязычных программистов – кранч [crunch]) – прискорбное явление в нашей индустрии. И пока кто-нибудь не придумает решения этой проблемы, что нам с ним делать?

В спорах по поводу авралов мы говорим о том, существуют ли такие обстоятельства, при которых он является допустимым – то есть, бывает ли «хороший» и «плохой» аврал – и что должна сделать индустрия для того, чтобы урезать количество «плохих». Соглашусь с тем, что для индустрии было бы полезно измениться сверху вниз. Обычно руководители могут взять на себя больше ответственности, помочь улучшить условия работы и сделать разработку игр приятной и стабильной работой. Но такое изменение будет медленным, и идти оно будет по частям. Огромное количество студий разработчиков по всему миру управляется людьми, думающими по-другому – их слишком много, чтобы они смогли договориться и привнести изменения.

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

Поэтому, если вы недавно вошли в эту индустрию и попали в свой первый аврал, или если вы хотите заняться играми, но волнуетесь из-за ужасных историй по поводу авралов, вот вам мои соображения по поводу возникновения этого явления и того, как его пережить, если уж вы в него вляпались.
Читать дальше →

Как не наступить на грабли, работая с сериализацией

Reading time17 min
Views33K


Несмотря на то, что использовать механизм сериализации при программировании на C# достаточно просто и удобно, есть моменты, которые стоит учитывать. О том, на какие грабли можно наступить, работая с сериализацией, о примерах кода, в котором эти грабли припрятаны, а также о том, как PVS-Studio поможет вам избежать шишек на лбу, и будет эта статья.
Читать дальше →

Советы по работе с Steam GreenLight или как не погрязнуть в болоте

Reading time3 min
Views15K
Для многих из нас зеленый свет для собственной игры в Steam GreenLight является целью, к которой люди готовы идти месяцами, а то и годами. Настает тот день, когда игра готова и пришло время выложить её на всеобщее обозрение. С чего же начать и как не ошибиться? Об этом и пойдёт речь в данной статье

image


P.S. Через все описанное ниже автор прошел лично, с целью набить как можно больше шишек.
Читать дальше →

STM32 USB Mass Storage Bootloader

Reading time12 min
Views77K
Известно, что софт можно дописывать вечно, а всякого рода недочёты на плате полностью исправляются ревизии так к третьей. И если с железом уже ничего не поделаешь, то для обновления микропрограмм придумали неплохой способ обхода ограничений пространства и времени — Bootloader.

Загрузчик — это удобно и полезно, не правда ли? А если загрузчик собственной реализации, то это еще более удобно, полезно и гибко и не стабильно. Ну и конечно же, очень круто!

Так же, это прекрасная возможность углубиться и изучить особенности используемой вычислительной машины — в нашем случае микроконтроллера STM32 с ядром ARM Cortex-M3.

На самом деле, загрузчик — это проще, чем кажется на первый взгляд. В доказательство, под cut'ом соберём свой собственный USB Mass Storage Bootloader!

image
Читать дальше →

Асинхронная (и не очень) загрузка данных в Unreal Engine 4

Reading time8 min
Views26K


Содержание:



Всем привет!

Сегодня я расскажу о том, как обращаться с ассетами на Unreal Engine 4 так, чтобы не было мучительно больно за бесцельно занятую память и стоны игроков за время загрузки вашей игры.
Читать дальше →

Диаграмма Вороного и её применения

Reading time25 min
Views131K
Доброго всем времени суток, уважаемые посетители сайта Хабрахабр. В данной статье я бы хотел рассказать вам о том, что такое диаграмма Вороного (изображена на картинке ниже), о различных алгоритмах её построения (за , — пересечение полуплоскостей, — алгоритм Форчуна) и некоторых тонкостях реализации (на языке C++).



Также будет рассмотрено много интересных применений диаграммы и несколько любопытных фактов о ней. Будет интересно!
Читать дальше →

Интерполяция замкнутых кривых

Reading time8 min
Views17K
Всем привет! Недавно возникла практическая необходимость использовать интерполяцию для замкнутых кривых. Проект разрабатывался под .Net на C#, а готовых реализаций алгоритма я не обнаружил, впрочем, как и для других языков и технологий. В результате пришлось самому изучить мат.часть существующих методов и написать свою библиотеку. Наработками и готовым решением готов поделиться с вами.


Читать дальше →

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity