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

Пользователь

Отправить сообщение
Подскажите пожалуйста, как вы устанавливали Win 10 на другие компьютеры? Устанавливали из дистрибутива Win 10 и активировали ключом из вашей коробки Win 8 Pro?
Назвали бы чебурашкой — пришлось бы иметь дело с правообладателями на творчество Успенского. А «Колобок» — народная сказка.

Кстати, забавно. Значит ушел-таки Колобок от лисицы, но остался от него только кратер на астероиде. С большой скоростью пришлось уходить :(
Раньше я работал так же, как и вы — архивы по датам, changelog и т.д. А потом стал использовать mercurial, и жизнь значительно упростилась. Более того, мне до сих пор приходится работать с некоторыми системами по-старинке, через архивы (всякие там STEP7 и тому подобное, где код хранится в файлах бинарного формата). По сравнению с нормальными системами контроля версий, это просто адъ. Поэтому скажу пару слов в защиту СКВ. Не имею намерений что-либо навязывать и, тем более, кидать в вас тухлые яйца. Расценивайте мое сообщение как ИМХО.

Ваш стиль работы можно очень легко перенести на git или hg, и вы это, похоже, прекрасно понимаете, но не видите преимуществ. В чем профит? В том, что система контроля версий возьмет на себя прорву чисто механической работы. Например, сейчас вы делаете изменения в проекте, потом пишете в changelog «22.01.19 Реализовал фичу XYZ. Изменил aaa.cpp, bbb.cpp, ccc.cpp». А с любой СКВ и GUI-клиентом к ней вы просто набираете в окне сообщение «Реализовал фичу XYZ» и жмете Commit. Все. GUI-клиент типа TortoiseHG или Sourcetree четко показывает вам, что изменилось. Выделили коммит в списке — видите, что этот коммит изменил файлы aaa.cpp, bbb.cpp, ccc.cpp. Выделили файл aaa.cpp — сразу видите, что конкретно поменяли. То есть система ведет максимально подробный «changelog» за вас. Ориентироваться во всем этом вы сможете очень просто, причем безо всяких хитрых команд. Вам не нужен bisect, чтобы читать список изменений.

Хотите вернуться к предыдущему состоянию? Выделили коммит и сделали на нем «Update». Нужен бэкап на внешнем винте? Один раз сделали на этом винте клон вашего репозитория а потом периодически делайте туда push. Более того, с git и mercurial вы сможете завести бесплатные аккаунты на сервисах типа github, gitlab, bitbucket и бэкапить туда.

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

Размеры репа, если не коммитить туда бинарники, очень скромные, по сравнению с сохранением полного архива ProjectName.dd-mm-yyyy на каждый коммит. Всегда можно держать полную копию истории под рукой, а не на внешнем винте.

Если вы работаете в одиночку, то, скорее всего, вы сможете обойтись без веток, и у вас не будет «головной боли что там лучше делать merge или rebase». Жуткие номера коммитов (хэши)? В mercurial можно пользоваться последовательно возрастающим порядковым номером коммита, особенно если вы работаете один. Да и при использовании GUI, в принципе, можно и не заморачиваться этими обозначениями.

Некогда все это изучать? В mercurial описанный выше функционал под GUI клиентом можно освоить за день-два. Если не любите GUI и хочется консольного кунг-фу, вероятно, понадобится чуть побольше времени, но не намного. git в целом сложнее, чем mercurial, но на таком уровне особой разницы тоже не будет.
Если и уволят — ничего страшного. Он легко найдет работу на Почте России или в регистратуре российской же муниципальной поликлиники. Выражение лица просто идеально соответствует отношению к клиентам в этих организациях. По-русски надо выучить всего несколько ключевых фраз, типа «вы что, не видите, у нас обед».
В Новосибирске есть шоколадный бар, принадлежащий ООО «Не слипнется» (ИНН 5406614875)
Разница в том, что у гальванического элемента энергия запасена в электродах. В электроде происходят химические реакции — энергия выделяется — гальванический элемент создает ток во внешней цепи. В воздушно-цинковом элементе, например, окисляется цинковый электрод. Цинк закончился — элемент перестал работать.

Аккумулятор — тот же гальванический элемент, но с возможностью вернуть электроды в исходное состояние путем подачи тока извне.

В топливном элементе (fuel cell) горючее и окислитель поступают извне, а электроды выступают лишь «посредниками». То есть, можно создать устройство, где электроды будут служить очень долго (вечными они не будут из-за загрязнения). Выдавать ток такое устройство будет, пока мы подаем горючее и окислитель.
«Исторически так сложилось»

Why are C character literals ints instead of chars? (StackOverflow)

The reason is that the definition of a literal character has evolved and changed, while trying to remain backwards compatible with existing code.

In the dark days of early C there were no types at all. By the time I first learnt to program in C, types had been introduced, but functions didn't have prototypes to tell the caller what the argument types were. Instead it was standardised that everything passed as a parameter would either be the size of an int (this included all pointers) or it would be a double.

This meant that when you were writing the function, all the parameters that weren't double were stored on the stack as ints, no matter how you declared them, and the compiler put code in the function to handle this for you.

This made things somewhat inconsistent, so when K&R wrote their famous book, they put in the rule that a character literal would always be promoted to an int in any expression, not just a function parameter.

When the ANSI committee first standardised C, they changed this rule so that a character literal would simply be an int, since this seemed a simpler way of achieving the same thing.

When C++ was being designed, all functions were required to have full prototypes (this is still not required in C, although it is universally accepted as good practice). Because of this, it was decided that a character literal could be stored in a char. The advantage of this in C++ is that a function with a char parameter and a function with an int parameter have different signatures. This advantage is not the case in C.

This is why they are different. Evolution…
Сразу вспомнилась другая статья, в каком-то смысле антипод тексту выше:

Code review по-человечески (часть 2)
Спасибо! Если придется делать собственный cmake-проект, обязательно так и поступлю.

Вообще, главная сложность при изучении инструментария типа cmake — как раз такие вот «лучшие практики». Из справочной документации и обзорных статей их почерпнуть непросто. По некоторым тулзам есть специальные руководства и даже книги. Для git, например, есть Pro Git. Есть ли что-нибудь подобное по cmake?

Спасибо, все получилось!
Спасибо за статью!

Поясните пожалуйста вот такой момент:

set(LIBRARY_TYPE SHARED)
if (STATIC)
    set(LIBRARY_TYPE)
endif()

#...

add_library                     (libtesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr}
    ${tesseract_rsc}
)


