Метка «Программирование» - 25

Не так давно, занявшись изучением ruby, я столкнулся с тем, что не понимаю, что такое class методы, точнее в чем их отличие от instance и зачем они вообще нужны. В учебнике, который я изучаю на данный момент, эта тема была описана не достаточно подробно или я не дочитал до подробного описания, но в любом случае мне стало интересно разобраться и я полез искать ответы в google. Данный пост является всем тем, что мне удалось найти и понять. Конечно, для опытных ruby разработчиков тут интересного мало, но я надеюсь, что смогу помочь таким же новичкам в языке как и я. Если я вас заинтриговал — прошу под кат.
Читать полностью »

Введение

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

0. Предисловие

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

1. Теория

С чего начинаются все проблемы с сохранением настроек? Верно, с визуальных компонентов. Ведь по сути, все значения динамических настроек хранятся в тех или иных полях визуальных компонентов. Осознав это, я задался вопросом: «А что нам это дает?» А вот что:

  1. У любого компонента есть имя
  2. У любого компонента есть поле для хранения значения
  3. Все компоненты на форме можно легко найти

Три этих свойства решают все наши проблемы! Ведь достаточно просто пройтись по всем визуальным компонентам и запомнить их значения!

2. Выбор хранилища

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

[название_блока1]
название_переменной1=значение_переменной1
название_переменной2=значение_переменной2

название_переменнойN=значение_переменнойN

[название_блока2]
название_переменной1=значение_переменной1
название_переменной2=значение_переменной2

название_переменнойN=значение_переменнойN

[название_блокаN]
название_переменной1=значение_переменной1
название_переменной2=значение_переменной2

название_переменнойN=значение_переменнойN

Эта структура идеально подходит для хранения наших настроек:

[тип_компонента]
название_компонента=значение

Читать полностью »

Я хочу продолжить тему классных разработчиков и их подхода к разработке, на которую опубликовал уже несколько статей. В этот раз поговорим о коде и отношении к его написанию. Кому интересно, прошу под кат.Читать полностью »

Ночи доброй всем текущим и утра пятничного всем, кто в пятницу начинает рабочий день с Хабра…
Снова я.
Вот, выбрался, вернее сказать — чутка урвал часок от сна на тему: надо маленько написать (да и с умыслом шкурным тоже), как дела обстоят и как оно идет вообще по моей разработке. Для тех, кто не в теме, далее ссылки на предыдущие статьи:
Часть№1: habrahabr.ru/post/124427/
Часть№2: habrahabr.ru/post/138874/
Часть№3: habrahabr.ru/post/150196/
Часть№4: habrahabr.ru/post/156573/

Ну, а кто уже в теме — продолжим.

Читать полностью »

Внедрение зависимостей в .NET
Название оригинала: Dependency Injection in .NET
Автор: Марк Симан
Дата выхода: август 2013г.

В конце лета у нас выходит новая переводная книга «Dependency Injection in .NET» издательства Manning Publications. Хотим вашему внимаю представить перевод небольшого анонса.

Dependency Injection in .NET — это великолепное описание технологии внедрения зависимостей (DI), связанных с ней паттернов и нескольких важнейших фреймворков для такого внедрения. Симан проработал множество ресурсов (книг, журнальных статей, записей в блогах) и создал свой всеобъемлющий труд. Несомненно, автор опирается на массу самостоятельно проведенных исследований и собственный практический опыт в работе с внедрением зависимостей.
Читать полностью »

В этой статье будет подробнее рассказано о проекте «RobotVirtualization», победившем на региональном этапе международного конкурса ImagineCup 2013. Он придуман командой студентов МФТИ (ГУ) «CyberTech». Если вам понравится идея этого проекта — поддержать его можно здесь.

Хотелось бы вам иметь в распоряжении робота, который бы подчинялся вашим указаниям? Если вам кажется что это слишком сложно, дорого, не стоит ваших усилий, то вы не правы!
Конечно, сейчас можно сказать про среднюю цену робота (около 500$), или пожаловаться на работу симулятора (копия робота далека от реального: отсутствует поддержка большого количества датчиков, упрощенная физика и т.д.), добавить: «Да в таких условиях написать что-то стоящее просто нереально!» И вы будете правы. В ТАКИХ условиях и правда сложно написать свою собственную программу управления для робота.
Каждому по роботу или виртуализация робототехники
Решение, о котором пойдет речь в данной статье напоминает собой «аренду» робота. Только арендуете вы не из рук-в-руки, а посредством удаленного доступа через веб-сервис. Сервис позволяет конечному пользователю исполнять собственные программы для управления на реальном роботе и получать данные с его сенсоров и камер, установленных в помещении, в режиме реального времени. Такая система позволит значительно уменьшить затраты на разработку программ для роботов и обучение специалистов.
Читать полностью »

Уже давно существует целое сообщество любителей-разработчиков, которые занимаются программированием летающих роботов. Они устраивают периодические конференции и сходки. Но в чем же особенность данного сообщества, спросите Вы? дело в том, что программирование квадрокоптеров осуществляется на Javascript на платформе NodeJS. Среди разработчиков большой популярностью пользуется всем уже известный ArDrone Parrot, который уже не раз освещался на страницах Хабра.

Nodecopter — управление квадрокоптерами на Javascript

Подробности под катом.
Читать полностью »

Доброе утро!
Знаю, что таких статей было много, но я человек с «живым» умом и люблю задаваться вопросом:«А что было бы, если?»
Давайте ответим на вопрос, а что было бы, если языки программирования были религиями? (прошу прощения, что пост поставил в хаб «Программирование», но более подходящего не нашел, а в «Чулан» пока не пускают)
Читать полностью »

Уже давно существует целое сообщество любителей-разработчиков, которые занимаются программированием летающих роботов. Они устраивают периодические конференции и сходки. Но в чем же особенность данного сообщества, спросите Вы? дело в том, что программирование квадрокоптеров осуществляется на Javascript на платформе NodeJS. Среди разработчиков большой популярностью пользуется всем уже известный ArDrone Parrot, который уже не раз освещался на страницах Хабра.

Подробности под катом.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js