Существуют версии для GNU/Linux, Windows, Mac, Android, IPhone.
Если знать HTML, CSS и JavaScript, то можно создавать собственные оформление и функционал для карточек. А зная языки программирования, например Python, можно генерировать свои огромные колоды карточек. Ну, или создавать карточки вручную или скачивать колоды из интернета.
В данном случае совет только один, прежде чем писать почитайте, в частности по nginx читать:
— всё подряд от VBart
— действительно хорошие методы борьбы с флудом от kyprizel
— просто бест-практик от lexore — https://habrahabr.ru/post/231277/
и т.п.
Все очень просто.
1) Не выделяй память, если можно не выделять
2) Знай какие операции блокирующие, а какие нет. Очевидно читать файл или слать запросы в сеть в гуёвом потоке дело неправильное.
3) Не городи абстракций в одноразовых решениях или на среднем уровне архитектуры приложения. Конкретный код, под конкретное бизнес решение, никогда не будет переиспользован.
4) Соблюдай стайл-гайд
5) Если пишешь костыль, оставь огромный комментарий с цепочкой размышлений, который привёл к появлению костыля.
6) Если условие сложное, разбей на несколько булевых переменных с нормальным названием и скомбинируй. Если невозможно (например сложная регулярка), то оставь понятный текстовый пример, когда условие срабатывает и когда не срабатывает.
7) Не используй редких английских слов в названиях
8) Погугли хоть раз в жизни " best practices".
9) Не пиши сложно и оптимально, если код вызывается раз в час/сутки/жизнь.
10) Даже если ты невероятно крут и умен, помни, что читать и поддерживать твой код будут люди менее компетентные. Это не значит, что надо писать хуже, но значит, что в каждой точке, над которой пришлось подумать и сделать неочевидно — нужно оставить комментарий.
Хм. Я как раз довольно активно думал на тему «как добавить в ОС нативные макросы-расширители», и под венду, например, ничего не нарыл. Остаётся только AHK.
Почта для домена (Яндекс Коннект, например) позволяет указать ящик, на который будет сыпаться почта для незарегистрированных адресов в этом домене.
Получаются алиасы, которые даже вручную создавать не надо.
Я так при регистрации на мусорных сайтах обычно указываю домен_мусорного_сайта@мой_домен и даже запоминать, на какую я трешепочту я когда-то на этом конкретном сайте регистрировался, не приходится.
Согласен, прямо сейчас ни одна реализация не вычисляет, но стандарт c++17 допускает Temporary materialization prvalue в sizeof.
Да, *ptr это конечно не prvalue, но тем не менее — в какой то момент код очень похожий на sizeof *ptr может сломаться от nullptr в ptr.
Anki — open-source программа для запоминания информации, использующая карточки и интервальное повторение.
Существуют версии для GNU/Linux, Windows, Mac, Android, IPhone.
Если знать HTML, CSS и JavaScript, то можно создавать собственные оформление и функционал для карточек. А зная языки программирования, например Python, можно генерировать свои огромные колоды карточек. Ну, или создавать карточки вручную или скачивать колоды из интернета.
Официальный сайт Anki, Википедия.
— всё подряд от VBart
— действительно хорошие методы борьбы с флудом от kyprizel
— просто бест-практик от lexore — https://habrahabr.ru/post/231277/
и т.п.
Все очень просто.
1) Не выделяй память, если можно не выделять
2) Знай какие операции блокирующие, а какие нет. Очевидно читать файл или слать запросы в сеть в гуёвом потоке дело неправильное.
3) Не городи абстракций в одноразовых решениях или на среднем уровне архитектуры приложения. Конкретный код, под конкретное бизнес решение, никогда не будет переиспользован.
4) Соблюдай стайл-гайд
5) Если пишешь костыль, оставь огромный комментарий с цепочкой размышлений, который привёл к появлению костыля.
6) Если условие сложное, разбей на несколько булевых переменных с нормальным названием и скомбинируй. Если невозможно (например сложная регулярка), то оставь понятный текстовый пример, когда условие срабатывает и когда не срабатывает.
7) Не используй редких английских слов в названиях
8) Погугли хоть раз в жизни " best practices".
9) Не пиши сложно и оптимально, если код вызывается раз в час/сутки/жизнь.
10) Даже если ты невероятно крут и умен, помни, что читать и поддерживать твой код будут люди менее компетентные. Это не значит, что надо писать хуже, но значит, что в каждой точке, над которой пришлось подумать и сделать неочевидно — нужно оставить комментарий.
Получаются алиасы, которые даже вручную создавать не надо.
Я так при регистрации на мусорных сайтах обычно указываю домен_мусорного_сайта@мой_домен и даже запоминать, на какую я трешепочту я когда-то на этом конкретном сайте регистрировался, не приходится.
Согласен, прямо сейчас ни одна реализация не вычисляет, но стандарт c++17 допускает Temporary materialization prvalue в sizeof.
Да, *ptr это конечно не prvalue, но тем не менее — в какой то момент код очень похожий на sizeof *ptr может сломаться от nullptr в ptr.
faculty.hampshire.edu/lspector/push3-description.html
Да, область называется en.wikipedia.org/wiki/Genetic_programming
Там много подводных камней на самом деле.