Pull to refresh
0
@atpmodernread⁠-⁠only

Нажимателькнопокнаклавиатуре

Send message

Реализация интерактивных диаграмм с помощью ООП на примере прототипа редактора UML-диаграмм. Часть 1

Reading time15 min
Views14K
С потребностью создания двумерных интерактивных графических компонент разработчикам программного обеспечения приходится сталкиваться довольно часто. Программисты, ранее привыкшие работать только с алгоритмами обработки данных, при возникновении подобных задач сталкиваются с большими трудностями, если только нельзя обойтись каким-нибудь совсем уж примитивным решением, вроде статической картинки с заранее определёнными «активными» областями. Нестандартность задачи многих отпугивает и заставляет искать готовые средства и библиотеки для отрисовки графов. Но сколь бы многофункциональной не была библиотека, для решения именно вашей задачи в ней будет чего-то недоставать.

В этой статье мы подробно разберём создание «с нуля» компоненты с интерактивными, «перетаскиваемыми» элементами в объектно-ориентированной среде разработки. В качестве примера мы построим прототип UML-редактора.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments2

Реализация интерактивных диаграмм с помощью ООП на примере прототипа редактора UML-диаграмм. Часть 2

Reading time9 min
Views7.5K
Это — окончание предыдущей публикации, в которой я рассказывал, как с нуля создавать интерфейс с интерактивной графикой в объектно-ориентированной среде разработки. В первой части мы рассмотрели ключевые архитектурные идеи этой системы: использование композиции, делегирования и шаблонных методов.

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

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Ардуино-совместимый ПЛК CONTROLLINO, часть 1

Reading time6 min
Views54K
Впервые про программируемый логический контроллер по имени CONTROLLINO мне довелось узнать году еще в 2014-м в случайной переписке с человеком, который подбирал себе ПЛК для домашней автоматизации. Я ему рекомендовал какие-то классические модели, а он в ответ сообщил, мол, видел на кикстартере некий интересный проект под названием CONTROLLINIO. Это промышленный ПЛК, который программируется так же, как Arduino, в его родной IDE.

Тот парень работал php-программером и С++ был для него не проблема. Деньги и идеи имел, а желания изучать LAD или Codesys нет. В итоге отписался, что сделал предзаказ на CONTROLLINO и больше на связь не выходил.

Не знаю, что и как у него вышло в конце концов, а вот мне через 3 года выпало поработать с этим девайсом.


Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments156

Панель оператора (HMI) с шиной I2C для Arduino

Reading time17 min
Views37K
В рамках работы с неким ардуино-совместимым оборудованием(о нем в конце) понадобился мне экран с кнопками для управления и отображения текущей информации. То есть, была нужна панель оператора, она же HMI.

Решено было сделать HMI самостоятельно, а в качестве интерфейса использовать «квадратную» шину i2c.



Если интересен процесс разработки и программирования подобных девайсов, добро пожаловать под кат.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments24

Выразительный JavaScript: Введение

Reading time9 min
Views468K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments14

Опыт применения ЕСПД

Reading time11 min
Views94K

Введение


Основная задача этого текста — рассказать, что такое Единая система программной документации (ЕСПД) и как эти стандарты применять на практике. Начну с рассказа о том, какие бывают стандарты, и закончу опытом применения каждого из ЕСПДшных стандартов в отдельности.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments25

О чем я думаю, когда читаю роман «Червь» Wildbow

Reading time10 min
Views46K

image

По своему опыту знаю, как тяжело рекомендовать книги человеку, который много читает. Поскольку по-настоящему великих книг, способных понравится почти любому читателю не так много, он читал всё, что и ты. Если ты спустишься чуть ниже по уровню и начнешь предлагать книги просто хорошие, начинается лотерея – ты предлагаешь книгу, которая кажется хорошей тебе, но насколько она покажется хорошей человеку, которому ты её предлагаешь? Угадать сложно.


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


Способности отфильтровывать шум. Попробуйте прочитать этот текст: «По рзеузльаттам илссоевадний одонго анлигсйокго унвиертисета, не иеемт занчнеия, в каокм проякде рсапжоолены бкувы в солве. Галовне, чотбы преавя и пслонедяя бквуы блыи на мсете. осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм».


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


