Виктор Обломов

+30
с 2021
29 подписчиков
28 подписок
Django: представления на основе классов (CBV) против представлений на основе функций (FBV)

Это вольный перевод статьи, оригинал которой находится здесь.

3
Пишем Телеграм бота на Python c использованием API ChatGPT

Данная статья является вольным переводом статьи на medium.com , плюсом от себя реализация API ChatGPT в Телеграм боте.

1
Об инвестировании, хаосе и аппроксимации рынка

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

Что делать с долларом сегодня

Часть информации была взята из источника youtube.com

КАК ИЗУЧАТЬ ПРОГРАММИРОВАНИЕ

Согласно международной исследовательской компании IDC (International Data Corporation), каждые три года количество программистов увеличивается примерно на 3 млн, при этом качество знаний у новоприбывших программистов снижается примерно с той же интенсивностью. И уже сейчас многие люди не способны понять большинство научных книг написанных в XX веке…

Приведу отрывок из книги Лю-Цысинь "Задача трех тел", не с целью рекламы. Это то, что заставляет ум бурно размышлять над прочитанным. Итак ниже.

Физики не существует
, MyCreateView.as_view(), name='original-create-view')\n url(r'^new_two/ , MyCreateView.as_view(template_name='other_form.html', form_class='MyOtherForm'), name='modified-create-view')\n]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Когда вы начнете знакомиться с встроенными общими представлениями Django на основе классов, у вас будет возможность также перезаписать вспомогательные методы, такие как get_form_class и get_template_names, что позволит вам вставить дополнительную логику в эти точки, а не просто переопределить атрибут класса. Одним из примеров является ModelFormMixin — метод form_valid() переопределяется, и связанная модель сохраняется с обновленным значением, хранящимся в self.object().

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Общие представления Django на основе классов (Generic Class-Based Views)"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Generic class-based-views были введены для решения распространенных случаев использования в веб-приложении, таких как создание новых объектов, представления списков, разбиение на страницы, представления архивов и т. д. Они входят в ядро Django, и вы можете реализовать их из модуля django.views.generic.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Они также ускоряют процесс разработки.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Django предоставляет набор представлений и миксинов, общих представлений на основе классов, которые предназначены для решения некоторых наиболее распространенных задач веб-разработки. Цель состоит в том, чтобы вам не приходилось изобретать велосипед снова и снова. Давайте изменим MyCreateView, чтобы он наследовался от django.views.generic.CreateView:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"from django.views.generic import CreateView\n\nclass MyCreateView(CreateView):\n model = MyModel\n form_class = MyForm","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вау. Куда делся весь код? Ответ, конечно же, заключается в том, что все это находится в django.views.generic.CreateView. Взгляните на Classy Class-Based Views. Это жизненно важный ресурс для понимания общих представлений Django на основе классов. Если вы перейдете к записи для CreateView, вы увидите, что наш маленький двухстрочный класс представления унаследовал более сорока методов и атрибутов класса!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Когда вы наследуетесь от CreateView, вы получаете множество методов и свойств, но вы также получаете что-то вроде договоренности в стиле конфигурации.

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["шаблон должен быть в /<modelname>/<modelname>_form.html по умолчанию — вы можете изменить это, установив атрибут класса template_name и template_name_suffix","нам нужно указать атрибуты model и form_class, потому что методы, которые вы унаследовали от CreateView, полагаются на них.","нам нужно либо указать success_url в качестве атрибута класса в представлении, либо определить get_absolute_url() в модели, иначе представление не будет знать, куда перенаправляться после успешной отправки формы.","нам нужно либо указать атрибут класса fields в представлении, либо определить поля в вашей форме. В этом примере я решил сделать последнее. Просто для справки, вот краткий пример того, как это может выглядеть:"],"type":"UL"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"from django import forms\nfrom . models import MyModel\n\nclass MyModelForm(forms.ModelForm):\n class Meta:\n model = MyModel\n fields = ['name', 'description']","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Стратегии использования Generic Class-Based Views в Django"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Начните с простого. Каково основное действие рассматриваемого представления? Скажем, например, вам нужен рецепт Recipe, в котором также есть список связанных ингредиентов Ingredient. Начните с DetailView в качестве основы.","Добавьте примеси mixins для создания функциональности. Чтобы добавить ингредиенты Ingredient в детальное представление нашего рецепта Recipe, мы используем MultipleObjectMixin, который также предоставляет такие функции, как сортировка и пагинация.","Переопределите необходимые методы, чтобы получить функциональность которая необходима. Обратитесь к http://ccbv.co.uk/ или, если ваша IDE (например, PyCharm) позволяет, посмотрите, какие атрибуты и методы класса вам доступны. Структура наследования довольно быстро усложняется, но, к счастью, все методы названы осмысленно, и вам не нужно вникать в во все вызовы или порядок вызовов."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Заключение"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Например, если вы реализуете представление которое выводит список, вы можете просто создать подкласс ListView и переопределить атрибуты.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если Вы пишете какой-то более сложный функционал, обрабатывая несколько форм одновременно, вам лучше подойдет представление на основе функций.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":1,"reposts":0,"views":239,"hits":5135,"reads":null,"online":0},"dateFavorite":0,"hitsCount":5135,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/612764-django-predstavleniya-na-osnove-klassov-cbv-protiv-predstavlenii-na-osnove-funkcii-fbv","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":3}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":612134,"customUri":null,"subsiteId":818117,"title":"Пишем Телеграм бота на Python c использованием API ChatGPT","date":1676664388,"dateModified":1676664388,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"20e333ba-2780-5cf5-ae5d-69fd466098e0","width":640,"height":360,"size":222457,"type":"png","color":"0a1d5a","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Данная статья является вольным переводом статьи на medium.com , плюсом от себя реализация API ChatGPT в Телеграм боте.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Готовый/работающий телеграм бот ChatGPT доступен тут.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На вопрос \"Кто ты?\" сама нейросеть отвечает примерно следующее \"Я - ChatGPT, крупнейшая языковая модель, созданная OpenAI. Я разработана для обработки естественного языка и могу помочь вам ответить на вопросы, обсудить темы или предоставить информацию на различные темы\".

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итак, как получить доступ к сервису ChatGPT из запрещенных стран написано в статье на хабре, хочу обратить ваше внимание, что будет необходимо сперва создать gmail почту с подтверждением по СМС на иностранный номер телефона, затем при регистрации на сайте ChatGPT также подтвердить номер телефона по СМС, и эти два номера телефона совсем не обязательно должны быть одинаковыми, поэтому сервисы по продаже номеров мобильных телефонов на одну смс вполне годятся.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если Вы хотите пощупать ChatGPT и потестировать API на Python, тогда об этом ниже.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Установка пакета"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сперва устанавливаем необходимый пакет в python:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Install openai \npip install openai \n\n# Import Library \nimport openai","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Подробнее об API OpenAI можно прочитать в документации:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

https://beta.openai.com/docs/api-reference/introduction

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Получаем API ключ"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сгенерировать API ключ можно после регистрации на сайте по адресу:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

https://beta.openai.com/account/api-keys

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Предоставляем ключ API \nopenai.api_key = \"Your_Key\"","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Выбираем обученную модель"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Выбираем обученную модель, а именно “text-davinci-003”, она является самой мощной моделью GPT-3 и обучалась на данных до июня 2021 года. Узнать больше о различных моделях Вы можете здесь:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

https://beta.openai.com/docs/models/gpt-3

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Выбираем обученную модель \nengine=\"text-davinci-003\"","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Проверяем модель"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Протестируем модель! Начнем с того, что попросим ChatGPT назвать лучшую Python библиотеку по машинному обучению:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Запрос \nprompt = \"Назови лучшую Python библиотеку по машинному обучению\" \n\n# Модель \ncompletion = openai.Completion.create(engine=engine, \n prompt=prompt, \n temperature=0.5, \n max_tokens=1000)","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Код выше указывает использовать модель “text-davinci-003”, с температурой 0,5. Температура представляет собой число от 0 до 1. Меньшее число означает более четко определенный ответ, в то время как большее число позволяет модели брать на себя больший риск. Ответ будет выглядеть примерно так:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Выводим ответ \nprint(completion)","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"1d5d8a3e-3099-5129-a114-a4418ec9aea7","width":1024,"height":683,"size":168599,"type":"png","color":"403e41","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Выводим только текст ответа:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Печатаем только текст ответа \nprint( completion.choices[0]['text'] ) \n\n# У меня был такой ответ: \n# Scikit-learn.","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Идем дальше! Как насчет того, чтобы прописывать вопрос в терминале и там же получать ответ:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"prompt = str(input()) \ncompletion = openai.Completion.create(engine=engine, \n prompt=prompt, \n temperature=0.5, \n max_tokens=1000) \nprint('\\nОтвет:') \nprint( completion.choices[0]['text'] )","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Собственно в коде выше после запуска, скрипт ждет ввода данных из-за функции input(). Ответ будет получен только после ввода запроса.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Оборачиваем код в функцию"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для удобства, обернем полученный код Python в простую функцию:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# Функция для ChatGPT \ndef ask(prompt): \n completion = openai.Completion.create(engine=\"text-davinci-003\", \n prompt=prompt, \n temperature=0.5, \n max_tokens=1000) \n\nprint( 'Вопрос:', prompt ) \nprint( '\\nОтвет:' ) \nprint( completion.choices[0]['text'] )","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь все, что Вам нужно сделать, это написать свой вопрос в функции «ask()».

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"ask('самая красивая женщина на земле') \n\n# Ответ \n# На земле нет одной самой красивой женщины. Красота и прелесть относятся к индивидуальным вкусам и предпочтениям.","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как видим API ChatGPT прост в использовании, но имейте в виду, что ответы, которые он дает, не всегда на 100% верны.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Прикручиваем API ChatGPT к телеграм боту"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Исходники телеграм бота выложил в гитхаб репозиторий.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для создания телеграм бота нам понадобится токен, который мы можем получить у BotFather. Там же можно задать название бота, изображение и описание.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Клонируем репозиторий:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"git clone git@github.com:ViktorAllayarov/ChatGPT_telegram_bot.git \n\n# переходим в папку с проектом \ncd ChatGPT_telegram_bot","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Далее создаем локальное виртуальное окружение:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"python3 -m venv env \n# или \npy -3.10 -m venv env","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Переходим в виртуальное окружение и обновляем пакетный менеджер pip:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# для Linux/macOS \nsource env/bin/activate \n\n# для Windows \nsource env/scripts/activate \n\n# далее обновляем \npip python -m pip install --upgrade pip \n\n# устанавливаем все зависимости \npip install -r requirements.txt","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В файле main.py есть кусок кода, который тянет переменные среды окружения, с помощью библиотеки dotenv:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"env = { \n **dotenv_values(\".env.prod\"), \n **dotenv_values(\".env.dev\"), # override \n} \n\nopenai.api_key = env[\"API_KEY_CHATGPT\"] \nbot = telebot.TeleBot(env[\"TG_BOT_TOKEN\"]) \ndb_link = env[\"DB_LINK\"]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

поэтому нам необходимо создать файл .env.prod или .env.dev (или оба файла) и задать там необходимые переменные

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# файл .env.prod \n\n# API ключ CHATGPT \nAPI_KEY_CHATGPT= \n\n# токен телеграм бота \nTG_BOT_TOKEN= \n\n# ссылка на БД SQLite3, \n# файл базы создастся в корне проекта \n# при первом запросе в боте \n# база записывает всех пользователей, которые пользуются ботом \nDB_LINK=db.db","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь можно запустить проект:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"python main.py","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Надеюсь, что эта статья была интересной и полезной, спасибо, что посетили ее на этом сайте.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":4,"reposts":0,"views":172,"hits":2800,"reads":null,"online":0},"dateFavorite":0,"hitsCount":2800,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/612134-pishem-telegram-bota-na-python-c-ispolzovaniem-api-chatgpt","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":508217,"customUri":null,"subsiteId":818117,"title":"Об инвестировании, хаосе и аппроксимации рынка","date":1664118218,"dateModified":1664118218,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"Об инвестировании, хаосе и аппроксимации рынка","image":{"type":"image","data":{"uuid":"fe38131f-8730-576b-b3b2-f41bcbef4980","width":1600,"height":900,"size":277626,"type":"png","color":"2d4241","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Данную статью я решил написать, потому что мне часто пишут в личных сообщениях с вопросами, насколько профессиональна ваша команда управляющих? Владеете ли вы инсайдерской информацией при торговле? Как поведет себя портфель на падающем рынке? И так далее. Ниже я постараюсь прояснить стратегии, и кратко объяснить почему они работают.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Самое популярное, пожалуй, это поиск фигур. Пятнадцать минут чтения интернета и хоть сейчас на Уолл-стрит! Это ведь так просто — надо лишь на графике найти «голову Барта Симпсона», «бабочку», «флажок(не путать с клином!11)», «лазурь, падающую в вакуумную вертихвостку», построить много-много линий и, совершенно непредвзято, истолковать это в свою пользу!

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"7f95bf96-a19c-5cf7-a228-f2ffd943fac1","width":320,"height":269,"size":57675,"type":"png","color":"b8d3cc","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Но это будет установлено тоже постфактум. А остальные просто скажут «а, ну мы по невнимательности неправильно прочитали сигналы».

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Другой тупиковый путь - это использование нейросетей. Вот оно, технологическое чудо! Ты просто даешь ему на вход одни данные, на выход другие, а оно само находит связь и учится предсказывать выходы по входам. Сколько проблем можно решить! Сколько задач можно нивелировать!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Столько всего можно предсказать! Интересно, а другие люди вообще в курсе? С этим инструментарием мои возможности безграничны! БЕЗГРАНИЧНЫ!

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"30f9de60-89ec-5eed-95ad-7af155deb706","width":500,"height":268,"size":52037,"type":"png","color":"6c301f","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ситуация еще более усложняется тем, что многие параметры, влияющие на рынок не детерминированы. Рост котировок может спровоцировать дальнейший рост котировок и стать причиной. А может не спровоцировать и не стать причиной. А может спровоцировать фиксацию прибыли и, как следствие, падение цены. Исторические данные на биржах выглядят солидно. Объемы, цены, «стаканы», столько цифр! Абсолютное большинство которых ни на что не годятся, являясь лишь результатом, эхом, событий и причин, лежащих далеко за плоскостью этой статистики. На совершенно ином масштабе. В совершенно иной сфере охвата.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

При моделировании будущих котировок мы опираемся лишь на последствия событий в разы более сложных, чем просто процентное отклонение объема закупки. Цена не формирует сама себя. Ее нельзя продифференцировать саму по себе. Если рынок выразить как метафоричное озеро, то биржевый график это лишь рябь на воде. Может быть это ветер подул, может камень в воду бросили, может рыба плеснула, может Годзилла прыгает в 200 километрах на батуте. Мы видим лишь рябь. Но по этой ряби пытаемся спрогнозировать силу ветра через 4 дня, количество камней, которое кинут в воду через месяц, настроение рыбы послезавтра или, быть может, направление, в котором пойдет Годзилла, когда устанет прыгать. Подойдет ближе и снова развернет батут — рябь станет сильнее! Ловим тренд, хоп хоп хоп!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Поэтому можно с уверенностью сказать, что во-первых поведение рынка абсолютно хаотично, во вторых рынок не поддается аппроксимации, это значит, что параметры невозможно классифицировать и группировать так, чтобы упростить предсказание, невозможно сгруппировать параметры в индикаторы, которые на 100% будут работать.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Не поймите меня неправильно. Вполне допустимо, что реальный трейдер с Уолл-стрит, у которого за плечами лет 20 криков и штук 200 попыток суицида, скорее всего может наложить друг на друга пачку индикаторов и осцилляторов и, как оператор из фильма «Матрица», одним взглядом прочитать там полезные данные, сдобренные достаточно высоким мат.ожиданием успешной сделки. Я даже допускаю, что конкретно Ты, читатель, тоже так умеешь. Без капли сарказма, вполне допускаю. В конце концов зачем-то же их придумывают, улучшают, эти индикаторы… Но…

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0d974977-5f6a-504c-92d9-1c88aaefd333","width":600,"height":382,"size":123440,"type":"png","color":"8a8593","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Статистика говорит нам о том, что в топ Форбс нет трейдеров. Там долгосрочные инвесторы вроде Уоррена Баффета. Это люди которые растут вместе с естественным ростом экономики/технологии. Трейдер - это спекулянт, который пытается вырвать кусок у другого такого же спекулянта, и учитывая хаотичность рынка, в каждой сделке 50/50 шанс выиграть или проиграть. Если сделок много (а их очень много) то шанс выиграть снижается до 5%. То есть один из двадцати трейдеров может быть успешен в течении пары лет, дальше статистика еще хуже. Не занимайтесь трейдингом, занимайтесь долгосрочным инвестированием (это гарантированный успех).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"На рынке можно зарабатывать"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для себя, я выделил четыре рабочие:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Усреднение. Это когда мы дозакупаем актив если он дешевеет.","Ребалансировка. Это когда мы продаем то, что дорожает и покупаем то, что дешевеет для того, чтоб сохранить пропорцию."],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Индексная (ETF). Это когда мы покупаем все компании отрасли, а не единичные.
"],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Купил и забыл. Покупка на долгосрок, чтоб гарантированно был рост."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Что такое УСРЕДНЕНИЕ?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"f8fe4fb2-29d2-5da9-b3a0-f69b1a0dbf8e","width":1411,"height":790,"size":21905,"type":"png","color":"040404","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Мы исходим из следующих наблюдений:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А) Цена на актив может как расти, так и снижается.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Б) Цена не может постоянно двигаться в одну сторону (расти или снижаться). Статистика доказала, что раньше или позже происходит разворот.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В) Если покупать актив в момент падения цены, то их (общая) средняя стоимость в портфеле тоже снижается (усреднение). Т.е. вы снижаете среднюю стоимость этих активов вслед за падением цены.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Г) Когда цена развернется вверх вы сможете получить больше прибыли при продаже актива. Потому что средняя цена (всех этих активов в портфеле) меньше, чем была изначально.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Эту стратегию применяют как в трейдинге (частые сделки), так и в инвестировании (редкие сделки).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На этом принципе основана работа торговых роботов. Это программы, которые торгуют по определенным алгоритмам. Чаще всего они настроены на последовательную покупку актива в том случае если цена на него падает, для того, чтобы потом продать, когда цена вернется (исходим из того, что цена не может постоянно двигаться в одну сторону).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Проблема №1. У вас могут закончится деньги.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Проблема №2. Движение вниз может быть очень долгим.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

То есть, в трейдинге это может работать при стабильной волатильности (цена вверх, затем вниз), которую никто вам не гарантирует.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Однако при долгосрочном инвестировании, это может работать. Потому что при долгосрочном инвестировании решены обе проблемы

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Б) Вы не ограничены временем, потому что инвестируете в долгую (годами).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Что такое РЕБАЛАНСИРОВКА?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Было проведено несколько исследований успешных управляющих и инвесторов. Хотели установить, что в их системах общего.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Пришли к выводу, что все успешные управляющие были:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А) долгосрочные инвесторы, а не трейдеры;

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Б) правильно выбирали время покупки активов (тогда, когда они дешевые);

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В) правильно выбирала сами активы (надежные компании, а несупердоходные);

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Г) время от времени делали ребалансировку портфеля (перераспределяли кол-во активов).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Удивительно, но именно ребалансировка больше всего влияла на доходность портфеля инвестора. То есть время входа и качество актива не так сильно влияли (5%), как ребалансировака (95%).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Суть ребалансировки – поддержание равновесия в зависимости от изменения цены на активы.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Представим, что мы закупили в свой инвестиционный портфель активов четырех компаний в пропорции по 25% каждой.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Компания синяя = 25%

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Компания зеленая = 25%

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Компания желтая = 25%

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Компания красная = 25%

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Через полгода цена активов желтой компании выросла, а цена на активы красной компании снизилась. Поэтому пропорция нарушилась.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Желтый «кусок» в портфеле стал более дорогим, а красный «кусок» стал более дешевым.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"6201a7f6-3859-5c44-8d1c-f8d3bf0de48c","width":1670,"height":1185,"size":304418,"type":"png","color":"e1dcca","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Почему это так эффективно? Потому что мы покупаем и продаем в оптимальной ситуации:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Продаем тогда, когда актив дорогой (раз цена на него обогнала остальные активы).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Покупаем тогда, когда актив дешевый (раз цена на него снизилась).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Проблема. Если компания умирает, то ее пропорция в вашем портфеле будет постоянно снижаться, потому что цена на актив будет падать. В этом случае бездумная дозакупка активов по «бросовым ценам» приведет только к потере денег, потому что цена никогда не вернется вверх после смерти/банкротства компании.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Решение №1. Покупать активы разных компаний. Чем больше разных компаний в вашем портфеле, тем меньше риск, потому что в случае полного банкротства отдельной компании это не принесет существенного вреда.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если у вас в портфеле только 2 компании по 50% на каждую, то в случае умирания одной из них вы теряете половину своего капитала. Однако если у вас в портфеле 20 компаний, то в случае умирания одной из них вы теряете только 5% своего капитала. Такая диверсификация защищает ваши деньги.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Решение №2. Риск можно максимально снизить если покупать ETF (индекс на все компании отрасли, а не на отдельные).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Совет. Если вы долгосрочный инвестор, то вы постоянно вкладываете часть дохода в активы. Так вот, не нужно покупать то, что выросло в вашем портфеле. Покупайте только то, что «похудело». То есть инвестируйте так, чтоб возвращать исходный баланс!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это поможет вам делать выгодные покупки: приобретать то, что дешево и продавать то, что дорого.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как мне понять, что пора делать ребалансировку портфеля?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Проще всего ориентироваться на одно из двух:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Время. Например «перетряхивать» портфель раз в год.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Диспропорция. «перетряхивать» портфель в том случае если пропорции поменялись больше, чем на 20%.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Что такое ИНДЕКСНАЯ (ETF) СТРАТЕГИЯ?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это когда вы покупаете не отдельную компанию (ее активы), а группу компаний (их активы) отрасли. Формально вы покупаете актив ETF, но в нее пропорционально включены компании из всей отрасли (индекса).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это одно из самых крутых решений для долгосрочного инвестора, из всех возможных. Потому что вы получаете ряд преимуществ:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

диверсификация = много компаний, а не одна. Это дает безопасность, потому что все компании отрасли не разорятся одновременно (привет До Квон и Terra USD).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Не нужно следить за состоянием рынка. За вас все делают: покупают то, что нужно, продают то, что не нужно.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Не нужно много денег чтоб купить все компании индекса.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Допустим в индексе S&P500 находится 500 компаний. Но вы покупаете не отдельные компании, а сразу «пучком».

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Не нужно платить налоги, как при обычном трейдинге. Потому что до тех пор, пока вы не продадите свои ETF вся прибыль считается «бумажным доходом» и с нее не платятся налоги. Т.е. вы можете годами держать эти бумаги и расти вместе с ними, не переживая за уплату налогов.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дешевое управление. В среднем 0.1-0.9% за год.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вывод: Покупка индекса (ETF) – это безопасный и удобный способ долгосрочного инвестирования.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Что такое «КУПИЛ И ЗАБЫЛ» ?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это пассивная стратегия долгосрочного инвестирования при которой проходит очень много времени между покупкой и продажей актива. Если вы проанализируете рост любых рынков на планете, то выделите одну особенность: нет ни одного инвестора, который был бы в минусе через 5-10-ть лет (за исключением тех ситуаций, когда были куплены активы тех компаний, которые обанкротились).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Мировая экономика растет, а технологии развиваются.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Постоянно! Возможно, на коротких промежутках (несколько лет) это не заметно. Однако если вы проанализируете графики роста за десятилетия, то отметите что нет таких периодов, когда экономика падает больше 10-ти лет подряд.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это значит, что при долгосрочном инвестировании (купил и забыл) вы всегда выигрываете.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот, для примера, индекс S&P500 (США) за более чем сто лет:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"9b37aea0-4f42-572b-83cb-665a61fd3263","width":2245,"height":927,"size":37647,"type":"png","color":"242432","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И график биткойна с 2012 года:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"59f329ff-bdd2-52c9-b7b1-d4c99a1a8732","width":2257,"height":932,"size":36919,"type":"png","color":"252634","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Да, бывают кризисы. Да, некоторые компании становятся банкротами. Но, в целом, экономика растет всегда, потому что человечество развивает технологии. Это значит, что цена всегда растет на долгих промежутках времени (от 5-10-ти лет).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

