Обучение C++ на смартфоне Android

velkin velkin

Введение


Для начала рассмотрю следующие темы.
1. Что значит учиться программировать на C++?
2. Зачем учиться программировать C++ именно на смартфоне?
3. Почему у вас ничего не выйдет?

1. Что значит учиться программировать на C++?


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

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

Старая статья на тему программного обеспечения смартфона на Android.
Конспектирование на смартфоне (20.10.2022)

2. Зачем учиться программировать C++ именно на смартфоне?


1. Для большинства людей смартфон это единственный компьютер, который они носят собой.
2. Как правило он может работать очень долго без под зарядки.
3. И плюс ко всему его можно использовать во всех положениях включая стоячее, лежачее и сидячее, а так же прямо на ходу.

Подробности о мобильности различных компьютеров можете почитать в статье.
Мобильность компьютерных устройств (12.03.2022)

3. Почему у вас ничего не выйдет?


Теперь объясню почему у меня приведённая ниже инструкция работает, а у вас работать не будет. Всё очень просто, нет целостного решения, возможно платного. Если бы это кому-то было очень надо как мне, то можно набрать кучу разностороннего софта и работать с ним.

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

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

Обучение карточками


Предыдущие темы.

1. Обучение с помощью карточек (21.11.2020)
По факту неудачная попытка обучаться с помощью программы Anki.

2. Суперобучение с помощью карточек (07.11.2024)
Удачная попытка обучаться с помощью самописа, но лишь на первый взгляд. Длительных опытов не проводилось.

Набор софта


Для работы понадобятся.
1. Hacker's Keyboard (нормальная клавиатура для смартфона).
2. Termux (терминал с пакетами GNU/Linux).
3. QuickEdit (редактор текста с онлайн компилятором C++).
4. CPP N-IDE (ide с офлайн компилятором C++).
5. Total Commander (менеджер файлов, установщик apk).
6. RHVoice Anna (бесплатный синтезатор голоса для озвучки).
7. ReadEra (читалка книг с озвучкой).
8. Kisa Teacher (карточки интервальных повторений с озвучкой).

Так же я не рекомендую пользоваться Google Play, а на момент установки apk файлов лучше его отключать.
Настройки > Приложения > Google Play > Остановить
Настройки > Приложения > Google Play > Выключить

И дело не только в том, что некоторые apk файлы могут не установиться, если этого не сделать. Google запрещает программам иметь некоторый функционал и авторам приходится вырезать его для публикации в Google Play.

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

И чтобы вы понимали, я бы не стал всё это писать, если бы по этому поводу не было проблем с программами из списка, но они есть. Потому россиянам рекомендую скачивать софт с 4pda или на худой конец с других магазинов софта.

При всём при этом отмечу, что программы Hacker's Keyboard, QuickEdit, RHVoice Anna и ReadEra установлены у меня из Google Play и это обычные не премиум версии. Тогда как остальные программы я поставил максимальных версий избегая ограничений Google Play.

1. Hacker's Keyboard


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

Её желательно донастроить под себя, может быть сжать, может быть нет. Опять же есть вертикальный и горизонтальный режим. У каждого свои предпочтения, но если на смартфоне установлена обычная клавиатура, вроде Google, Samsung, Microsoft и так далее, то не мешало бы поставить какую-нибудь клавиатуру для программиста вроде вышеуказанной.

http://files.rsdn.org/99832/learning_cpp_hackers_keyboard.png

2. Termux


Теперь что касается Termux. Он буквально будет подсказывать, что делать в терминале. Например, как открыть внутреннее хранилище смартфона или как установить пакеты вроде git.

По сути там вместо apt используется pkg для обновления и установки.
pkg install git mc

И так далее.

Я делаю ещё вот такую самописную настройку.
git config --global alias.resync "! git pull origin master && git add --all && git commit -m 'resync' && git push origin master"

Чтобы использовать псевдоним resync.
git resync

У меня так же была тема.
Синхронизация личной базы знаний по программированию в Zim (03.10.2023)

Лично я использую Termux для того, чтобы работать с Git. Можно работать с Git по другому вроде Pocket Git, можно работать не с Git и даже не с репозиториями, а просто с облачными дисками и чем угодно, маршрутизатором с памятью, NAS и так далее.

