cherkashin.dev
2.12K subscribers
250 photos
15 videos
276 links
Александр Черкашин. Бойскаут, Борец с перфекционизмом.

Для связи 👉 @cherkalexander

Фулстек разработчик в decisions.com. Работаю со стеком TypeScript, React, C#

Пишу о программировании и не только.


Блог: https://cherkashin.dev
Download Telegram
Отдельная страница для задач в Обсидиан

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

Я использовал Notion, как менеджер задач, и эта возможность была критически важной для меня - работая над сложными задачами, я всегда делаю заметки:

- разбиваю на подзадачи
- записываю нюансы, на которые я наткнулся
- помечаю, какие тесты необходимо написать

Хотя в обсидиан это не поддерживается из коробки, но всё же достаточно легко реализуется:

- Для задач использую obsidian-tasks плагин, по сути это просто ToDo лист
- Если нужно сделать много записей по задаче или приложить скриншоты - то просто превращаем задачу в ссылку на заметку
- Оборачиваем задачу в Wikilink [[]] и нажимаем на неё, заметка с именем задачи создастся автоматически
- Заметка создастся в стандартной папке для заметок, папку можно задать в Settings => Files and links => Folder to create new notes in.

#obsidian #notion

@cherkashindev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
Выходной в Пятницу

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

В итоге:
- пересмотрел пару серий Игры престолов. Одичалые штурмуют стену, а Тириона Ланнистера хотят казнить.
- разобрал (почти) рабочий стол на ноуте
- удалил всякого мусора на 40 Гб
- съездил на теннис, зная, что мне не нужно мчаться на работу
- разобрал чеки и справки, которые лежали пару месяцев в ящике
- записался в больницу
- выставил ненужный хлам на авито
- а ещё нашел #obsidian плагин 🚀, который умеет в мультикурсор, прям как VS Code (CMD/CTRL + D), нужно только настроить горячие клавиши
- а теперь пойду забью кальян, пятница же

Жаль, что каждую пятницу так делать не прокатит 😅.

P.S. Ходят слухи, что некоторые компании практикуют 4-х дневную рабочую неделю, вы работали в таких? Или может хотя бы слышали? Куда слать резюме? 😄

UPD: ссылку на плагин добавил

#about_me

@cherkashindev
1👍6🔥63
Этот самурай незаметно пробрался в квартиру прошлой ночью. К счастью, мы с женой не пострадали, чего нельзя сказать о старом кресле ...

#workingplace

@cherkashindev
🔥15😁52
✉️ Реализация инбокса в Obsidian с помощью Apple Shortcuts

Те, кто давно на меня подписан могут помнить, что я рассказывал как настроить Inbox для Notion с помощью Apple Shortcuts (тут и тут).

Если кратко — Apple Shortcuts позволяет делать автоматизации, которые, например, можно запускать нажатием на ярлык. Для Notion автоматизация была простая:
- Показывается текстовое поле
- Мы вводим свою заметку
- Вызывается API Notion и заметка добавляется в базу данных Inbox

Когда я начал мигрировать на Obsidian, всё это конечно перестало работать. Казалось, что придётся делать заметки в Apple Notes а затем ручками переносить всё в Obsidian.

Но после того, как настроил интеграцию Obsidian с GitHub понял, что можно добавлять заметки напрямую в GitHub репозиторий через GitHub API.

И это сработало, пришлось лишь сильно поменять реализацию шортката. Теперь это работает так:
- Показывается текстовое поле
- Мы вводим текст заметки
- Он кодируется в base64, так требует GitHub API
- Получаем текущую дату, она будет являться именем заметки
- Формируем URL для создания файла в репозитории — https://api.github.com/repos/{owner}/{repo}/contents/{path}
- Отправляем запрос, предварительно нужно сгенерировать GitHub Access Token.
- При открытии Obsidian сделает pull из репозитория и заметка отобразится в папке Inbox, или можно сделать pull вручную
- Готово 🚀

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

#obsidian #nocode #planning