Отсюда

Переменная STATIC в коде не задается. Правильно ли я понимаю, что для компиляции в виде статической библиотеки нужно определять STATIC через командную строку cmake?

Причина вопроса: пытаюсь понять, как правильно собрать библиотеку tesseract и ее зависимости в виде статических библиотек, чтобы в итоге можно было создать приложение для OCR в виде единственного исполняемого файла.
Лишь бы телеметрию туда не встраивали
Для робота «Игорёк» обязательно должно быть предусмотрено дистанционное управление через сеть «Чебурашка».
Такие мыши обычно используются в MMORPG, вот только на кнопки вешают не «закупки» а различные способности героя и макросы. Впрочем, возможно, автор имел в виду закупку предметов в MOBA.

"Проблема пользователя решена: пользователь обвинен в посещении экстремистских сайтов, заключен под стражу и, соответственно лишен доступа в Интернет".

Что вы, в комментариях к данной статье только одна священная корова: право обладателей моноколес гонять по тротуарам со скоростью 25 км/ч.

Согласен. Повысит опасность, и без того высокую.

Кто бы говорил про "натянутое представление". Вам надо ездить по тротуарам — и вы для себя приравняли человека на моноколесе к пешеходу. Хотя ПДД четко утверждают обратное.

Мопед предназначен для езды по ПЧ по вполне объективным причинам. Как раз из-за того, что в противном случае у владельцев мопедов будет желание и возможность "втопить на ровном участке тротуара" либо заехать в толпу на приличной скорости. По тем же причинам к моноколесам следует применить те же ограничения.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность