?

Log in

No account? Create an account

Previous 10

Jul. 20th, 2019

Java, изменение строки

Наткнулся на статейку http://www.skipy.ru/technics/strings.html#mutation

Там вполне грамотный чел рассказывает о возможности в Java изменить текст строки, даже не смотря на то, что строка объявлена неизменяемой (final).

Можно считать, что это очень хороший вопрос для собеседования.
В Джава есть множество подобных нюансов и список вопросов можно написать совсем не маленький.

В принципе так и делают многие компании, в нете также много онлайн тестов подобного характера.

И меня мучает один вопрос, как подобные знания применимы на практике?
Лично для меня это загадка.
Попросту потому, что нет никакой необходимости изменять таким образом текст строки в собственном проекте.
Более того, все эти хитрости в основном надуманные, мне незачем усложнять свой собственный код.
Оптимизация? А вам, к примеру, известно, что очень крупная торговая компания, пишет свои проекты в основном на 1C? Для этого она выделяет сервера с терабайтами оперативки и сетка между компьютерами там как минимум 1ГБит. Разработчики там получают по максимуму для нашего рынка.
Т.е. выигрыш в производительности после оптимизации кода на Java просто ничтожен, если сравнивать с продуктами писаными в той компании, а ведь там, судя по ЗП, программисты высшего уровня.

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

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

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

А еще меня смущает мода. Меня как-то поправил студент которого спросили, как правильно  Ява или Джава?
Парнишке с умным видом было невдомек, что некоторые названия имеют русский вариант произношения, например Австралия, мы же не говорим Оустрэлия.

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

Jul. 6th, 2019

RADIUS и что он здесь забыл

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

То что я там делал - большинству местных специалистов даже и не снилось, современным - тем более, так как к вебу никакого отношения это не имело, чаще даже транспортный протокол использовался UDP, а не TCP(и на это есть причины, и они актуальны и сегодня).

Но я увлекся, к делу, сразу предупреждаю, пишу по памяти давности этак лет 10.

RADIUS, у всех есть вики, можно 'умных' людей почитать там, я же скажу проще - это сервис, выполняющий Авторизацию, Аутентификацию(да,да, есть разница) и Аккаунтинг.
К ви-фи прямого отношения не имеет, быстрее к модемным подключениям, но так-как сервис выполняет необходимые задачи и по сегодняшний день, то применим и к ви-фи и к другим решениям, где нужен ААА.
Беда только в том, что он(протокол) древний как мамонт, к примеру размер пакета(запрос, ответ и т.п.) не может превышать 256 байт, в это же время мы используем для авторизации сертификаты на сотни килобайт или уже на мегабайты?...

Хотя, можно считать что тоже во времена мамонтов, был разработан DIAMETER.
Юмористы хреновы, RADIUS расшифровывается как Remote Authentication in Dial-In User Service, в то время как DIAMETER просто в два раза круче. :)
Он реально круче, но используется только подальше от глаз современных ИТ специалистов пишущих, прости госпаде на PHP или на Ардуино к примеру. Да и от глаз современных потребителей тоже, в лучшем случае на своей ви-фи точке вы найдете RADIUS Accounting рядом с RADIUS Authentification/Authorization
Это я к тому, что развитие ИТ остановилось лет так 15 назад, наверное даже больше. Мы до сих пор сидим на устаревших базовых протоколах, которые не рассчитаны на современные объемы информации и количество хостов и сервисов. При этом маразм крепчает, но это отдельная тема.

Стоит ли говорит о том, что в НТК я разработал хорошего конкурента тому-же FreeRADIUS? Он даже поддерживал MSCHAPv2, EAP, PEAP, ну вы поняли да... правда это еще одна хорошая технология заживо похороненная, теперь вместо нее у нас идиотизм ввиде авторизации в вифи по веб интерфейсу.

Так, ближе к делу.

Зачем мне вдруг в проекте по автоматизации говорить про RADIUS?
Дело в том, что если ваша Wi-Fi точка доступа поддерживает RADIUS, то мой новоиспеченный сервис на контроллере по данному функционалу может определять прибытие жильца домой. А если ваша точка доступа поддерживает еще и RADIUS Accounting(типа TP-Link eap 110v4 или семейства странноватых Mikrotik) то и убытие.
Т.е. все что нужно для контроля кто когда пришел/ушел - иметь в кармане самый обыкновенный смартфон с включенным Wi-Fi, и все, больше никаких дополнительных железок.

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