@cherkashindev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍12🔥4
Я уже года 4 плачу за свой домен cherkashin.dev, где хостится мой мертвый и убогий блог, который я сделал во время ковида, и с тех пор ни разу не трогал. В то время я не слышал про 11ty, а Astro ещё не появился. ChatGPT тоже ещё не было, поэтому — я погуглил, поспрашивал знакомых и взял Jekyll.

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

Этим летом я сходил на конфу подлодки и узнал про Astro. Нашёл темплейт и потихоньку мигрирую. На скрине текущее состояние блога.

Кстати, если вы используете Astro и вам нужна аналитика, то @xufostation есть Astro плагин для Яндекс Метрики. У плагина пока мало звезд — поэтому давайте исправим это. Нам не сложно, а автору будет приятно.

https://github.com/ufocoder/astro-yandex-metrika

#блог #astro

@cherkashindev
9👍2
// @ts-nocheck

Помню, когда я только начал изучать TypeScript, мне часто попадалась фраза: "TypeScript — это надмножество JavaScript, и любой корректный JavaScript-код является также корректным TypeScript-кодом". В общем, если надоел JavaScript — меняешь расширение файла с .js на .ts и радуешься жизни (или нет).

Вчера поздним вечером я копался в нашем легаси, некоторому коду лет 10, а то и больше. И я вспомнил, как лет 6 назад менял расширение этих файлов на .ts.

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

Но в версии 3.7 TypeScript появилась директива // @ts-nocheck. Просто добавляешь её в начале файла, и проверка типов отключается, и можно постепенно мигрировать на TS.

Потом переписывать их на TS, конечно же, никто не собирался 😄

#typescript
😁266
return Promise 🆚 return await Promise

Что будет выведено в консоль?


async function test1() {
console.log('start-1');
return Promise.resolve();
}

async function test2() {
console.log('start-2');
return await Promise.resolve();
}

test1().then(() => console.log('done-1'));
test2().then(() => console.log('done-2'));

console.log('end');


@cherkashindev

#typescript
🔥7
Media is too big
VIEW IN TELEGRAM
Сейчас темп жизни такой, что на всё не хватает времени. И чтобы сэкономить время на уборке, в прошлом году я раскошелился и решил заменить свой старый робот-пылесос Xiaomi (который штурмовал каждую неровность) на новый, более современный.

После просмотра кучи обзоров остановился на DreamBot L10s Ultra. Если кратко о его использовании:
- чистой воды налил
- грязную вылил
- мешок для мусора вставил (раз в пол года)
а дальше он все сам:
- воды наберет
- мусор выгрузит
- даже тряпки сам помоет и высушит.

В общем, чая навели, пылесос включили и пошли на стендап.

---

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

О продукте:
- Продукт для мониторинга упоминания компаний в соц сетях. 
- Задача продукта – с помощью AI помочь бизнесу упростить процесс маркетинговых исследований для понимания и управления репутацией своих продуктов.

О позиции:
- требуется Senior Frontend разработчик 
- стек — React, TypeScript, Next.js
- опыт разработки интерактивных дашбордов
- зарплата ~$5000
- удаленка, гибкий график
- разные варианты трудоустройства
- хороший английский

Полное описание вакансии и как откликнуться — в комментарии к посту, если что-то непонятно пишите в личку @cherkalexander.

#about_me #вакансия
👍11🔥73
В прошлом месяце я писал, что постепенно пытаюсь оживить свой блог и переписываю его на Astro.

Обычно я закапываюсь, чтобы довести что-то до конца. Например, если это пост или статья — нужно посмотреть 100500 видео и статей, чтобы во всём разобраться.

В этот раз я подумал, что "Лучшее — враг хорошего." и решил, что для блога будет достаточно MVP:
- Перенёс все статьи
- Добавил секцию с проектами
- Поправил стили

Далее в планах:
- Прикрутить комментарии
- Опубликовать CV
- Реализовать кнопку Share
- Добавить какую-нибудь пасхалку в консоль, куда ж без этого. Есть идеи? 😄