Конечно не стоит забывать, что можно установить компиляторы. Я не буду сейчас проверять, что там есть, gcc, clang или ещё что. Но по идее можно установить vim и прочее. Я, конечно, сам пока таким заниматься не собираюсь.

http://files.rsdn.org/99832/learning_cpp_termux.png

3. QuickEdit


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

Для редактирования карточек лучше включить моноширный шрифт. И везде предпочитаю тёмные темы. Так же имеет онлайн компиляцию C++, но без подключения к интернету компиляция работать не будет.

Однако интернета лично у меня не бывает только если.
1. Я не плачу за мобильный интернет.
2. В поезде между станциями.

http://files.rsdn.org/99832/learning_cpp_quickedit.png

4. CPP N-IDE


Для случаев офлайн компиляции есть CPP N-IDE включая премиум версию. Лично для меня он не такой удобный как QuickEdit в части открытия файлов. Плюс при компиляции он оставляет исполняемые файлы в папке с файлом C++.

Но в принципе хорошая программа. Библиотеки для armel судя по всему подкачивает после первого запуска. Так же можно выбрать дополнительные. Если бы такой проект развился как Termux можно было бы компилировать программы для Qt, ведь SDL там есть, хотя я не пробовал.

Хотя для моих целей где нужен C++ и возможно стандартная библиотека шаблонов и это сойдёт. Тем более эту программу можно использовать в сочетании с QuickEdit. Я не буду на этом заострять внимание, каждый кто попробует то и другое думаю сразу поймёт в чём разница.

Как я уже написал, если вам нужна именно офлайн IDE для C++, а не терминал вроде Termux и не онлайн компиляция, то можно использовать эту программу. Идеальной продуманности, конечно, не ждите.

http://files.rsdn.org/99832/learning_cpp_cpp_n_ide.png

5. Total Commander


Нормальный файловый менеджер. Не качайте его из Google Play, он там урезанный по требованию Google. Впрочем я уже отметил Termux и CPP N-IDE, которые тоже лучше брать из сторонних источников.

И понятно никто не заставляет пользоваться именно им. Можно и вовсе использовать то, что было в комплекте со смартфоном. Раньше ещё было больше файловых менеджеров, но они потом скурвились.

http://files.rsdn.org/99832/learning_cpp_total_commander.png

6. RHVoice Anna


Вкусовщина, но я использую на смартфоне и компьютере офлайн синтезатор RHVoice с голосом Anna. Он монотонный, нет никаких лишних восклицаний. Да, может быть кому-то покажется, что там есть акцент, но я лично привык.

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

http://files.rsdn.org/99832/learning_cpp_rhvoice.png

7. ReadEra


Я бы сказал лучшая программа для чтения pdf и djvu книг. Там прямо чувствуется, что авторы улучшали её от версии к версии, чего не скажешь о других программах. Впрочем для fb2 я использую Cool Reader, тем более он может читать в фоне не в премиум версии как у ReadEra.

http://files.rsdn.org/99832/learning_cpp_readera_books.png

8. Kisa: Teacher


Собственно именно эта программа и обеспечивает обучение как на смартфоне, так и на десктопе с ноутбуком. Да я пробовал AnkiDroid, но там нет многотекстового поля, а на десктопной версии только через плагин и очень неудобно. А что касается синтезатора речи, тоже какие-то проблемы.

Kisa Teacher версии 0.2 это тот ещё глючный огрызок. Автор явно не вкладывал в эту программу душу, а сделал по быстрому на отвали. Я бы даже не удивился, если бы он потом стал рассказывать сказки про утечки памяти в C++, когда он явно их сам создавал и в целом говнокодил накапливая технический долг.

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

http://files.rsdn.org/99832/learning_cpp_kisa_teacher_deck.png http://files.rsdn.org/99832/learning_cpp_kisa_teacher_card.png

Заполнение карточек


Здесь ничего нового. Берём стандартный шаблон пустой колоды и заполняем оглавление какой-нибудь книги. Понятное дело нужно достать текстовый слой и прочее.

Язык программирования C++. 3-издание специальное. Страуструп Бьерн.deck
utf-8
-------------------------
-------------------------
-------------------------
-------------------------