То есть, если вы пассивный долгосрочный инвестор (купил и забыл), то вы получаете следующие преимущества:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Преимущество №1. Вы всегда в плюсе, в отличии от трейдеров (активных краткосрочных торговцев). Потому что вы не боретесь за кусок с другими спекулянтами. Вы растете вместе с ростом экономики (технологии).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Преимущество №2. Вы свободны, потому что «забыли» про инвестицию. То есть вам не нужно изучать, продавать и нервничать. Вы можете заниматься тем, что у вас лучше получается или тем, чем хотите.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Преимущество №3. Вам не нужно тратить деньги на комиссии за сделки, потому что они у вас очень редкие, в отличии от трейдеров.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Преимущество №4. Вам не нужно каждый год платить налоги. Вы платите только один раз, когда продаете актив (например, раз в 1-5ть лет).

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ну а теперь, про возможные недостатки стратегии «купил и забыл».

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Недостаток №1. Это очень долго. Мало кто способен идти к своей цели годами. Единицы могут ждать пять лет, потому что хочется тут и сразу, а не потом и частями.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Недостаток №2. Риск банкротства компании. То есть очень важно выбирать не среди супердоходных, а среди супернадежных компаний.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Недостаток №3. Низкая доходность. Ведь там, где низкий риск, всегда низкая доходность. Психологически вам будет очень сложно, если среди ваших друзей есть активные трейдеры.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ссылка на оригинал статьи

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":3,"reposts":0,"views":57,"hits":222,"reads":null,"online":0},"dateFavorite":0,"hitsCount":222,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/508217-ob-investirovanii-haose-i-approksimacii-rynka","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":507631,"customUri":null,"subsiteId":818117,"title":"Что делать с долларом сегодня","date":1663966205,"dateModified":1663966205,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"14fef45b-5990-5639-a95e-2adc8113b5cb","width":1600,"height":900,"size":361237,"type":"png","color":"e3d2c8","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Часть информации была взята из источника youtube.com

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сегодня в России для россиян доллар становится очень токсичной валютой. То есть им (долларом) тяжело владеть, если ты владеешь им, то на тебя накладывают различные комиссии, вы наверное уже в курсе, что есть комиссия за хранение валюты на брокерских счетах, на банковских счетах, блокируют swift переводы и так далее.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В чём главная опасность? И почему банки сейчас так выжимают людей из доллара?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Главная опасность в возможной блокировке российских банков, а точнее корреспондентских счетов российских банков в иностранных банках. Что это такое? В чём суть?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Когда мы владеем долларами, мы не владеем ими напрямую, я имею ввиду не наличные, а на счетах. Как это работает? Российский банк имеет корреспондентский счет в банке эмитенте той страны, которая является эмитентом доллара. В данном случае США, либо евро в европейских странах.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

По какому курсу? Никто не знает, но врятли он будет сильно выгодным, вот так я вам скажу. Это главная опасность которая сегодня есть.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Какие у нас есть альтернативы? Что всё-таки делать с долларами если они у вас есть?

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Первый вариант: наиболее удачный, если у вас наличные доллары, это прекрасно, вы молодец, что успели их вовремя вывести, почему? потому что наличный доллар всегда будет в цене. Его у вас гораздо сложнее отнять, потому что заблокировать то, что у вас на счетах очень легко, то что у вас где-то там лежит, это наоборот очень нелегко, это возможно, но гораздо сложнее. Наличный доллар всегда можно будет продать, с этим проблем нет. В общем, если есть наличные доллары я бы их так и оставил."],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Второй вариант: вывести доллары на счет в зарубежном банке, чтобы уйти от рисков того, что доллар будет у вас заблокирован. Что сейчас наиболее популярно у россиян, которые открывают счета? Это Узбекистан, Казахстан, Турция, в этих странах наиболее активно люди открывают счета. Это позволяет использовать собственные деньги за рубежом, делать переводы, оплачивать разные покупки и так далее. Тут есть определённые трудности, то есть надо немного поднапрячься и вполне вероятно придется лететь в ту страну, в которой вы собираетесь открыть счёт, будь то Казахстан, Узбекистан, Турция, на денёк-другой, подписать документы и дальше собственно всё."],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Третий вариант: это работа с криптой (криптовалютой), USDT, USDC, BUSD и прочие “типа” стейблкойны, я говорю “типа”, потому что в некоторой степени они уже дискредитированы, мы знаем пример Terra USD (TUSD), которая вроде как была привязана к доллару, а потом бац и отвязалась, и улетела в ноль. Следующий в очереди на отрицательный рост был USDD (стейблкойн в сети Tron), но к счастью выдержал все нагрузки и держит привязку. В крипте масса других своих рисков, которые вы должны понимать, разбираться, знать как это работает, тем не менее для многих это очень интересная альтернатива, потому что она не имеет границ, потому что о ней (крипте) не знают банки, не знает налоговая инспекция, никто не знает кроме вас, пока по крайней мере. На это конечно покушаются, все хотят это знать, но пока скажем так об этом сложно узнать, и нет границ, криптой вы можете оплатить в любом месте, легко, без тысячи идиотских вопросов банка, а почему? а зачем? а докажите, что вы не верблюд и так далее. Это безусловно большой плюс, но главный минус, то что высокие риски хранения, и мошенничество с криптой. Также хочу отметить стартап, который позволяет вам не просто хранить деньги в стейблкойнах, а стейкать их, другими словами делать вклады, и получать 13% годовых в этих самых стейблкойнах. При хранении долларов в российских банках с вас взимают комиссию, при стейкинге в этом стартапе, вы получаете очень хорошие проценты."],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Четвертый вариант: это оставить доллары на счетах в российских банках как они есть. Вот есть у вас где-то доллары, так и оставить. И в этом случае просто принять для себя риск, что может произойти что-то нехорошее, в том плане, что счет либо заморозится на неопределенный срок, сконвертируется по невыгодному курсу в рубль. Может произойти, а может и нет, никто вам никакой гарантии здесь не даст, ну и естественно комиссия за хранение будет медленно съедать ваш счет."],"type":"UL"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Пятый вариант: наверное самый простой, особенно хорош для тех, кого очень нервирует текущая ситуация с долларом, если вы просто не можете спокойно спать, смотрите на то, что происходит, то один курс, то другой, это очень нервирует, и я знаю таких людей причём много. Можно просто все продать, забыть про доллар на неопределенный срок, пока не прояснится ситуация в России, чего ждать, какие будут далее движения. Но хранить деньги в рублях чревато риском высокой инфляции и девальвации, это надо помнить. Согласно документу Центробанка России, на 59 странице есть таблица с прогнозом ЦБ по тем или иным позициям, стрессовый сценарий."],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d9515995-f796-5a9f-86fd-71331548554f","width":1354,"height":1515,"size":162975,"type":"png","color":"3d2d38","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Нас интересуют позиции Экспорт и Импорт, согласно прогнозу ЦБ, в 2022 году импорт и экспорт уменьшится, причем разница этих величин почти в два раза в сторону экспорта, это объясняет почему сегодня рубль укрепился, просто потому что уменьшение импорта происходит быстрее. В 2023 году уменьшение экспорта ускорится, а импорта наоборот замедлится, это означает, что рубль будет слабеть относительно доллара. Опять же это прогноз ЦБ России, и согласно него выходит, что выгоднее хранить сбережения в долларе, а не в рубле. В документе есть также сценарий “Ускоренная адаптация”, можете ознакомиться, но лично я считаю, что стрессовый сценарий наиболее вероятен.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итак давайте резюмируем пять вариантов, которые я сегодня вижу для хранения доллара:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Наличные доллары;","Перевод в зарубежный банк, для этого придется открыть счет в этом банке, но я бы сказал, что это как минимум оправдано;","Крипта;","Оставить всё как есть;","Перевести в рубли."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Другую валюту я бы не рекомендовал покупать, опять же пока не стабилизируется ситуация, знаете есть простое правило, не надо множить хаос. То есть если сейчас вокруг валюты полно хаоса, то покупая себе эту разную валюту, скорее всего вы этот самый хаос будете множить. Многие высказываются в сторону покупки Юаня, но глядя на кризис недвижимости в Китае, который все больше набирает обороты, я бы не рискнул. Всем добра.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Оригинал статьи тут.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":2,"reposts":0,"views":46,"hits":192,"reads":null,"online":0},"dateFavorite":0,"hitsCount":192,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/507631-chto-delat-s-dollarom-segodnya","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":475074,"customUri":null,"subsiteId":818117,"title":"КАК ИЗУЧАТЬ ПРОГРАММИРОВАНИЕ","date":1659473754,"dateModified":1659473754,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"4fdaa079-da88-5dea-87b1-2c69103d452b","width":5265,"height":3530,"size":1762129,"type":"jpg","color":"91aab5","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Согласно международной исследовательской компании IDC (International Data Corporation), каждые три года количество программистов увеличивается примерно на 3 млн, при этом качество знаний у новоприбывших программистов снижается примерно с той же интенсивностью. И уже сейчас многие люди не способны понять большинство научных книг написанных в XX веке, в которых опускалось объяснение многих базовых вещей, подразумевая, что раз человек читает эту книгу, то он является достаточно образованным, чтобы её понять.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Работа, вакансии, реклама нам диктуют каким уровнем знаний должен обладать специалист в своей области и стремление человечества всё упростить и автоматизировать привело не только к более простой и удобной жизни, но и к тотальной деградации.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"68f9c91f-19b8-5932-871c-8d5597e22f53","width":6525,"height":2807,"size":2609263,"type":"jpg","color":"bfa595","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Всё что можно не знать мы будем не знать, всё что можно не делать мы будем не делать.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Человек пришел зарабатывать деньги и это его реальность. Он зовётся программистом.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Но… что если бы всё было не так?"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"8508cc71-e7f3-5d15-9404-0fb6a64d950e","width":800,"height":533,"size":50578,"type":"jpg","color":"16182f","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Он зовется программистом.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это те самые области из которых мы привыкли выбирать вектор своего развития, веб, мобайл, геймдев, десктоп и многие другие, которые подразделяются еще на более узкие вроде python разработчики, javascript разработчика, далее еще уже, frontend, backend, разработчики по фреймворкам и так далее. Все эти области появились искусственно, образовав свою экосистему, очень хорошо подходящую для бизнес-задач.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Каждое свое направление требует очень узкий спектр знаний, которыми ты должен обладать чтобы занимать эту должность. Всё остальное что можно не знать мы будем не знаеть и всё что можно не делать мы будем не делать.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вариативность программного обеспечения, которое ты способен создавать полностью ограничена этой областью, своим языком программирования, своей платформой, своими автоматизированными инструментами, которые тебе помогают в разработке. Как только ты попробуешь выйти за ее пределы, тут же утонешь в болоте непонимания всего того, что там находится. Так например будучи веб разработчиком создавая очередной сайт, который от проекта к проекту меняется только своим интерфейсом, ты думаешь что весь твой мир ограничен каким-нибудь PHP и Javascript-ом, а изучение очередного фреймворка является единственным твоим способом вырасти как профессионал.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Пересылая данные по интернету ты ежедневно используешь криптографические протоколы безопасности позволяющие твоим данным доходить до конечной точки в целостности, ты используешь браузер как платформу написанную абсолютно на других языках и технологиях, весь интернет оказывается построен на протоколах TCP/IP и твой вай-фай роутер оказывается не таким уж и безопасным как ты себе представлял. У тебя отпадает вопрос почему общаясь с другом по видеосвязи часть данных бесследно теряется, а картинка в формате .jpeg, которую ты сегодня смотрел, оказалась прошла целый ряд трансформаций по сжатию, перед тем как ты ее увидел.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Был ли ты от всего этого абстрагирован? Нет.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"e3e9ff68-c5c5-5712-9f16-ceee1fd1c81d","width":5322,"height":3553,"size":1964358,"type":"jpg","color":"2a2122","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дело в том, что вся реклама которую мы видим направлена на обучение языкам программирования и одни знания позиционируется как полезные, дающее вам рабочие места, другие бесполезные, не дают вам ничего кроме как удовлетворения своего собственного любопытства.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0645cba1-497f-530f-a217-544d31fe1240","width":3768,"height":4710,"size":2315528,"type":"jpg","color":"ada695","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ссылка на оригинал

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":1,"favorites":2,"reposts":0,"views":36,"hits":140,"reads":null,"online":0},"dateFavorite":0,"hitsCount":140,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/475074-kak-izuchat-programmirovanie","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":398061,"customUri":null,"subsiteId":818117,"title":"Физики не существует","date":1649407175,"dateModified":1649407175,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"