Остальным даже не стоит и браться.

Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments236

Могучий малыш — TrueRMS мультиметр Aneng AN8001

Reading time2 min
Views55K
Несколько лет назад невозможно было себе представить, что TrueRMS-мультиметр с автоматическим переключением диапазонов, способный измерять постоянное и переменное напряжение, постоянный и переменный ток, сопротивление, ёмкость и частоту с 6000 отсчётами и 0.5-процентной точностью может стоить меньше 15 долларов. Сегодня этот прибор у меня в руке.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments50

Почему автомобильный аккумулятор нельзя использовать в ИБП?

Reading time7 min
Views364K
Предыстория

На тот момент, когда я первый раз попробовал заменить в ИБП старый аккумулятор ёмкостью 7Ач на старый автомобильный аккумулятор номинальной ёмкостью 65Ач, я ещё не знал, почему этого нельзя делать, и как это может навредить здоровью аккумулятора, самому ИБП и людям, проживающим в одном помещении с ним.

Доработка бесперебойника не заняла много времени, но профит был заметен сразу же. Сто-ватная нагрузка в виде домашнего «сервера» продержалась порядка двадцати часов без внешнего питания, хотя раньше 10 минут — это был предел, которого хватало разве что на корректное завершение работы. Более длительных отключений за время эксплуатации данной модификации замечено не было, а подключение интернета по технологии GPON позволяло серверу оставаться в сети даже при масштабных отключениях электроэнергии.



Но это было давно. А год назад мне случайно попалось на глаза объявление о продаже нескольких бывших в употреблении ИБП APC 3000 за смешные деньги, 4000 рублей за штуку, без аккумуляторов, но рабочие. Немного подумав, решил что надо брать, причём сразу два, правда к моменту покупки цена успела подняться до 5000 рублей за штуку, но меня это не остановило, ведь в магазине за те же деньги предлагали лишь варианты на 1кВт, да и то от всяких noname фирм с не очень лестными отзывами и модифицированным синусом.
Читать дальше →
Total votes 61: ↑54 and ↓7+47
Comments183

От идеи до гаджета. История одного стартапа

Reading time5 min
Views34K
image Многие из вас задумывались хоть раз о создании своего продукта, который порвет весь мир и принесет вам миллионы и беспечную жизнь под пальмами до конца дней…

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

Сейчас быть предпринимателем становится модным. Постараюсь снять с вас розовые очки и поделиться своим опытом успехов и, что самое главное — опытом неудач.
Читать дальше →
Total votes 73: ↑64 and ↓9+55
Comments68

Уникальный стабилизатор Штиль Инстаб 500

Reading time4 min
Views45K
У меня в руках стабилизатор «Штиль Инстаб 500», изготовленный специально для проекта Lamptest.ru.


Он выдаёт стабильное переменное напряжение 230 В с точностью ±0.6 В и его выходное напряжение не зависит от входного.
Total votes 57: ↑49 and ↓8+41
Comments128

Документирование по ГОСТ 34* — это просто

Reading time12 min
Views479K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments43

Как взломать защиту проекта PLC Allen-Bradley

Reading time2 min
Views17K

Краткая предыстория


В течении некоторого времени использования одной из систем управления тех. процессом возникла необходимость редакции проекта PLC. Так как, система была установлена американской компанией, то проект был реализован на контроллере Allen Bradley, а именно 1756-L61. Совпадение? Не думаю.

Хотя любовь американцев к Allen Bradley — это скорее просто мое наблюдение. И ни в коем случае не реклама этого производителя контроллеров.

Ближе к делу. Секции проекта были защищены от редактирования, в связи с ”мудрой” политикой разработчика в стиле ”Ничего не трогайте, без нас! Это нарушит стандарты безопасности эксплуатации управляемого агрегата. И т.д.”

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

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

Но защита не позволяла даже создать новую переменную вместо константы. Поэтому желание взлома защиты захлестнуло полностью.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments12