Jun. 9th, 2019

RGB Диммер/драйвер



Это трехканальный модуль на трех 'FDD8447L: N-Channel PowerTrench® MOSFET, 40V, 50A, 8.5mΩ' (управляет минусом).

Только что закончил прошивку для RGB драйвера, будет отдельная для твердотельного реле.

Управляет потребителями до 40V 50A(по даташиту), но я бы не стал на долгое время подавать большой ток, будет маловато охлаждения, да и дорожки рассчитаны на 3А на канал.

Характеристики и свойства:
1) Управление по шине RS485 с протоколом схожим с MODBUS RTU (управление, чтение значений, настройка)
2) Управление каждым каналом через шину, кнопку, выключатель или сенсор (задать значение в процентах можно только через шину).
3) Питание от 9 до 24 вольт.
4) Максимальное напряжение коммутации - 40В, ток - 3А на канал
5) Небольшой размер 50x40x12mm(можно выломать ушки креплений)
6) Частота ШИМ - 1.2 кГц.
7) Возможность задать пропорции для каждого канала (для получения 'белого' света)

Ну и мелочевка:
- индикация работы,
- плавный переход между устанавливаемыми значениями и возможность менять скорость перехода,
- настройка чувствительности сенсоров,
- настройка адреса на шине,
- режим инициализации (вкл, выкл и последнее состояние)

хм, забыл про ведение истории, значит скоро будет хранить историю о выполненных командах

Jun. 1st, 2019

Клиент, важная доработка



Вверху появился выбор площадки.

Пока только две:
1) 5277.ru (авторская площадка для DIY инженеров)
Это лично моя площадка. Здесь нет бизнес интересов, меня не интересуют ни крупные, ни мелкие деловые игроки.
Мне глубоко безразлично, что думают лично обо мне менеджеры различных компаний, будь то Ростелеком, Билайн, ДВФУ, Примтеплоэнерго, Dexp, PhoenixContact, Ронды, Транснефтьчего-тотам и многие другие.
Здесь мне интересна польза для любителей электроники, самоделкиных и тому подобных, т.е. частных лиц, с которыми можно работать просто не официально на каких-то личных договоренностях.
Я не являюсь официальным лицом, и не несу никакой ответственности, все на Ваш страх и риск.

2) auto.dipex.ru (официальная площадка интеграторов)
А вот здесь уже официальный представитель моего продукта, который имеет такие же права на ПО, как и я.
За исключением(по большей части) прошивок конечных устройств(мы не делаем секрета из схемотехники - там все просто).
Именно здесь будут рады официальным представителям различных компаний.
Здесь и вопрос к отказоустойчивости, и к безопасности, и к другим важным темам данной отрасли совершенно на другом уровне.

В ближайшем будущем мы развернем еще одну площадку, боле простую, чем предыдущий пункт 2.
Она будет использоваться для лаборатории Dipex. Эта лаборатория создана пока только для студентов ДВФУ.
Я надеюсь, что в этом году, эта площадка также будет полезна и студентам ВГУЭиС.


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

Мы не планируем выпускать разные версии клиентов или контроллеров для различных площадок.
Различаться будут услуги предоставляемые этими площадками.
Ну и скорее всего, второстепенные сервисы(например, такие как веб часть) будут индивидуальные.

May. 19th, 2019

CNC 1310

Не так давно былa массовая истерия по поводу всяческий комнат с квэстами.
А я вот думаю, нахрена?
Ну, к примеру, закажите вы себе станочек CNC 1310, вот это квэст, это я понимаю.



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

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

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

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

Пока только выяснил:
1) Движки у меня 17HS4401(1.7А макс.), драйвер A4988(2А макс.)
напряжение на подстроечном резисторе в моем случае должно быть 1.36В, было около 0.62В
(RS = 0,100 Vref = 1.7 * 8 * 0,100)
Настройку по току брал здесь: https://3deshnik.ru/blogs/akdzg/pravilnaya-nastrojka-toka-dlya-shagovyx-dvigatelej