Приведу отрывок из книги Лю-Цысинь \"Задача трех тел\", не с целью рекламы. Это то, что заставляет ум бурно размышлять над прочитанным. Итак ниже.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"409a2fa8-cedd-55fd-83c2-513b79da7de1","width":933,"height":765,"size":303470,"type":"png","color":"3c241e","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Ну хорошо, уговорили. В бильярд играете? — Дин подошел к бильярдному столу.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Играл немного в колледже.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— С такого расстояния? Любой неумеха смог бы.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Давайте.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ван взял кий, легонько ударил по белому шару и забил черный в лузу.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Отлично. А теперь перетащим стол в другое место. — Дин взялся за крышку стола, растерянный Ван последовал его примеру. Они передвинули бильярд в другой угол, к окну. Затем Дин снова расставил шары как в первый раз. — Сумеете повторить? — поинтересовался он у Вана.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Само собой.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Валяйте.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И снова Ван легко положил шар в лузу.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дин взмахнул рукой:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Давайте передвинем его еще раз.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Они подняли стол и переставили в третий угол. Дин расположил шары как раньше: — Бейте.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Послушайте, мы...

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Делайте, кому говорят!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ван беспомощно пожал плечами. И опять ему удалось загнать черный шар в лузу.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Отлично, эксперимент окончен. А теперь проанализируем результаты. — Прежде чем продолжить, Дин закурил сигарету. — Мы провели один и тот же опыт пять раз. Четыре из них — в разных местах и в разное время. Два — в одном и том же месте, но в разное время. Ну разве это не потрясающе?! — Он преувеличенно широко развел руки в стороны. — Пять раз! С одним и тем же исходом!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Что вы хотите этим сказать? — недоумевал Ван.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Вы в состоянии объяснить этот невероятный результат? Будьте добры, воспользуйтесь языком физики.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Ладно... В течение этих пяти экспериментов масса обоих шаров оставалась неизменной. Если в качестве системы координат мы выберем крышку стола, то и пространственное положение шаров не менялось. Скорость белого шара, бьющего по черному, тоже оставалась примерно одинаковой. Значит, и перенос импульса между шарами был одним и тем же. Этим обусловливается один и тот же результат: во всех пяти экспериментах черный шар оказался в лузе.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дин взял с пола бутылку бренди и два стакана, налил в оба и один протянул Вану. Тот отказался.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Да ладно вам, давайте отпразднуем! Мы открыли великий принцип: законы физики неизменны в пространстве и времени. Абсолютно все физические законы в истории человечества, начиная с Архимеда до теории струн, все научные открытия и плоды человеческого разума являются побочными продуктами этого великого закона. Профессор, мы теперь можем считать себя теоретиками науки!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