-------------------------
Содержание 7
-------------------------
Содержание.
-------------------------
-------------------------

-------------------------
Предисловие переводчика и редактора 25
-------------------------
Предисловие переводчика и редактора.
-------------------------
-------------------------

-------------------------
Предисловие автора к третьему русскому изданию 26
-------------------------
Предисловие автора к третьему русскому изданию.
-------------------------
-------------------------

-------------------------
Предисловие 29
-------------------------
Предисловие.
-------------------------
-------------------------

-------------------------
Предисловие ко второму изданию 31
-------------------------
Предисловие ко второму изданию.
-------------------------
-------------------------

-------------------------
Предисловие к первому изданию 33
-------------------------
Предисловие к первому изданию.
-------------------------
-------------------------

-------------------------
Введение 35
-------------------------
Введение.
-------------------------
-------------------------

-------------------------
Глава 1. Обращение к читателю 37
-------------------------
Глава 1. Обращение к читателю.
-------------------------
-------------------------

-------------------------
1.1. Структура книги 37
-------------------------
1.1. Структура книги.
-------------------------
-------------------------

-------------------------
1.1.1. Примеры и ссылки 39
-------------------------
1.1.1. Примеры и ссылки.
-------------------------
-------------------------

-------------------------
1.1.2. Упражнения 40
-------------------------
1.1.2. Упражнения.
-------------------------
-------------------------

-------------------------
1.1.3. Замечания о конкретных реализациях языка (компиляторах) 40
-------------------------
1.1.3. Замечания о конкретных реализациях языка (компиляторах).
-------------------------
-------------------------

-------------------------
1.2. Как изучать C++ 40
-------------------------
1.2. Как изучать C++.
-------------------------
-------------------------

-------------------------
1.3. Как проектировался C++ 42
-------------------------
1.3. Как проектировался C++.
-------------------------
-------------------------

-------------------------
1.3.1. Эффективность и структура 43
-------------------------
1.3.1. Эффективность и структура.
-------------------------
-------------------------

-------------------------
1.3.2. Философские замечания 44
-------------------------
1.3.2. Философские замечания.
-------------------------
-------------------------

-------------------------
1.4. Исторические замечания 45
-------------------------
1.4. Исторические замечания.
-------------------------
-------------------------

-------------------------
1.5. Применение C++ 47
-------------------------
1.5. Применение C++.
-------------------------
-------------------------

-------------------------
1.6. Языки C и C++ 49
-------------------------
1.6. Языки C и C++.
-------------------------
-------------------------

-------------------------
1.6.1. Информация для C-программистов 50
-------------------------
1.6.1. Информация для C-программистов.
-------------------------
-------------------------

-------------------------
1.6.2. Информация для C++-программистов 50
-------------------------
1.6.2. Информация для C++-программистов.
-------------------------
-------------------------

-------------------------
1.7. Размышления о программировании на C++ 51
-------------------------
1.7. Размышления о программировании на C++.
-------------------------
-------------------------

-------------------------
1.8. Советы 53
-------------------------
1.8. Советы.
-------------------------
-------------------------

-------------------------
1.8.1. Литература 54
-------------------------
1.8.1. Литература.
-------------------------
-------------------------

И потом под карточкой оглавления создаём карточки содержания примерно так.
-------------------------
10.2.1. Функции-члены 284
-------------------------
10.2.1. Функции-члены.
-------------------------
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Без связи / Данные
-------------------------
Данные Date без связи.
-------------------------
struct Date
{
    int d, m, y;
};
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Без связи / Инициализация d
-------------------------
Инициализация d без связи.
-------------------------
void init_date(Date& d, int, int, int);
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Без связи / Прибавить n лет к d
-------------------------
Прибавить n лет к d без связи.
-------------------------
void add_year(Date& d, int n);
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Без связи / Прибавить n месяцев к d
-------------------------
Прибавить n месяцев к d без связи.
-------------------------
void add_month(Date& d, int n);
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Без связи / Прибавить n дней к d
-------------------------
Прибавить n дней к d без связи.
-------------------------
void add_day(Date& d, int n);
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Со связью / Данные
-------------------------
Данные Date со связью.
-------------------------
struct Date
{
    int d, m, y;
};
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Со связью / Инициализация
-------------------------
Инициализация со связью.
-------------------------
struct Date
{
    void init(int dd, int mm, int yy);
};
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Со связью / Прибавить n лет
-------------------------
Прибавить n лет со связью.
-------------------------
struct Date
{
    void add_year(int n);
};
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Со связью / Прибавить n месяцев
-------------------------
Прибавить n месяцев со связью.
-------------------------
struct Date
{
    void add_month(int n);
};
-------------------------

