Что будет делать автор, после того как поставки этих микроконтроллеров закроют от слова совсем? Это первое. Второе: сколько заводов в РФ способно производить плату массово? И третье: Кто из производителей IoT в РФ сможет применять плату с учетом "импортозамещающих" ограничений при госзакупках, к примеру?
Как решение задачи впихнуть невпихуемое, тем не менее поставил плюсик. Т.к. впихнуть всё это в такой типоразмер - автор(ы) явно превзошли сами себя. Но, в целом - кмк, проект "мертворожденный" о чем тут уже отписалось несколько авторов.
Как пример такого же мертворожденного решения: https://vk.com/id484853030?z=photo484853030_456239018%2Fphotos484853030 - Atmel Mega 2560 во всем своем великолепии в типоразмере 56х88мм, со всеми ножками и сдвоенными контактами для стекирования и прямого использования. С БП до 5ампер на борту. С возможностью домашнего изготовления методом ЛУТ (шаг 0.25мм, 2 слоя) И? А кому сейчас нужна эта "мега"? :)
Мне кажется, что Вы сознательно написали статью в положительном ключе, опустив простое как мычание правило: Всё, что не нужно, постепенно отмирает в живой Природе. Это правило, применительно е прогрессу хорошо высказал когда-то Кемпбел (бывший капитан Катти Сарк):
"Раньше, корабли были деревянными, зато люди - железными. Теперь корабли жедезные, а люди, увы - картонные"
Перефразирую на современность: "Раньше дома были простыми, зато люди - гениальны. Теперь дома - умные, а люди .. а что люди? :)"
Продолжая далее, к вашей тематике .. впрочем, лучше самостоятельно. :)
Возражение касалось порядка обучения. Надо не столько перетаскивать тех кто уже погряз в "линейном программировании", а первоначально учить автоматному подходу, и уже только потом линейному. Так проще. Имел небольшой опыт обучения партнеров сына при подготовке к соревнованиям. Они были "нулевые" и конечные автоматы в упрощенном виде воспринимали сразу и сильно легче.
Возражу. Не сложно, а порой даже проще чем начинать с линейного программирования. Обучал сына (10-12лет) программированию конечных автоматов, и кстати, как раз на "умном светофоре". К сожалению, он уже знал алгоритмическое программирование на базе Ардублока и Лего скретчей, поэтому пришлось тоже "перестраивать" свое понимание что такое программа.
Этапы:
Определяем и доводим до понимания, что каждая железка имеет определенное состояние - лампочка может быть или включена или погашена (ещё сломана)..
Из одного состояние в другое лампочка переходит не просто так, а по возникновению "события". Срабатывание таймера, в общем-то такое же событие, как и нажатие на кнопку.
На базе этих двух пунктов, ребенок в 10-12лет уже способен самостоятельно(!) определить граф состояний конечного автомата умного светофора с кнопкой для пешехода. Проверено на практике.
И вот тут есть тонкий момент, которого нет в "академической" теории КА: входящий поток событий .. "слушается" соответствующим слушателем потока. Сам дошел не сразу, но как только сия мысль сформулировалась примерно в таком акцепте, так сразу дошло и до него КАК происходит работа конечного автомата.
Почему типоразмерный ряд выбран именно таким? В свое время, проектировал "Лего-кирпич" из ардуинок (не нашел нашего аналога к сожалению) и остановился на типоразмере 56х88мм. Для меня это было полезно, т.к. с одной стороны каждый размер кратен Лего размерному шагу в 8мм, а с другой стороны в него хорошо ложились как разные экраны, так и литиевые аккумуляторы. Было удобно.
У Вас размер "круглый" 40х80 .. это тоже как-то связано с типоразмерами применяемых деталей? Спрашиваю, потому что Вы описываете поиски солнечных панелей нужного типоразмера уже после его выбора. Поступал наоборот: сначала изучал всё, что может попасть в этот лего-кирпич, и только потом выбирал базовый типоразмер по "устраивает в большинстве случаев". Кстати, проектировать свою плату в этот типоразмер оказалось не такой уж и тривиальной задачей..
Нет возможности заплюсовать в карму, увы. Спасибо за хорошее описание алгоритма и как Вы дошли до такой жизни. :) Когда-то (2006-2011) пробовал решать задачу универсальной каталогизации товаров для сайта товарного агрегатора. Пришел несколько к иному решению, но в силу слабости железа Заказчика работы были брошены.
Идея была в следующем: "не существует никаких каталогизаторов". Каталог - это упорядоченный набор свойств товаров. Разные каталоги - просто ставят во главу угла разные свойства. Товар (услуга, понятие) - это "имя существительное" с набором свойств.. фсё.
Далее начинается ваша песня о главном .. как по набору свойств запроса найти нужный комплект товаров.. ;)
автоматические - это как правило переменные, размещенные на стеке. Их разрушение происходит без участия программиста по авершению контекста. Тут можно вести речь про автоматичекий указатель, которому выделена память в куче, и типичную ошибку начинающего сиониста - забывчивость освобождения кучи по завершению контекста.
Кмк, данный подход можно дополнить небольшим #define return() который будет вызывать этот callback перед возвратом. Если делать универсальный макрос, то там придется попотеть, "настраивая" его под конкретный вызов с возвращаемым параметром. Но .. тоже решаемо как мне видится. Заодно, такой макрос может решать вопрос отложенного вызова типа defer() языка Go..
В недалеком прошлом, в бытность начала ужесточения банковских операций по 115-ФЗ, будучи директором, переводили исполнителям оплату на карты, ибо они - разовые иногородние удаленщики, а суммы мелкие. Получили предупреждение от своего банка, и прекратили практику, т.к. ну реально были не в курсе возможных проблем. Но .. этим дело не кончилось. Когда я пошел менять свою, личную карту на новую по истечению срока .. получил отказ, т.к. как оказалось, банки такие случаи сливают в ЦБ и "Вы блокированы по 115-ФЗ". Узнать это мне стоило достаточно больших усилий т.к. "СБ банка объяснений не дает".. в итого, ещё не малых усилий стоило снять с себя такое обвинение и доказать что "не Верблюд".
Обжегшись, по сию пору, крайне негативно отношусь ко всем продаванам с "а перечислите бабки на карту".
Помнится на заре интернета пробовал заниматься анализом контента Сети и поисковыми задачами. Бросил это не благодарное дело по простой причине: неполнота контекста запроса. Сейчас что Гугль, что Яндекс сильно оганичивает контекст дополнениями "цена", "купить" и т.п., что практически исключает релевантный поиск по базам знаний. Если Вы не станете подстраиваться под "торговый сегмент", то это очень большое и полезное дело, а то уже доходит до смешного порой.
Подпишусь под каждой строчкой статьи. Спасибо! Часто и даже очень часто, и более того, все чаще и чаще, встречаешься с ситуацией "кровавого энтерпрайз", где требования сверхнадежности просто убивают продукт, например: "146% работоспособность в ущерб времени отклика web-сайта до 10-30секунд".. Повальное применение сторонних решений, доходящее до HR-требования, типа "программист-разработчик не должен смотреть в код стороннего пакета, но должен уметь применять их легко и быстро" .. видел и такое уже.
.. PSR рекомендации, stateless реализации .. всё это было бы очень смешно, если бы не было так грустно порой.
Сам, "старый велосипедист" с 1979года в ИТ, со вьевшимся в пальцы пониманием термина "стоимость команды процессора". Совершенно не нужное и вредное свойство для любого HR.
Развел в kicad 3 платы: 2 контроллера Atmel Mega2560, последнюю (rev2) 56х800мм со всеми выводами под сдвоенные разьемы и к ней, того же формата плату расширения ОЗУ с 8кб до 520кб. Сделал герберы, как описано в инструкции и отдал китайцам. За 10 баксов получил 10 комплектов, собрал 4шт - всё работало штатно.
Спасибо за статью, прочел. Оказалось "сделал всё по правилам" .. а так бы и не узнал. ;)
Это было достаточно давно, ещё до появления TLS и прочих SSL протоколов.. ;) Да, применялось как защита от Man in middle, но и ещё попутно позволяло человеку иметь достаточно простой пароль, который не передавался в "открытом виде".
В свое время предлагал кмк, простое решение по простым паролям:
Форма логирования отдавалась в браузер с неким "правилом", по которому пользователь должен был изменить свой пароль. Затем на сервере применялась вторая часть правила для получения правильного пароля.
На практике столкнулся с плохой читаемостью синтаксиса дженериков. [] явно не лучший выбор, но возможно это было связано с количеством параметров >2 и длинным неймингом по типу С#. Очень тяжело было читать чужой код. Кмк <> было бы нагляднее.
Очень хочется посмотреть на того сеньора, который это напишет в вацап с Генеральным Директором градообразующей фирмы, который считает что раз он математик по образованию, то способен поставить вам ТЗ "на пальцах" прямо вот тут, в вацапе и только ваша непроходимая тупость не позволяет ему донести до вас такие простые вещи. ;)
Что будет делать автор, после того как поставки этих микроконтроллеров закроют от слова совсем? Это первое. Второе: сколько заводов в РФ способно производить плату массово? И третье: Кто из производителей IoT в РФ сможет применять плату с учетом "импортозамещающих" ограничений при госзакупках, к примеру?
Как решение задачи впихнуть невпихуемое, тем не менее поставил плюсик. Т.к. впихнуть всё это в такой типоразмер - автор(ы) явно превзошли сами себя. Но, в целом - кмк, проект "мертворожденный" о чем тут уже отписалось несколько авторов.
Как пример такого же мертворожденного решения: https://vk.com/id484853030?z=photo484853030_456239018%2Fphotos484853030 - Atmel Mega 2560 во всем своем великолепии в типоразмере 56х88мм, со всеми ножками и сдвоенными контактами для стекирования и прямого использования. С БП до 5ампер на борту. С возможностью домашнего изготовления методом ЛУТ (шаг 0.25мм, 2 слоя) И? А кому сейчас нужна эта "мега"? :)
Мне кажется, что Вы сознательно написали статью в положительном ключе, опустив простое как мычание правило: Всё, что не нужно, постепенно отмирает в живой Природе. Это правило, применительно е прогрессу хорошо высказал когда-то Кемпбел (бывший капитан Катти Сарк):
"Раньше, корабли были деревянными, зато люди - железными. Теперь корабли жедезные, а люди, увы - картонные"
Перефразирую на современность: "Раньше дома были простыми, зато люди - гениальны. Теперь дома - умные, а люди .. а что люди? :)"
Продолжая далее, к вашей тематике .. впрочем, лучше самостоятельно. :)
Возражение касалось порядка обучения. Надо не столько перетаскивать тех кто уже погряз в "линейном программировании", а первоначально учить автоматному подходу, и уже только потом линейному. Так проще. Имел небольшой опыт обучения партнеров сына при подготовке к соревнованиям. Они были "нулевые" и конечные автоматы в упрощенном виде воспринимали сразу и сильно легче.
Возражу. Не сложно, а порой даже проще чем начинать с линейного программирования. Обучал сына (10-12лет) программированию конечных автоматов, и кстати, как раз на "умном светофоре". К сожалению, он уже знал алгоритмическое программирование на базе Ардублока и Лего скретчей, поэтому пришлось тоже "перестраивать" свое понимание что такое программа.
Этапы:
Определяем и доводим до понимания, что каждая железка имеет определенное состояние - лампочка может быть или включена или погашена (ещё сломана)..
Из одного состояние в другое лампочка переходит не просто так, а по возникновению "события". Срабатывание таймера, в общем-то такое же событие, как и нажатие на кнопку.
На базе этих двух пунктов, ребенок в 10-12лет уже способен самостоятельно(!) определить граф состояний конечного автомата умного светофора с кнопкой для пешехода. Проверено на практике.
И вот тут есть тонкий момент, которого нет в "академической" теории КА: входящий поток событий .. "слушается" соответствующим слушателем потока. Сам дошел не сразу, но как только сия мысль сформулировалась примерно в таком акцепте, так сразу дошло и до него КАК происходит работа конечного автомата.
Простой светофор пошагово описан тут: https://community.alexgyver.ru/threads/programmirovanie-konechnyx-avtomatov-bez-delay.2657 Ещё не знаю, разрешено ли тут постить ссылки на сторонние ресурсы, но .. пусть будет.
Сразу видно любознательного молодого программиста ;). Плюсанул статью, спасибки.
Почему типоразмерный ряд выбран именно таким? В свое время, проектировал "Лего-кирпич" из ардуинок (не нашел нашего аналога к сожалению) и остановился на типоразмере 56х88мм. Для меня это было полезно, т.к. с одной стороны каждый размер кратен Лего размерному шагу в 8мм, а с другой стороны в него хорошо ложились как разные экраны, так и литиевые аккумуляторы. Было удобно.
У Вас размер "круглый" 40х80 .. это тоже как-то связано с типоразмерами применяемых деталей? Спрашиваю, потому что Вы описываете поиски солнечных панелей нужного типоразмера уже после его выбора. Поступал наоборот: сначала изучал всё, что может попасть в этот лего-кирпич, и только потом выбирал базовый типоразмер по "устраивает в большинстве случаев". Кстати, проектировать свою плату в этот типоразмер оказалось не такой уж и тривиальной задачей..
Нет возможности заплюсовать в карму, увы. Спасибо за хорошее описание алгоритма и как Вы дошли до такой жизни. :) Когда-то (2006-2011) пробовал решать задачу универсальной каталогизации товаров для сайта товарного агрегатора. Пришел несколько к иному решению, но в силу слабости железа Заказчика работы были брошены.
Идея была в следующем: "не существует никаких каталогизаторов". Каталог - это упорядоченный набор свойств товаров. Разные каталоги - просто ставят во главу угла разные свойства. Товар (услуга, понятие) - это "имя существительное" с набором свойств.. фсё.
Далее начинается ваша песня о главном .. как по набору свойств запроса найти нужный комплект товаров.. ;)
Ещё раз спасибо.
автоматические - это как правило переменные, размещенные на стеке. Их разрушение происходит без участия программиста по авершению контекста. Тут можно вести речь про автоматичекий указатель, которому выделена память в куче, и типичную ошибку начинающего сиониста - забывчивость освобождения кучи по завершению контекста.
Кмк, данный подход можно дополнить небольшим #define return() который будет вызывать этот callback перед возвратом. Если делать универсальный макрос, то там придется попотеть, "настраивая" его под конкретный вызов с возвращаемым параметром. Но .. тоже решаемо как мне видится. Заодно, такой макрос может решать вопрос отложенного вызова типа defer() языка Go..
Кмк, автору стоит доработать пакетик. :)
В недалеком прошлом, в бытность начала ужесточения банковских операций по 115-ФЗ, будучи директором, переводили исполнителям оплату на карты, ибо они - разовые иногородние удаленщики, а суммы мелкие. Получили предупреждение от своего банка, и прекратили практику, т.к. ну реально были не в курсе возможных проблем. Но .. этим дело не кончилось. Когда я пошел менять свою, личную карту на новую по истечению срока .. получил отказ, т.к. как оказалось, банки такие случаи сливают в ЦБ и "Вы блокированы по 115-ФЗ". Узнать это мне стоило достаточно больших усилий т.к. "СБ банка объяснений не дает".. в итого, ещё не малых усилий стоило снять с себя такое обвинение и доказать что "не Верблюд".
Обжегшись, по сию пору, крайне негативно отношусь ко всем продаванам с "а перечислите бабки на карту".
Помнится на заре интернета пробовал заниматься анализом контента Сети и поисковыми задачами. Бросил это не благодарное дело по простой причине: неполнота контекста запроса. Сейчас что Гугль, что Яндекс сильно оганичивает контекст дополнениями "цена", "купить" и т.п., что практически исключает релевантный поиск по базам знаний. Если Вы не станете подстраиваться под "торговый сегмент", то это очень большое и полезное дело, а то уже доходит до смешного порой.
Подпишусь под каждой строчкой статьи. Спасибо! Часто и даже очень часто, и более того, все чаще и чаще, встречаешься с ситуацией "кровавого энтерпрайз", где требования сверхнадежности просто убивают продукт, например: "146% работоспособность в ущерб времени отклика web-сайта до 10-30секунд".. Повальное применение сторонних решений, доходящее до HR-требования, типа "программист-разработчик не должен смотреть в код стороннего пакета, но должен уметь применять их легко и быстро" .. видел и такое уже.
.. PSR рекомендации, stateless реализации .. всё это было бы очень смешно, если бы не было так грустно порой.
Сам, "старый велосипедист" с 1979года в ИТ, со вьевшимся в пальцы пониманием термина "стоимость команды процессора". Совершенно не нужное и вредное свойство для любого HR.
Упс, ошибся. Размер платы 56х88мм, не 800 конечно же. Получилось примерно так: https://vk.com/id484853030?z=photo484853030_456239018%2Fphotos484853030
Развел в kicad 3 платы: 2 контроллера Atmel Mega2560, последнюю (rev2) 56х800мм со всеми выводами под сдвоенные разьемы и к ней, того же формата плату расширения ОЗУ с 8кб до 520кб. Сделал герберы, как описано в инструкции и отдал китайцам. За 10 баксов получил 10 комплектов, собрал 4шт - всё работало штатно.
Спасибо за статью, прочел. Оказалось "сделал всё по правилам" .. а так бы и не узнал. ;)
Это было достаточно давно, ещё до появления TLS и прочих SSL протоколов.. ;) Да, применялось как защита от Man in middle, но и ещё попутно позволяло человеку иметь достаточно простой пароль, который не передавался в "открытом виде".
В свое время предлагал кмк, простое решение по простым паролям:
Форма логирования отдавалась в браузер с неким "правилом", по которому пользователь должен был изменить свой пароль. Затем на сервере применялась вторая часть правила для получения правильного пароля.
На практике столкнулся с плохой читаемостью синтаксиса дженериков. [] явно не лучший выбор, но возможно это было связано с количеством параметров >2 и длинным неймингом по типу С#. Очень тяжело было читать чужой код. Кмк <> было бы нагляднее.
Коллега прямо сейчас сидит парсит БД с названиями таблиц "townНазвания" .. в формате EAV с такой же мешаниной анг-rus.
Очень хочется посмотреть на того сеньора, который это напишет в вацап с Генеральным Директором градообразующей фирмы, который считает что раз он математик по образованию, то способен поставить вам ТЗ "на пальцах" прямо вот тут, в вацапе и только ваша непроходимая тупость не позволяет ему донести до вас такие простые вещи. ;)
Хорошо было описано в работе (Баррон?) по истории создания ОС 360. Лучше не напишу.. извините. ;)
Да, запамятовал уже.. Ещё раньше было хранение версий в отдельных папках на компе... ;) Ещё раньше - шкаф с полками для колод перфокарт.