2) Версия GRBL контроллера 0.9, есть новее (1.1), прошиваться пока не стал, хотя, как я понял, с лазером умеет работать только 1.1

3) Для управления станка выбрал программу Candle (версия 1.0.11, более свежие рассчитаны на GRBL версии 1.1)
Можно взять здесь: https://github.com/Denvi/Candle/releases/tag/v1.0

4) В настройках моего контроллера не врено заданы размеры
$130=200.000 (x max travel, mm)

$131=200.000 (y max travel, mm)

$132=200.000 (z max travel, mm)
Как менять пока еще не знаю.

5) Пока ничего не сломал, пост буду дополнять.

25.05.2019, получил от продавца архив с документацией и софтом.
Скачать можно здесь: http://5277.ru/distr/other/cnc1310/software-%e8%bd%af%e4%bb%b6.zip

May. 11th, 2019

Мини реле на 10А



Ранее я уже писал об этом устройстве.
Но здесь я выложил фото последнего прототипа, дальше будет мелкое производство.
Пока серийно будут производиться только платы, паять буду сам.

Еще раз, что же здесь особенного, если в кратце:
1) Управление по шине RS485 с протоколом схожим с MODBUS RTU (управление, чтение показаний, настройка)
2) Потребление тока самой реле снижено в 2 раза (кроме процесса включения)
3) Управление через кнопку, выключатель или сенсор.
4) Подключаемый датчик температуры DS18B20 (без разъема, как и кнопка припаивается на плату)
5) Функционал термореле (автоматическое включение и выключение в зависимости от режима работы и температуры)
6) Датчик тока
7) Отключение по порогу тока.
8) Питание от 9 до 24 вольт.
9) Коммутируемый ток - реле на 10А, напряжение до 250В
10) Очень маленькие размеры, помещается во многие подрозетники, даже в некоторые удлинители.

Ну и конечно комплексное программное обеспечение, бесплатное, с широкими возможностями.

Блок розеток 6p4c



Сделано для себя, чтобы отказаться от монстра сверху.

Элементарно платка с 6-ю разъемами 6p4c и двумя разъемами типа PH2.0.
Опробовано, очень удобно, но уже знаю что улучшить.

Электроника вне проекта, денди джойстик

Фото:


Зачем?

Как бы можно пойти в тот-же ДНС и купить что-нибудь из рекомендаций на сайте ДНС https://technopoint.ru/product/662890f44a2b3330/gejmpad-nintendo-nes-mini-classic-seryj-sale/

Даже не так важно то, что там совсем не такой разъем как на популярных клонах Nes.
ДНС как всегда в своем репертуаре, интересно их продавцы школу хоть оканчивали?

Можно еще поискать на алиэкспрессе и в подобных магазинах.
Был такой опыт, приходит один лишь шлак.

Можно со штатов заказать, но лично меня смущает цена.

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

Поэтому я решил сделать сам джойстики.
Кнопки поставил достаточно распространенные, механические, т.е. слышен щелчок.

Вместо элементарной логики поставил дешевый МК (ATTiny2313A), так как решил немного расширить функционал (запаздывание отклика на 2нс, что вполне допустимо для протокола).
А именно сделал:
- TURBO для каждой кнопки A и B
- смену местами A и B
- одновременное нажатие кнопок A и B (ну или можно дописать что-то другое, более сложное)

Честно говоря я доволен, джойстики получились со 100% надежным,безошибочным откликом.
Лично я перестал замечать джойстик в руках где-то через минут 5 игры, даже с учетом щелчков.
Но, им нужен корпус, хотя бы лист оргстекла, так как с нижней стороны находятся контакты кнопок, которые срабатывают от потных рук, даже лак не помогает.

*скоро придет CNC станочек, буду экспериментировать с корпусами.

Прототипирование PCB ч.2

Получены платы.

Работой в целом доволен, никаких нареканий нет.

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

Вот фото, как обычно, сделано на мыльницу.

Apr. 30th, 2019

Шеф, все пропало(с)

Найдено на просторах интернета, море впечатлений.

5.5v 4.0F Ионистор и с чем его едят( небольшой тест ) (С)
https://www.youtube.com/watch?v=hvs6Vi7xJh8&t=118s

Previous 10