-------------------------
10.2.1. Функции-члены 284 / Со связью / Прибавить n дней
-------------------------
Прибавить n дней со связью.
-------------------------
struct Date
{
    void add_day(int n);
};
-------------------------

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

Со смартфона можно читать книжку с помощью ReadEra и запускать код в онлайн QuickEdit и офлайн CPP N-IDE, а так же создавать карточки в QuickEdit. По идее даже в Total Commander есть свой примитивный редактор.

Загрузка же колоды Kisa Teacher пока происходит с помощью команд "Выделить всё" и "Копировать" в любом вышеуказанном редакторе, а потом в самой Kisa Teacher через главное меню "Файл > Загрузить", что эквивалентно считыванию текстового потока колоды из буфера обмена.

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

С книгами в принципе проблема в том, что автор когда это писал явно входил в состояние словесного потока. А вот карточки в итоге получаются чёткими структурами.
Словесный поток и чёткие структуры (19.09.2022)

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

Так же карточки могут классифицироваться условными типами по парам, которые я обсуждал в теме.
Суперобучение с помощью карточек (07.11.2024)
Например, пара Название->Код и другие. Это имеет значение для понимания какие карточки делать вперёд, какие изучать сразу, а с какими повременить.

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

У меня по сути пока даже нет материала для общего понимания как эффективнее формировать карточки. Есть только общее положительное впечатление о карточках как о способе углублённого запоминания и переосмысления.

Пока я вижу всё это как рост количества карт, которые запоминаются и осмысливаются и перетекают в более качественные карты, потом опять запоминаются и осмысливаются и становятся ещё более качественными и так по кругу.

И если я буду проводить этот опыт дальше, то он затянется. Вот почему я синхронизировал всё это через сервер не только с десктопом и ноутбуком, но и смартфоном. А на этом пока всё.
Эйнсток Файр
Эйнсток Файр
24.12.2024 04:51
Стоя, в гамаке, но зачем? Это для условий тюрьмы, наверное... Или в школе на переменных?
Лучше тогда просто .pdf-ки читать.
Shmj
Shmj
24.12.2024 10:02
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Стоя, в гамаке, но зачем? Это для условий тюрьмы, наверное... Или в школе на переменных?

ЭФ>Лучше тогда просто .pdf-ки читать.

Это для современных детей — они в телефоне живут.
velkin
velkin
24.12.2024 01:22
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Стоя, в гамаке, но зачем?


Если лично тебе удобно использовать смартфон стоя в гамаке проблем нет.

ЭФ>Это для условий тюрьмы, наверное... Или в школе на переменных?


Можешь и так.

ЭФ>Лучше тогда просто .pdf-ки читать.


Так и придётся читать книги по C++ с помощью ReadEra. Это одна из программ для комплекта. А дальше что? Я через две недели большую часть забываю. Только читать книги и даже читать и практиковать без повторений не особо эффективно на мой взгляд.

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

Я смотрю с темы обучение с помощью карточек прошло 4 года, с тех пор как я познакомился с C++ прошло 25 лет, с программированием я знаком ещё на несколько лет дольше. Но результаты не удовлетворительные, просто теперь я вижу некоторые из моих ошибок.

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

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

Ещё у меня есть идея тачпада и многое другое. Кто знает, пока люди вайнят о том, что смартфон дурацкое устройство для развлечений, возможно его истинный потенциал ещё не раскрыт.

http://files.rsdn.org/99832/keyboard100.png

http://files.rsdn.org/99832/keyboard20.png
Silver_S
Silver_S
24.12.2024 07:40
Здравствуйте, velkin, Вы писали:

V>Так и придётся читать книги по C++ с помощью ReadEra. Это одна из программ для комплекта. А дальше что? Я через две недели большую часть забываю. Только читать книги и даже читать и практиковать без повторений не особо эффективно на мой взгляд.


