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

Как в Java скрыть даже от разработчика поле, доступ к которому должен осуществляться с помощью геттера и/или сеттера

Java *
Ожидает приглашения

Много написано о том, что хорошей практикой является объявление полей экземпляра класса с модификатором private, а чтение и модификацию их осуществлять с помощью public геттера и/или сеттера. Действительно, этот приём даёт уверенность, что вся логика, предусмотренная разработчиком для событий чтения/записи, будет выполнена в случае использования класса кем-либо. Однако, разработчик класса в методах по-прежнему имеет возможность читать и записывать значение поля напрямую! Чтобы избежать этого, предлагаю следующий трюк. Потребуется чуть больше кода, но теперь даже IDE не сможет подсовывать это поле в подсказках.

Для каждого "super private" поля нам потребуется Supplier и Consumer. Вся логика геттера и сеттера происходит в них. Сами геттер и сеттер - лишь обёртки для public доступа.

Всё понятно из примера ниже.

Читать далее

Восстановление датчика давления Honeywell 19 mm Series

Производство и разработка электроники *
Ожидает приглашения

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

Установка с переменным успехом протестировала пачку стентов. Один из факторов "переменности" успеха стал отказавший датчик избыточного давления 19C015PG1K.

Читать далее

Собственный vector на c++

C++ *
Ожидает приглашения

Что нужно знать для реализации?

Указатели

Move семантика (Дополнительный этап)

rValue и lValue ссылки (Дополнительный этап)

Шаблоны

Итераторы (Дополнительный этап)

Переопределение операторов

Читать далее

Событие изменения ячейки DataGrid WPF C#

.NET *C# *
Ожидает приглашения

Недавно столкнулся с проблемой отлова события изменения ячейки в DataGrid. Недолго поискав в интернете, нашёл событие CellEditEnding, казалось, всё супер, но нет, возникло несколько проблем.

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

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

Читать далее

Citrix Xen Center – Опыт работы с полностью бесплатной виртуализацией

Виртуализация *
Ожидает приглашения

Сразу опишу главный плюс такого решения – Это бесплатно! Любой может более менее полноценно администрировать рабочие места(Windows машины/сервера, linux сервера, любые ОС), работать с бекапами и эффективно использовать мощность железа.

Так уж вышло, что профессиональные решения типа VM Ware стоят очень приличных денег.

Введение

Данная статья преследует цель упростить жизнь таким же энтузиастам, которые по какой-то причине, не являясь большими devOps специалистами, уже развернули визор Xen Server и запустили на нем продакшен проекты.

Как правило, сталкиваясь с проблемами и сложностями на уже запущенной системе, с проектами в продакшене право на ошибку нет.

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

Читать далее

Ремонт мотора WeDo 2.0

DIY или Сделай сам Робототехника Учебный процесс в IT
Ожидает приглашения

Вкратце изложу свой опыт ремонта моторов.


Ситуация, при которой детки переламывают кабель моторов Lego WeDo 2.0, достаточно распространена. С переломанным кабелем моторы либо "глючат" (и надо найти правильное положение, в котором они работают) , либо вообще перестают вращаться.

Что делать? Покупать новый мотор? В наших реалиях - это дорого. Даже китайский аналог стоит порядка 15 единиц валюты.

Самое очевидное решение - попробовать отремонтировать.

Читать далее

Маркетант расправил плечи, или Удаленная жизнь

Брендинг Будущее здесь Медийная реклама Смартфоны Фриланс
Ожидает приглашения

Маркетант расправил плечи, или Удаленная жизнь 

А часто вы вспоминали жутковатый телесериал-антологию Black Mirror, который завершился в 2019 году будто лишь затем, чтобы реинкарнировать в следующем – уже гайдом по аналоговым фобиям человечества, предшествовавшим эпохе цифрового абсолютизма? Реинкарнировал и выдал мокьюментари “2020” о совершении массовкой фаталити против здравого смысла: прозябание, паника, обереги (они же медицинские маски) по карманам. И в нём только атлантам маркетинга окажется по плечу абсолютно всё и даже будущее…

Читать далее

Должен ли веб-разработчик заниматься UX/UI-дизайном?

CSS *HTML *Веб-дизайн *Дизайн мобильных приложений *Разработка веб-сайтов *
Ожидает приглашения

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

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

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

Моя жена вот уже полгода учиться на UX/UI-дизайнера в Яндекс.Практикуме. Я вижу, какой огромный объем работы она проделывает, выполняя задания в рамках своих спринтов (боюсь представить, что будет на дипломе, на который она выходит через неделю). И я понимаю, что если пройтись по верхушкам, то может получиться красивый и вроде бы даже качественный продукт. Но будет ли он удобным для большинства?

Читать далее

Концепция Pusa — WEB без JS Front

JavaScript *PHP *
Ожидает приглашения

Концепция Pusa переносит разработку на Back-end, исключая работы JS для Front-end. Управление браузером и DOM элементами, бизнеслогика выполняются на Back-end. Разработка JS для Front отсутствует. PUSA может быть реализована на любом Back-End PHP, JS, Java, Go, Ruby, etc.

Читать далее

unity 2d bolt движение по лини взгляда

Unity *Разработка игр *
Ожидает приглашения

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

Читать далее

Экспорт UI дизайн-интерфейсов из Figma в Xcode iOS/Android Studio, в виде .xib/xml

Swift *Дизайн мобильных приложений *Интерфейсы *Разработка под Android *Разработка под iOS *
Ожидает приглашения

Экспорт UI дизайн-интерфейсов из Figma в Xcode iOS/Android Studio, в виде .xib/xml

FigmaConvertXib это инструмент для экспорта элементов дизайна из проекта Figma, в среду разработки, с точностью 90%. В результате конвертации будут созданы файлы xib / xml, и уже с помощью интерфейс редактора Xcode/Android Studio, можно будет манипулировать всеми элементами у себя коде. Если дизайн вашего проекта разрабатывается в Figma, и вы не реализуете дизайн программно, то это для вас. Для того чтобы не тратить огромное время на реализацию всех UI элементов.

Читать далее

Блеск и нищета отчётов

Управление персоналом *Управление разработкой *
Ожидает приглашения

Есть два подхода к отчётам: правильный и неправильный.

Правильный подход: менеджер ставит задачи специалистам, заносит их в таск-менеджер. Специалисты выполняют задачи, сдают их менеджеру, делают отметки об их выполнении в таск-менеджере. Т.к. менеджер сам ставил задачи, то он знает, чем занят в конкретный момент времени сотрудник, может оценить трудоёмкость его задач и качество выполнения. Есть прямая связь между количеством и качеством выполненных задач и размером оплаты труда. Отчёты специалистов не нужны, всё видно в таск-менеджере.

Читать далее

Использование ИК пульта от мини вертолета для поделок из Ардуино

Разработка под Arduino *
Ожидает приглашения

Протокол данных IR пульта от китайского вертолета.

Выбор пал на IR пульт от вертолета. Найдя единственную статью размноженную десятки раз с описанием протокола связи сел за паяльник и начал ваять. Но не тут то было оказалось что не все китайские вертолеты «одинаково полезны». Протокол, описанный в этой статье, не подошел к моему пульту.

Во-первых, в отличии от пульта описанного в вышеупомянутой статье цитата «кодируются длительностью паузы между сигналами: логический ноль — это 600 микросекунд, логическая единица — 1200 микросекунд».

В моем пульте кодировка идет не только паузами между сигналами но и длительностью сигнала.

Читать далее

О первопричине старения живых организмов

Биология Научно-популярное Физика Химия
Ожидает приглашения

Единство химического состава живой и неживой природы. Углерод – главный элемент жизни. Физико-химические причины разнообразия органических соединений. Старение химических элементов и химических соединений

Все живые организмы, включая растений, характеризуются единством своего химического состава и содержат выборочно, в тех или иных соотношениях, химические элементы ХЭ из того же базового набора атомов, что и объекты неживой природы. Этот набор, начиная с водорода с номером ZH=1 (впервые был получен в 16-м веке, а признан в качестве ХЭ – “горючего воздуха” - в 1766 г.) и заканчивая плутонием с номером ZPu=94 (впервые получен как искусственный радиоактивный элемент – его период полураспада 24 тыс. лет - в 1940 г., а позже был обнаружен в природе, в урановых рудах) содержит 94 природных видов атомов (без учета 24 искусственно полученных радиоактивных короткоживущих изотопов ХЭ с номерами Z=95,...,118: например, ХЭ с номером 118, синтезированный в 2002 г. и обозначаемый как Og, Оганесон, имеет период полураспада ~1 мс). Все эти ХЭ упорядочены в Периодической таблице элементов Д.И. Менделеева (ПТЭ) по возрастанию их номера, атомного числа, или зарядового числа Z, соответствующего количеству протонов в атомном ядре АЯ элемента, положительный заряд каждого из которых равен Ze, где элементарный заряд e эквивалентен по величине заряду электрона e-, но противоположен ему по знаку. Заряд АЯ определяет структуру электронной оболочки ЭЛО атома и, следовательно, его химические свойства, поскольку связи в молекулах между атомами основаны именно на взаимодействии внешних частей их ЭЛО.

Читать далее

Promise — краткое руководство

JavaScript *
Ожидает приглашения

Краткое описание жизненного цикла Promise и сравнение основных методов Promise.all(), Promise.any(), Promise.race(), Promise.allSettled().
Статья рассчитана на начинающих специалистов но возможно будет полезна и более опытным разработчикам.

Приятного Вам чтения...

Подготовка нового компьютера с Windows 10 к работе для веб-разработчиков

Настольные компьютеры Софт
Ожидает приглашения

Данная статья не преследует цель дать единый правильный регламент по начальной настройке Windows 10 для веб-разработчиков. Всего знать невозможно, а потому я в этой статье изложу тот алгоритм, к которому пришёл в результате своего опыта, а потом на основе Ваших замечательных комментариев внесу в статью изменения. Смею надеяться, что Ваша критика будет конструктивной =)

Также особенностью данной статьи является установка минимального набора программного обеспечения, а не стремление установить на новый компьютер как можно больше.

Читать далее

Не упасть с «Эльбруса», не утонуть в «Байкале», не попасться «Скифам»

Процессоры Электроника для начинающих
Ожидает приглашения

Очень радует, что последние годы российская микроэлектронная отрасль начинает возрождаться, и теперь российские сборщики компьютеров для нас с вами и даже серверов для крупных предприятий могут рассчитывать на отечественных производителей чипов и плат! Кто же они, эти скромные «герои нашего времени», которые куют независимость России от импортной электроники, на которых мы сможем положиться в плане компьютерной безопасности, отсутствия в чипах «закладок» и других сюрпризов, которыми нас пугают эксперты по этой самой компьютерной безопасности?

Читать далее