Все уроки по ардуино

Reading time5 min
Views283K
Однажды появилась необходимость собрать все уроки, обучающие материалы (tutorials) с habrahabr и geektimes в одном месте и немного их систематизировать. В этом сборнике обучаек представлены более 100 статей на тему ардуино с пометкой «tutorial», либо содержащие несложные для новичков проекты на ардуино, а также немного видеоуроков по смежным темам. Статьи разделены на 10 тематик по сферам применения собранных устройств. Также хочется напомнить, что весь обучающий материал, опубликованный на habrahabr и geektimes является интерактивным: в любой момент можно задать вопрос автору в комментариях к статье. Как правило авторы на них отвечают. Этот сборник будет дополняться новыми обучайками (tutorials) по мере их публикации.

Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments25

Принудительное воздушное охлаждение электроники. Матчасть. Воздушное сопротивление РЭА

Reading time5 min
Views20K
Принудительное охлаждение электроники это часто применяемая практика. У вас есть мощный элемент на плате? Нет проблем! Поставьте радиатор побольше, да вентилятор помощнее и вот вам решение вашей задачи. Но оказывается не все так просто. Мало того, что мощные вентиляторы создают высокий уровень шума, так ведь и у самого электронного устройства есть сопротивление воздушному потоку. Здесь не работает правило «больше, значит лучше». Почему, будет рассказано в этой статье. Кроме того, на самые крутые из вентиляторов, которые ввозятся из-за рубежа, нужно получать лицензию на импорт.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments6

LogicDiscovery — простой логический анализатор

Reading time5 min
Views104K
Довольно часто в домашних электронных поделках возникает необходимость посмотреть тот или иной сигнал, причем достаточно его цифрового представления — что передает МК по I2C, правильно ли настроен ШИМ и т.п. Если на работе есть хороший осциллограф, то покупать его для дома — слишком дорогое удовольствие, особенно, когда необходимость возникает лишь от случая к случаю.
В последнее время появились недорогие (в пределах $50) логические анализаторы, однако меня от их покупки всегда останавливало одна мысль: штука то предельно простая, почему бы не сделать её своими руками из подручных материалов?
В данной статье я расскажу, как сделать простой логический анализатор с минимальными финансовыми затратами — все что нужно это отладочная плата Stm32F4Discovery.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments21

Паяльная станция своими руками на базе Arduino

Reading time6 min
Views288K
Всем привет! Как-то я затронул тему паяльной станции на Arduino и сразу меня завалили вопросами (как/где/когда). Учитывая массовость запросов, я решил написать обзор простой паяльной станции (только паяльник) на базе Arduino.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments73

FLProg – альтернативная среда программирования Arduino. Описание проекта

Reading time5 min
Views56K

В предыдущем посте я рассказал о предыстории появления проекта FLProg. Сейчас я хочу поподробнее рассказать о проекте и его состоянии на сегодняшний день.
Основной целью проекта является включение в круг пользователей плат Arduino людей незнакомых с программированием. Это возможно благодаря опыту промышленного программирования, который накапливался годами производителями промышленных контроллеров.
Проект состоит из двух частей. Первая часть это десктоп приложение FLProg представляющее собой графическую среду программирования плат Arduino. Во вторых, это сайт FLProg.ru, с помощью которого члены сообщества пользователей программы могут пообщаться между собой, узнать последние новости проекта, скачать последнюю версию программы, ну и найти необходимую информацию по работе с приложением.
Подробности
Total votes 26: ↑23 and ↓3+20
Comments5

Автоматический определитель электронных компонентов

Reading time3 min
Views164K


Очень интересное и несложное устройство, которое позволит измерить сопротивление, ёмкость и индуктивность любого элемента за несколько секунд.

Для этого потребуется совсем немного деталей, которые обычно есть у каждого начинающего ардуинщика: микроконтроллер ATMEGA, двухстрочный дисплей и несколько резисторов.
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments71

Искусственный рассвет

Reading time9 min
Views233K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?
Total votes 187: ↑185 and ↓2+183
Comments87
1

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Registered
Activity