По сравнению с нами Эйнштейн и Хокинг всего лишь заурядные инженеришки.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Я по-прежнему не пойму, к чему вы ведете.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Вообразите себе иные результаты. В первый раз белый шар толкнул черный в лузу. Во второй черный отскочил. В третий черный шар взлетел к потолку. В четвертый он пометался по всей комнате, как испуганный воробей, и канул в ваш карман. И в пятый раз черный шар, набрав скорость, близкую к скорости света, проломил бортик стола, пронзил стену и покинул Землю, а потом и Солнечную систему, как это описал Азимов. Что бы вы тогда сказали?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дин внимательно наблюдал за Ваном. После долгого молчания тот произнес:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Это произошло на самом деле. Я прав?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Дин опустошил оба стакана, которые держал в руках, и уставился на бильярдный стол так, будто ему явился дьявол.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Да. Это произошло. В последние годы у нас появилось новое оборудование для опытной проверки фундаментальных теорий. Были сооружены три чертовски дорогих «бильярдных стола»: один в Северной Америке, другой в Европе и третий — вы его знаете, в Лянсяне. Ваш Исследовательский институт нанотехнологий заработал очень неплохие денежки на поставках для него.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Физики впали в панику. Они бесконечно повторяли опыты, не меняя условий, и каждый раз получали иной результат. Совершенно никакой системы!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Это значит, что законы физики не неизменны в пространстве и времени.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— То есть как это?!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Думаю, дальнейшие выводы вы сможете сделать сами. Даже генерал Чан додумался. В уме ему не откажешь.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ван задумчиво посмотрел в окно. Городские огни затмевали звезды в ночном небе.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