Кстати, если вы переписываете блог, не забудьте убедиться, что ссылки на ваши старые статьи работают. Например, у Jekyll и Astro — разные форматы URL, поэтому чтобы старые ссылки не сломались нужно использовать редиректы:

//astro.config.mjs

export default defineConfig({
redirects: {
'/old-page': '/new-page'
}
});


P.S. Если знаете, как прикрутить комментарии и реакции для блога — расскажите в комментариях 👇.

Ссылка на блог

@cherkashindev

#блог #astro
🔥62
В прошлом году мы с женой летали в Стамбул, но запомнил я от силы процентов 10. Фото есть, но хочется запомнить и свои ощущения. В этот раз в Египте я стал делать заметки, и вот дошли руки собрать из них что-то читаемое.

Про почти потерянный ноут вы уже читали 😅.

🧳 Подготовка

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

Решили ехать в:
- Шарм-эль-Шейх
- и Каир

🛩️ План: Москва — Шарм — Каир — Москва

Билеты "Москва — Шарм" на двоих - 100к 😳. Тур туда/обратно — столько же (без отеля). Поэтому мы решили взять тур и отказаться от обратных билетов. Была небольшая надежда, что туроператор вернёт деньги. Этот вариант выгорел пару лет назад в Турции, но тут систему надурить не удалось.

Итог: тур в Шарм, билеты до Каира и Москвы отдельно.

🙏 Ожидания

Я старался не строить завышенных ожиданий от поездки, особенно после того как начитался отзывов интернетных экспертов:

- Одни утверждали, что все будут стараться тебя на**ать (и были не далеки от истины)
- Вторые говорили, что сервис — отстой, а если не оставлять чаевые — то и "под дверью нагадят".

🚧 Если кратко

- Обслуживание — хорошее, под дверью пусто
- Море — пушка, маска для снорклинга — обязательно
- Шарм — класс
- Манго и еда — шик
- Пиво — пойдёт
- Вино — ужас
- Торговцы — наглые
- Для такси — InDrive

🏝️ Шарм

Добрались до отеля мы рано утром. Носильщик донёс чемодан до номера, собрался уходить, но я его остановил и всё-таки дал доллар. Ну на всякий случай.

Немного отдохнув, мы собрали вещи и пошли на пляж. Жена провела мне инструктаж, мол "рыб не трогай, к кораллам не лезь". Я надел маску и сразу полез в воду.

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

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

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

В общем, море — лучшее воспоминание, которое у меня осталось.

🚶 Выходим из отеля — такси и продавцы

Вызвали Такси. Цена в приложении — 105 фунтов. По совету интернетных экспертов уточняю цену до поездки, на что таксист говорит, что это копейки и поедет только за 150. Ок, сторговались на 120.

Едем минут 10, и таксист говорит:
— Слушай, Мухамед (он) - хороший, машина - хороший, ставь мне 5 звёзд
— Да, конечно, обязательно поставлю (нет)
— Ставь, сейчас!

Я немного офигел от наглости, InDrive похоже тоже офигел, заглючил и отрубился.

Доезжаем до Наама Бей. К нам подходит мужчина и говорит, что ещё очень рано и всё закрыто. Мы спросили, где находится аптека и он предложил нас проводить. Слово за слово, и он заводит нас в лавку с маслами. Это — его лавка, он начинает нам показывать сколько у него отзывов, мол купите что-нибудь и идите в аптеку, или хотя бы отзыв оставьте.

Я офигел от наглости 2 раз за 10 минут и игнорил торговцев весь отпуск 😄.

🛬 Вылет в Каир

Мы отлично отдохнули в Шарме и поехали в Аэропорт.

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

Дать на лапу тебя не навязчиво попросят прямо сотрудники аэропорта, которые очень хотят, чтобы ты сэкономил 10 минут фунтов за 300. В остальном — всё как в обычном аэропорте.

----

На сегодня всё. Шукран, что дочитали 👋.
А где вы провели последний отпуск

#travelling

@cherkalexander
5👍134🔥1😁1🌚1