Для долгосрочного запоминания, лучше подход — как можно меньше пытаться специально запоминать, и как можно больше делать что-то осмысленное.

V>Я сам не первый год читаю восторженные отзывы о повторениях, вот почему я написал раздел, что у вас ничего не выйдет.


Есть такое дело: Словарный запас в родном языке все учат без спец. программ, карточек, даже специально ничего не учат — сам собой выучивается этот словарный запас.
Есть книга с таким названием: "Как перестать учить иностранный язык и начать на нем жить". Саму книгу рекомендовать даже не буду — просто обратить внимание на очень правильное название.
Для ЯП — это тоже актуальная тема: "Как перестать учить ЯП и начать его использовать как инструмент для решения проблем". Тут карточки уже могут не помочь.

Даже когда карточки используются для пополнения словарного запаса. Главный принцип — запоминаться должен не перевод на русский, а смысл слова. Пассивные быстрые повторения пар "иностранное слово — перевод на русский", они, конечно, работают, но только если есть дополнение в виде активных повторений.
Примеры активных повторений:
  • Попытаться сочинить предложение или словосочетание с этим словом. Хотя бы экономно, частично(есть несколько трюков — как это делать).
  • Когда слово выучено наполовину(без контекста смысл еще не угадывается). Угадать/вспомнить смысл по готовому примеру использования в реальном предложении.
  • velkin
    velkin
    24.12.2024 08:51
    Здравствуйте, Silver_S, Вы писали:

    S_S>Для ЯП — это тоже актуальная тема: "Как перестать учить ЯП и начать его использовать как инструмент для решения проблем". Тут карточки уже могут не помочь.

    S_S>* Попытаться сочинить предложение или словосочетание с этим словом. Хотя бы экономно, частично(есть несколько трюков — как это делать).
    S_S>* Когда слово выучено наполовину(без контекста смысл еще не угадывается). Угадать/вспомнить смысл по готовому примеру использования в реальном предложении.

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

    Например, вопрос.
    Перевод слова cat.

    Далее человек думает и нажимает кнопку показать ответ.
    кошка
    Оцените ваш ответ.
    Снова | Трудно | Хорошо | Легко

    Или, вопрос.
    Перевод слова cat.
    Варианты.
    1. белка. 2. стрелка.
    3. кошка. 4. собака

    Человек выбирает ответ и ему говорят.
    Правильно.
    Неправильно.

    Самые продвинутые программы используют однострочное поле.
    cat

    Надо напечатать.
    кошка

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

    Kisa Teacher сразу имеет многострочное поле и синтезатор речи, но без настроек. Следующий её существенный недостаток на Android это отсутствие встроенной клавиатуры. Потому что выезжающая сторонняя клавиатура всё время заставляет основное приложение терять фокус, а потом его нужно возвращать обратно. То есть учить языки программирования уже возможно, но не так удобно как могло бы быть. И учить фразы разговорных языков тоже возможно.

    Чисто технологически не создай я даже такую недоделку как Kisa Teacher в её нынешнем виде, а я между прочим в сумме угробил на неё две недели до версии 0.2, учить языки программирования методом карточек было бы невозможно. Я же пытался использовать AnkiDroid, бесполезно, нет многострочного поля, а в десктопной Anki только плагин и опять же неудобно набирать карточки.

    Я считаю, что здесь важен ещё простой способ создания и изменения карточек. И чтобы карточки не были завязаны на конкретную программу. А то начинается всякое генерирование текста для импортирования карточек в Anki. Такого на мой взгляд быть не должно.

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

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

    В книге Rework бизнес без предрассудков. Фрай Джейсон, Хенссон Дэвид это называют эпицентром.

    Начните с эпицентра


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

    Например, если вы хотите открыть палатку по продаже хот-догов, вы можете беспокоиться о приправах, самой палатке, названии, оформлении. Но первое, о чем вам стоит позаботиться, – это о самих хот-догах. Хот-доги – это эпицентр. Все остальное вторично.

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

    Поэтому определите, где у вас находится эпицентр. Какую часть вашего уравнения нельзя убрать? Если вы можете оставаться в деле без этой штуки и вон той штуки, значит, они не являются эпицентром. Отыщите эпицентр, сконцентрируйте всю энергию на том, чтобы сделать его настолько идеальным, насколько это вообще возможно. Всё остальное, чем вы занимаетесь, зависит от этого фундамента.

    Нельзя убрать многострочное поле, вот почему оно было в версии 0.1. И формат карточек должен быть простым, то есть без перекодировок < в &lt; и > в &gt; и всё в таком роде.

    Я в своё время использовал всякие преобразователи.
    http://htmlencode.net
    https://ru.w3docs.com/tools/html-encoder/

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

    Конечно то, что описано выше, это тоже та ещё недоделка, но тут уже всё не так плохо. В той же теме Конспектирование на смартфоне (20.10.2022) я упоминал статью 6 способов конспектирования. Тоже на мой взгляд полезно почитать эту и другие подобные статьи.

    Хотя в этом и смысл. Те кто не стесняются брать от 150 тысяч рублей за курс очевидно технологически устарели. А альтернативы для людей пока нет, где просто взяли бы и выучили новичка до мастера. Даже я сейчас вынужден повторить свой путь до нынешних знаний.
    Эйнсток Файр
    Эйнсток Файр
    24.12.2024 08:20
    V> придётся читать книги
    V> А дальше что? Я через две недели

    Предполагается, что у человека есть доступ к стационарному компу чащё, чем раз в две недели.
    В библиотеках компьютеры есть, бесплатно на час. Библиотек больше одной.
    Прочитал книгу, подготовил эксперимент на бумаге, пошел проверил на нормальном компе.
    Но вообще, что мешает купить себе десктоп? Пусть не самый мощный, но этого будет достаточно.
    velkin
    velkin
    24.12.2024 08:55
    Здравствуйте, Эйнсток Файр, Вы писали:

    ЭФ>Предполагается, что у человека есть доступ к стационарному компу чаще, чем раз в две недели.

    ЭФ>Но вообще, что мешает купить себе десктоп? Пусть не самый мощный, но этого будет достаточно.

    Ничто не мешает, у меня кроме смартфона ещё есть сервер, десктоп и ноутбук помимо прочей техники, но только смартфон всегда со мной.
    Vzhyk2
    Vzhyk2
    24.12.2024 05:49
    Здравствуйте, velkin, Вы писали:

    Я думал, что стоя и в гамаке это стеб, а вот оно как оказывается.
    Alekzander
    Alekzander
    24.12.2024 07:33
    Здравствуйте, velkin, Вы писали:

    Так надо не C++ учиться, а учиться создавать программы (если надо — то на C++). А на смартфоне программы не создают. Кроме каких-то редких и необычных случаев, но там люди сами знают, что делают и для чего.

    Впрочем, чем бы дитя не тешилось, лишь бы не руками.
    Janus
    Janus
    24.12.2024 02:45
    Здравствуйте, velkin, Вы писали:

    V>

    Введение


    прямо инструкция что надо делать чтобы потерять зрение
    velkin
    velkin
    24.12.2024 03:31
    Здравствуйте, Janus, Вы писали:

    J>прямо инструкция что надо делать чтобы потерять зрение


    Кстати, хорошо, что напомнил. Я обнаружил, что на смартфоне нужно убавлять яркость как и на десктопе или ноутбуке. Адаптивная яркость это плохой вариант.

    Так же как и на десктопе или ноутбуке я увеличиваю масштаб экрана и размер шрифтов. По сжатым скринам не видно, но у меня смартфон лопата 1080x2400.

    Тому кто беспокоится о зрении и усталости глаз я в принципе не рекомендую программировать и читать глазами вместо прослушивания. Это не стёб, не издевательство, не ёрничание.

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

    Ещё один негативный фактор в том, что люди смотря на дисплей перестают моргать. Да говорят можно умываться, накладывать на глаза ткань или тампон с водой во время перерывов, моргать принудительно.

    Но давайте серьёзно, всё это сложно осуществить. Гораздо проще не идти в айтишечку. Только очень наивные думают, что программировать на пляже круто, когда в глаза и на дисплей светит солнце.

    А реальные программисты часто забиваются ночью в тёмные углы потому что там темно и тихо. Пока я вижу у смартфона только более медленый набор текста, но другие факторы не доказаны опытами.
    graniar
    graniar
    24.12.2024 05:26
    Здравствуйте, velkin, Вы писали:

    V>Я пока не знаю как решить эту проблему. Снижение яркости помогает на любом устройстве, но там фишка в том, чтобы глаза расслабились, то есть до нуля её не снизишь.


    Ну так просто расслабь глаза. Не пялься в экран, будто опасаешься, что буквы разбегутся. Никуда они не денутся.
    Можно смотреть на экран, на стену за ним, на стол, на потолок — разница только в отношении.
    У меня яркость стены и экрана примерно одинаковая, почему мои глаза должны напрягаться даже сейчас, когда пишу этот текст?
    Больше смотрю на клаву, но и на экран посматриваю на результат.
    Тоже самое, когда прогаю, нет такой нужды всматриваться, и нет напряга.

    Чтение конечно больше глаза напрягает, но и тут увеличение шрифта помогает — нет нужды четко фокусировать — нет напряга.

    V>Ещё один негативный фактор в том, что люди смотря на дисплей перестают моргать. Да говорят можно умываться, накладывать на глаза ткань или тампон с водой во время перерывов, моргать принудительно.


    И моргаю нормально. Отсутствие моргания — признак излишнего напряжения, как у охотника, высматривающего добычу.
    Только буквы не кусты — из них ничего неожиданного не выпрыгнет, расслабься
    Janus
    Janus
    25.12.2024 11:17
    Здравствуйте, velkin, Вы писали:

    J>>прямо инструкция что надо делать чтобы потерять зрение


    V>Кстати, хорошо, что напомнил. Я обнаружил, что на смартфоне нужно убавлять яркость как и на десктопе или ноутбуке. Адаптивная яркость это плохой вариант.


    V>Тому кто беспокоится о зрении и усталости глаз я в принципе не рекомендую программировать и читать глазами вместо прослушивания. Это не стёб, не издевательство, не ёрничание.


    При длительной работе на смартфоне вообще целый букет . Глаза , шейный отдел позвоночника.
    Я на телек вывел 2 экран. В машине — "тревожный чемодан" — 11' бук. Гиблое это дело , работа на смартфоне .
    А приучать ребенка к работе на смартфоне — вообще дорога в Ад.
    velkin
    velkin
    25.12.2024 12:08
    Здравствуйте, Janus, Вы писали:

    J>При длительной работе на смартфоне вообще целый букет . Глаза , шейный отдел позвоночника.


    Я со смартфоном лежу на ортопедической подушке и ортопедическом матрасе с ортопедической кроватью и у меня всё нормально. Или у меня есть шезлонг.

    Вот на ходу да, могут возникнуть такие проблемы. Когда по лесу ходил лучше со смартфоном куда-нибудь присесть. Альтернатива держать смартфон на уровне глаз, но тогда устаёт не шея, а руки.

    J>Я на телек вывел 2 экран. В машине — "тревожный чемодан" — 11' бук. Гиблое это дело , работа на смартфоне .


    Не на смартфоне, а в машине. Мне тоже не понравилось что-то делать в легковушке. Если бы это было что-то вроде автобуса, тогда да.

    J>А приучать ребенка к работе на смартфоне — вообще дорога в Ад.


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

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

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

    То есть сначала работаем на память, потом память работает на нас. И не нужно будет использовать глаза, шею, спину и задницу. Следовательно они не устанут.
    student__
    student__
    25.12.2024 09:28
    Единственное, что можно делать на смартфоне с С++ — прочитать страничку официального референса по тому или иному методы стандартной библиотеки, пока справляешься со своим запором на толчке.
    Если запоров нет, юз-кейс пропадает.
    rudzuk
    rudzuk
    25.12.2024 09:51
    Здравствуйте, student__, Вы писали:

    s> Единственное, что можно делать на смартфоне с С++ — прочитать страничку официального референса по тому или иному методы стандартной библиотеки, пока справляешься со своим запором на толчке.

    s> Если запоров нет, юз-кейс пропадает.

    Помнится, я на смарте доку по котлину читал, когда укладывался в кроватку. Лучшее средство от бессонницы