— Это значит, что таких законов физики, которые выполнялись бы в любой точке Вселенной, не существует, что, в свою очередь, значит... что физики не существует, — сказал Ван и отвернулся от окна.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":3,"favorites":0,"reposts":0,"views":46,"hits":1004,"reads":null,"online":0},"dateFavorite":0,"hitsCount":1004,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/398061-fiziki-ne-sushestvuet","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":344589,"customUri":null,"subsiteId":818117,"title":"Как вести учет криптовалютного портфеля в Гугл Таблицах","date":1641572706,"dateModified":1641572706,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"648fd03f-9603-5be9-a9dc-7270de81851c","width":703,"height":440,"size":34258,"type":"png","color":"214c1d","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Введение

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения учета и контроля своего инвестиционного криптопортфеля.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Также существуют инструменты для работы в Google Sheets. В таблицах есть функция GOOGLEFINANCE(\"BTCUSD\"), которая позволяет учитывать курс биржи в паре доллара к биткоину. А в аддонах к таблицам можно найти CRYPTOFINANCE. Эта функция опирается на данные CoinMarketCap и подтягивает их по API. Данные обновляются всякий раз, как вы открываете или перезагружаете документ.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В этой статье я покажу как в гугл таблицах простым способом и бесплатно можно получать информацию по криптовалютным парам.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Бесплатный скрипт

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для учёта инвестиций я написал свой собственный скрипт. Скрипт циклично собирает нужную информацию с криптовалютных бирж посредством API которые они предоставляют. Сейчас скрипт поддерживает 7 криптобирж:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Binance;","Gateio;","Bitfinex;","Poloniex;","Hotbit;","Bittrex;","Kucoin;","FTX;","Bybit;","Huobi;","OKX."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Логика и пример

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Логика здесь предельно простая. Скрипт каждые 5 минут собирает информацию с криптовалютных бирж и обновляет данные в гугл таблице, которую я выложил в открытый доступ - crypto-fans.club coinstat. Таким образом любой желающий может получать актуальную информацию по интересующим его криптовалютам простым копированием данных.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Например, нас интересуют данные с биржи Binance.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Мы создадим новую вкладку в нашей таблице и с помощью формулы перенесём данные из общей таблицы в свою.

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["В гугл таблице, где будет наш криптопортфель, создадим новую вкладку под названием cryptodataBinance (название на свое усмотрение)."],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"6eea9dd0-1020-5d1d-a904-124760fc3acf","width":329,"height":95,"size":4511,"type":"png","color":"1e3333","hash":"","external_service":[]}}}]}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["В ячейке А1 вводим формулу которая скопирует данные по бирже Binance, из вкладки общего файла, в наш файл с криптопортфелем"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

=IMPORTRANGE(\"https://docs.google.com/spreadsheets/d/1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ/edit?usp=sharing\"; \"cryptodataBinance!A1:Z5000\")

"}},{"type":"link","cover":false,"hidden":false,"anchor":"","data":{"link":{"type":"link","data":{"url":"https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ%2Fedit%3Fusp%3Dsharing%26ref%3Dvc.ru&postId=344589","title":"crypto-fans.club coinstat","description":"cryptodataBinance id,symbol,price,change7d,change30d,time1d,time7d,time1m,time5min,change1d,time1sec 5394648,ETHBTC,0.066226,,,19066,2723,626,5491207,0.194,1647362104 5394649,LTCBTC,0.002721,,,19066,2723,626,5491207,1.568,1647362104 5394650,BNBBTC,0.009449,,,19066,2723,626,5491207,-0.074,1647362104","image":{"type":"image","data":{"uuid":"https://leonardo.osnova.io/ico/docs.google.com","width":0,"height":0,"size":0,"type":"jpg","color":"","hash":"","external_service":[]}},"v":1,"hostname":"docs.google.com"}}}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"69776642-e587-53ca-b217-a1efafd2881d","width":1600,"height":457,"size":86326,"type":"png","color":"ecefed","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь при обновлении скриптом общего файла гугл таблиц, данные будут обновляться и в нашей вкладке в гугл таблице с портфелем. Это как я уже писал выше будет происходить каждые 5 минут.

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Теперь, допустим в нашем криптопортфеле мы хотим вывести значение торгового курса пары BTCBUSD. Для этого, в ячейку где хотите отображать значение курса btcbusd, вносим следующую формулу:"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

=INDEX(cryptodataBinance!$A$1:$Z, MATCH(\"btcusdt\",cryptodataBinance!$B$1:$B,0), 3)

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"4210e227-b611-5ba0-aa5a-2bffd475afe4","width":1123,"height":243,"size":11267,"type":"png","color":"f0efef","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Данная формула ищет во вкладке cryptodataBinance, которую мы создали в нашем файле, торговую пару btcusdt по всему столбцу B. Если торговая пара в столбце найдена, то берутся данные в той же строке только из третьего столбца C, а это именно цена данной торговой пары. Очень просто. Закрепим двумя примерами, так будут выглядеть формулы для Harmony к Binance USD и Ankr к Bitcoin.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

=INDEX(cryptodataBinance!$A$1:$Z, MATCH(\"onebusd\",cryptodataBinance!$B$1:$B,0), 3)

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

=INDEX(cryptodataBinance!$A$1:$Z, MATCH(\"ankrbtc\",cryptodataBinance!$B$1:$B,0), 3)

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Пример портфеля

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот так примерно я оформил свой портфель:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"e4e443e9-2901-5c90-af86-790d3e1c2b0b","width":1600,"height":1331,"size":326800,"type":"png","color":"cadcd8","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Кстати, если Вас раздражают лишние вкладки в гугл таблицах, то их можно скрыть. Кликаем правой кнопкой по вкладке cryptodataBinance и выбираем Скрыть лист.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"16a58579-8f74-517a-a7b0-2288a64ace42","width":477,"height":621,"size":20972,"type":"png","color":"1e2631","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь данную вкладку можно будет найти кликнув на кнопку в левом нижнем углу.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"24668efe-e4ee-5c67-a8c4-7a397bbaea5c","width":450,"height":482,"size":14668,"type":"png","color":"f1f2f0","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Заключение

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":109,"favorites":22,"reposts":0,"views":46,"hits":28155,"reads":null,"online":0},"dateFavorite":0,"hitsCount":28155,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id818117/344589-kak-vesti-uchet-kriptovalyutnogo-portfelya-v-gugl-tablicah","author":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":818117,"name":"Виктор Обломов","nickname":null,"description":"https://crypto-fans.club/","uri":"","avatar":{"type":"image","data":{"uuid":"4f73f7f9-3eb4-5469-9928-fd2661d001cd","width":200,"height":200,"size":9521,"type":"jpg","color":"1a1e26","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4619678,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4619678"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":995591,"userId":818117,"count":0,"shareImage":"https://api.vc.ru/achievements/share/995591"}],"lastModificationDate":1764937600,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":16}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}}],"cursor":"PuR2GsZKFTvhhGlVAYvq4drVS6IzQAa09I6wtbz/zlbeaPDONLWqxkhc4G1Ek24=","isAnonymized":true}};