Базы данных в Obsidian
Уже год как я мигрировал с Notion в Obsidian. Не сказать, что я полностью адаптировался. Многое пришлось переосмыслить.
⛔️ Одна из фишек Notion, от которой пришлось отвыкать - это таблицы.
Да, в Obsidian есть dataview - мощный инструмент для представления заметок в виде таблиц. Но в нем не хватает интерактивности.
С интерактивностью помог плагин Projects. Но он очень глючный, тормозит на больших представлениях, приводил к проблемам, да и больше не поддерживается. Пришлось от него отказаться.
А вместе с Projects отказаться и от интерактивных таблиц.
✅ И тут с последним обновлением в Obsidian появляется встроенный модуль Bases (на скрине).
Ух и вау! Таблицы! Наглядные как в dataview и интерактивные как в Notion.
Ну где они были раньше!
На первый взгляд - удобно! Большие представления работают плавно, есть гибкие настройки фильтров.
Короче, осваиваю и очень активно, так как в августе во всю веду подготовку заданий на семинар к новому учебному году 🎓
Уже год как я мигрировал с Notion в Obsidian. Не сказать, что я полностью адаптировался. Многое пришлось переосмыслить.
⛔️ Одна из фишек Notion, от которой пришлось отвыкать - это таблицы.
Да, в Obsidian есть dataview - мощный инструмент для представления заметок в виде таблиц. Но в нем не хватает интерактивности.
С интерактивностью помог плагин Projects. Но он очень глючный, тормозит на больших представлениях, приводил к проблемам, да и больше не поддерживается. Пришлось от него отказаться.
А вместе с Projects отказаться и от интерактивных таблиц.
✅ И тут с последним обновлением в Obsidian появляется встроенный модуль Bases (на скрине).
Ух и вау! Таблицы! Наглядные как в dataview и интерактивные как в Notion.
Ну где они были раньше!
На первый взгляд - удобно! Большие представления работают плавно, есть гибкие настройки фильтров.
Короче, осваиваю и очень активно, так как в августе во всю веду подготовку заданий на семинар к новому учебному году 🎓
👍4
С предыдущим тестом отдохнули и снова во все тяжкие ⤵️😟
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec { 1, 2, 3, 4, 5, 6 };
for (auto i = vec.size() - 1; i >= 0; --i) {
std::cout << vec[i] << ' ';
}
return 0;
}
Выше дан код C++. Какой вывод будет у программы?
Anonymous Quiz
5%
Никакой
43%
6 5 4 3 2 1
24%
5 4 3 2 1
29%
Неопределенное поведение
Разделители разрядов в C++
Чтобы нам было проще воспринимать большие числовые константы, в C++ существуют разделители разрядов (digit separators).
С ними непонятно число
превращается в понятные сто тысяч!
✅ В качестве разделителя используется символ одинарной кавычки (
Смотрите, как получается:
Но есть пара ограничений:
⛔️ разделитель не может стоять в начале или конце числа:
⛔️ разделитель не может стоять после точки:
Разделители разрядов доступны, начиная с C++14. До этого читаемость констант улучшали разными способами. Например, я использовал:
- научный вариант записи, вроде
- выражения, вроде
Честно говоря, я в своей практике не помню, чтобы использовал разделители. Последнее время не попадалось задач, где бы пришлось заводить большие константы.
—
А вы использовали разделители?
🔥 - ага
🤷♂️ - не доводилось
😁 - ох уж этот ваш C++
Чтобы нам было проще воспринимать большие числовые константы, в C++ существуют разделители разрядов (digit separators).
С ними непонятно число
long a = 100000;
превращается в понятные сто тысяч!
long a = 100'000;
✅ В качестве разделителя используется символ одинарной кавычки (
'
). Мы сами можем выбирать, где ставить разделитель и на сколько разрядов делить число. Компилятор все равно разделители не учитывает.Смотрите, как получается:
int a = 122'302;
long b = 10'823'013'000;
double pi = 3.141'592'6535;
uint8_t mask = 0b1010'1101;
uint32_t transparent_red = 0x80'FF'00'00;
Но есть пара ограничений:
⛔️ разделитель не может стоять в начале или конце числа:
'100
, 10'
⛔️ разделитель не может стоять после точки:
1.'003
Разделители разрядов доступны, начиная с C++14. До этого читаемость констант улучшали разными способами. Например, я использовал:
- научный вариант записи, вроде
1e-5
- выражения, вроде
10 * 1000 * 1000
(что скорее экзотика).Честно говоря, я в своей практике не помню, чтобы использовал разделители. Последнее время не попадалось задач, где бы пришлось заводить большие константы.
—
А вы использовали разделители?
🔥 - ага
🤷♂️ - не доводилось
😁 - ох уж этот ваш C++
🤷♂3😁2👍1🔥1
Кто считается автором языка C?
Anonymous Quiz
61%
Бьёрн Страуструп
25%
Деннис Ритчи
14%
Райан Гослинг
0%
Стив Джобс
🔼 Кстати, продолжая тему истории программирования, напоминаю про серию тестов по датам создания языков программирования.
Отличная возможность освежить знания)
Отличная возможность освежить знания)
Media is too big
VIEW IN TELEGRAM
Объединение коммитов в TortoiseGit
В последнем видео про WIP-коммиты я рассказывал, что коммиты можно объединять с помощью операции rebase. Но оказывается, что в TortoiseGit есть более простой способ.
В логе коммитов есть пункт меню "Combine to one commit", который объединяет выделенные коммиты, позволяя отредактировать сообщение.
Подробнее смотрите в коротком видео ⤵️
📱 Смотреть на YouTube
📱 Смотреть в VKVideo
—
Как вам формат вертикальных видео?
Мне кажется неплохо. Но какая же запара впихнуть горизонтальный экран в вертикальный ролик 😅
В последнем видео про WIP-коммиты я рассказывал, что коммиты можно объединять с помощью операции rebase. Но оказывается, что в TortoiseGit есть более простой способ.
В логе коммитов есть пункт меню "Combine to one commit", который объединяет выделенные коммиты, позволяя отредактировать сообщение.
Подробнее смотрите в коротком видео ⤵️
—
Как вам формат вертикальных видео?
Мне кажется неплохо. Но какая же запара впихнуть горизонтальный экран в вертикальный ролик 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Вывод какой команды показан на картинке выше?
Anonymous Quiz
26%
git status
44%
git branch -vv
7%
git diff
22%
git log
🎉1
Как ведут документацию проекта в Capella
Почти год назад я рассказывал вам про ведение документации проекта на Markdown, когда файлы документации располагаются рядом с исходным кодом. То есть в том же репозитории.
❓ Но, честно говоря, мне было не понятно, как это заработает на большом объеме. Одно дело - запилить десяток файлов, и совсем другое - поддержать полноценную документацию.
И тут попадается живой пример!
👉 Копаясь в проекте Capella на GitHub, я обратил внимание на довольно развитый раздел Wiki. На первый взгляд, ничего особенного, у многих такое есть. Но при переходе по первой же ссылке я попадаю обратно в репозиторий!
GitHub Wiki оказалась фасадом, который ведет к файлам документации, расположенным в основном репозитории.
И этих файлов там больше трех сотен.
В Capella вместо Markdown используется MediaWiki. Они похожи. В обоих случаях культивируется парадигма "doc as code". Однако MediaWiki посложнее и предлагает больше инструментов для разработки документации. Но самое главное, что GitHub "из коробки" умеет рендерить и те, и другие файлы.
Я не знаю, насколько наличие документации мешает работе с репозиторием. Ну
С другой стороны:
- документация всегда под рукой,
- как следствие, поддерживать ее проще,
- как следствие, правки кода и документации попадают в один пул-реквест,
- как следствие, сборка с пул-реквеста готова в production 🤭
В общем, подход имеет место быть. Проект Capella не заброшен и развивается. 5000+ коммитов, ежегодные релизы, полсотни контрибьютеров говорят сами за себя.
—
🎉 Этим постом вводится новая рубрика #ЖизньДругих, где мы будем разбирать интересные решения в открытых проектах. Предыдущий пост про Minetest тоже в нее попал ⤴️
Почти год назад я рассказывал вам про ведение документации проекта на Markdown, когда файлы документации располагаются рядом с исходным кодом. То есть в том же репозитории.
❓ Но, честно говоря, мне было не понятно, как это заработает на большом объеме. Одно дело - запилить десяток файлов, и совсем другое - поддержать полноценную документацию.
И тут попадается живой пример!
👉 Копаясь в проекте Capella на GitHub, я обратил внимание на довольно развитый раздел Wiki. На первый взгляд, ничего особенного, у многих такое есть. Но при переходе по первой же ссылке я попадаю обратно в репозиторий!
GitHub Wiki оказалась фасадом, который ведет к файлам документации, расположенным в основном репозитории.
И этих файлов там больше трех сотен.
В Capella вместо Markdown используется MediaWiki. Они похожи. В обоих случаях культивируется парадигма "doc as code". Однако MediaWiki посложнее и предлагает больше инструментов для разработки документации. Но самое главное, что GitHub "из коробки" умеет рендерить и те, и другие файлы.
Я не знаю, насколько наличие документации мешает работе с репозиторием. Ну
git clone
будет выполняться подольше. Ну места на диске будет занято чуть больше...С другой стороны:
- документация всегда под рукой,
- как следствие, поддерживать ее проще,
- как следствие, правки кода и документации попадают в один пул-реквест,
- как следствие, сборка с пул-реквеста готова в production 🤭
В общем, подход имеет место быть. Проект Capella не заброшен и развивается. 5000+ коммитов, ежегодные релизы, полсотни контрибьютеров говорят сами за себя.
—
🎉 Этим постом вводится новая рубрика #ЖизньДругих, где мы будем разбирать интересные решения в открытых проектах. Предыдущий пост про Minetest тоже в нее попал ⤴️
👏2🔥1
Выше дан код C++. Какой вывод будет у программы?
Anonymous Quiz
75%
2 2.75
15%
2.75 2.75
5%
2 2
5%
11/4 11/4
🔥2
"Этого не может быть...
...потому что этого не может быть никогда".
Помните крыловского "философа без огурцов", который критиковал мужика-огородника, а сам так ничего и не вырастил?
👇 Так вот похожий сюжет есть и у Чехова в "Письме к ученому соседу". Только здесь "умник" наполнен не книгами и журналами, а слухами и предрассудками.
Но суть героя та же: абсолютная, без тени сомнения, уверенность в правоте собственных суждений.
В письме мужик в пух и прах разматывает достижения современной науки (с поправкой на 19 век).
Ну, например, тезис об эволюции:
Или про людей на Луне:
И про пятна на Cолнце:
😁 Мужик не знает о том, что он не знает, ...и ему норм (эффект Даннинга-Крюгера?)
Но к чему это я.
А к тому, что образование - это наилучший способ расширить перспективу собственного мышления, чтобы реже попадаться в ловушку самоуверенной некомпетентности. Да-да, именно реже. Потому что вероятность выступить "так себе" у нас будет всегда 😉
—
📍 Чехов А.П. - "Письмо к ученому соседу" (1880) #КнижнаяПолка@mediocre_developer
...потому что этого не может быть никогда".
Помните крыловского "философа без огурцов", который критиковал мужика-огородника, а сам так ничего и не вырастил?
👇 Так вот похожий сюжет есть и у Чехова в "Письме к ученому соседу". Только здесь "умник" наполнен не книгами и журналами, а слухами и предрассудками.
Но суть героя та же: абсолютная, без тени сомнения, уверенность в правоте собственных суждений.
В письме мужик в пух и прах разматывает достижения современной науки (с поправкой на 19 век).
Ну, например, тезис об эволюции:
Ибо, если бы человек, властитель мира, умнейшее из дыхательных существ, происходил от глупой и невежественной обезьяны то у него был бы хвост и дикий голос.
Или про людей на Луне:
Люди живя на луне падали бы вниз на землю, а этого не бывает. Нечистоты и помои сыпались бы на наш материк с населенной луны. Могут ли люди жить на луне, если она существует только ночью, а днем исчезает?
И про пятна на Cолнце:
Из какого мокрого тела сделаны эти самые пятны, если они не сгорают? Может быть, по-вашему и рыбы живут на солнце? Извените меня дурмана ядовитого, что так глупо съострил! Ужасно я предан науке!
😁 Мужик не знает о том, что он не знает, ...и ему норм (эффект Даннинга-Крюгера?)
Но к чему это я.
А к тому, что образование - это наилучший способ расширить перспективу собственного мышления, чтобы реже попадаться в ловушку самоуверенной некомпетентности. Да-да, именно реже. Потому что вероятность выступить "так себе" у нас будет всегда 😉
—
📍 Чехов А.П. - "Письмо к ученому соседу" (1880) #КнижнаяПолка@mediocre_developer
🔥4
Традиционно университет в сентябре отнимает почти все свободное время, но без теста я вас не оставлю 😊
По крайней мере сегодня 😁
👇
По крайней мере сегодня 😁
👇
#include <iostream>
int main() {
for (int i = 0; i < 2;) {
std::cout << i;
for (int j = 0; j < 2; ++j, ++i)
std::cout << j;
}
return 0;
}
Выше дан код C++. Какой вывод будет у программы?
Anonymous Quiz
39%
001101
44%
001
17%
Бесконечные нули и единицы
0%
Ошибка сборки
Симпотный робот 👍
Но если захочется отсканировать QR, то надо будет либо поклониться ему, либо встать на колени 🧎➡️🤖
Ну реально не удобно. Что ж так низко куарчики то?
А робот симпотный, да.
—
Это, конечно, не рубрика "путаница в интерфейсах", но отличный повод про нее напомнить 😊
Но если захочется отсканировать QR, то надо будет либо поклониться ему, либо встать на колени 🧎➡️🤖
Ну реально не удобно. Что ж так низко куарчики то?
А робот симпотный, да.
—
Это, конечно, не рубрика "путаница в интерфейсах", но отличный повод про нее напомнить 😊
😁4👾4
Переезд блога
🎉 Рад сообщить, что я наконец-то перевез свой сайт с большими статьями с платформы hashnode на собственную статику с хостингом на GitHub Pages.
👉 https://mediocre-developer.ru
А лозунг то какой, а! Зацените:
Философия так себе программиста 🔥
Только через осознание своего незнания мы развиваемся и двигаемся дальше.
Но ладно с ней, с философией, перейдем к практике.
🔸 Чем же не угодил hashnode?
1. Деградация индексации в поисковиках. С марта этого года платформу начали дудосить какие-то плохие ребята и разработчики поставили контроль входа, который заблокировал в том числе роботов гугла и яндекса. Просмотры упали в ноль (см. скрин). Техподдержка отморозилась и приказала ждать. Я подождал полгода... и ни-че-го.
2. Слабая кастомизация. Кроме статей, ничего особенного и не опубликуешь.
3. Риск блокировки. Ресурс зарубежный, а исходников на руках нет.
🔸 Почему GitHub Pages?
1. Простота входа. В сети есть готовые шаблоны сайтов. Сконфигурировал под свои нужды и сразу захостил.
2. Исходники на руках. Весь сайт генерируется из markdown с помощью jekyll. В случае чего развернуть можно где угодно, хоть на домашнем сервере.
3. Бесплатный хостинг. Чего тут комментировать то)
Честно говоря, как только в hashnode провалились просмотры, желание писать улетучилось. Несколько статей так и остались в черновиках. Теперь постепенно их допишу и опубликую. Все таки читательская активность невероятно мотивирует 😊
🎉 Рад сообщить, что я наконец-то перевез свой сайт с большими статьями с платформы hashnode на собственную статику с хостингом на GitHub Pages.
👉 https://mediocre-developer.ru
А лозунг то какой, а! Зацените:
Признание - первый шаг на пути от “так себе” вчера к “немного лучше” сегодня.
Философия так себе программиста 🔥
Только через осознание своего незнания мы развиваемся и двигаемся дальше.
Но ладно с ней, с философией, перейдем к практике.
🔸 Чем же не угодил hashnode?
1. Деградация индексации в поисковиках. С марта этого года платформу начали дудосить какие-то плохие ребята и разработчики поставили контроль входа, который заблокировал в том числе роботов гугла и яндекса. Просмотры упали в ноль (см. скрин). Техподдержка отморозилась и приказала ждать. Я подождал полгода... и ни-че-го.
2. Слабая кастомизация. Кроме статей, ничего особенного и не опубликуешь.
3. Риск блокировки. Ресурс зарубежный, а исходников на руках нет.
🔸 Почему GitHub Pages?
1. Простота входа. В сети есть готовые шаблоны сайтов. Сконфигурировал под свои нужды и сразу захостил.
2. Исходники на руках. Весь сайт генерируется из markdown с помощью jekyll. В случае чего развернуть можно где угодно, хоть на домашнем сервере.
3. Бесплатный хостинг. Чего тут комментировать то)
Честно говоря, как только в hashnode провалились просмотры, желание писать улетучилось. Несколько статей так и остались в черновиках. Теперь постепенно их допишу и опубликую. Все таки читательская активность невероятно мотивирует 😊
🔥6
Так себе программист
Переезд блога 🎉 Рад сообщить, что я наконец-то перевез свой сайт с большими статьями с платформы hashnode на собственную статику с хостингом на GitHub Pages. 👉 https://mediocre-developer.ru А лозунг то какой, а! Зацените: Признание - первый шаг на пути…
К слову, с сайтом очень помогли нейронки. И с кодом, и с переездом. Я не знаю, сколько бы я сам с ним просидел, так как в вебе не бум-бум. Ну то есть небольшой опыт имеется, но это было очень давно.
Возможно, без нейронок я вообще бы за это не взялся. Многое пришлось бы изучать. Сомнительная инвестиция. Отдал бы на аутсорс)
А теперь, получается, и волки сыты, и овцы цели.
💪 Мощь
Возможно, без нейронок я вообще бы за это не взялся. Многое пришлось бы изучать. Сомнительная инвестиция. Отдал бы на аутсорс)
А теперь, получается, и волки сыты, и овцы цели.
💪 Мощь
👍3
Выше дан код C++. Какой вывод будет у программы?
Anonymous Quiz
40%
Foo ~Foo catch
20%
Foo 42 catch
7%
Foo ~Foo
33%
Foo catch
🤬1