Я пробовал научиться слепой печати несколько раз и сдавался. Но наконец-то научился
Привет, я разработчик этого приложения. Я всегда хотел научиться слепой печати и пробовал несколько раз за эти годы.
Первый раз ещё в школе — увидел те приложения, где на тебя летят буквы и ты их сбиваешь нажатием нужной клавиши. Выглядело прикольно, попробовал, потом подумал «а зачем мне это вообще» и бросил.
Потом поступил в универ на программирование и подумал — ладно, это реально полезно. Начал использовать десктопные приложения, где ты просто долбишь одни и те же клавиши снова и снова. F и J, снова и снова. Прогресс был, но это было просто мучение. Прошёл может половину букв и сдался. Пробовал ещё несколько раз после этого — тот же результат, каждый раз с мыслью «ну вот сейчас точно-точно пройду», но не проходил. Это просто сводило с ума.
Потом надолго забил.
Как-то раз я был на хакатоне, и там было такое развлечение — нужно было напечатать предложение как можно быстрее, люди соревновались. Фишка была в том, что клавиатура была без подписей на клавишах вообще. Пустые кейкапы. И я заметил что в интернете продаётся куча механических клавиатур именно таких — без надписей, без гравировки. Мой коллега сказал что умеет печатать не глядя. Оказалось, он не учил слепую печать как метод — просто за годы набора запомнил где какие клавиши. Думаю, многие кто много печатает, приходят к этому сами, без всякого обучения.
Этот момент снова заставил меня захотеть научиться. Стал искать, где можно обучиться, с новой надеждой что в этот раз смогу. Честно, посмотрел много интерфейсов — не скажу что попробовал все, но кое-что попробовал, где-то больше, где-то меньше.
Честно, я не верил что когда-то смогу. Но скажу вам — до этого мне всегда почему-то попадались приложения, которые начинались вот с этих двух клавиш с пупырышками, ну вы знаете, куда надо ставить указательные пальцы. И впервые встретив метод, где это было не так, я подумал — что за фигня, это не будет работать. Но продолжал. Суть в том, что ты печатаешь настоящие слова с самого начала, составленные из самых частых букв языка. То есть практикуешь буквы, которые реально будешь использовать, сразу. Сначала непривычно, особенно тянуться к клавишам за пределами домашнего ряда. Но дискомфорт уходит быстрее, чем думаешь, мышечная память начинает работать, и набор просто... происходит. Этот метод абсолютно не новый, и многие обучалки делают так — не знаю почему я раньше не встречал.
И честно — это сработало. Не скажу что я махом всё завершил, и завершил только английский, потому что программист и мне он больше нужен. Русский до сих пор в процессе.
Главное — практиковаться каждый день и не делать длинных перерывов. Не гнаться за скоростью в начале — просто смотреть какой твой естественный темп и притормаживать, если какая-то буква не идёт.
Давайте сразу скажу — это учит вас печатать, но если вы программист, вы используете кучу других комбинаций от IDE, лезете в клавиши F1, F2 и пользуетесь стрелками. Десятипальцевый метод вам в этом не очень поможет — проверено на себе. Умея печатать на английском, мне лично не очень удобно делать Alt+F7 в IDEA, да и многие другие клавиши. Этому надо как-то учиться отдельно, и я пока в размышлениях — можно ли вообще это натренировать или стоит смотреть в сторону Vim. Но десятипальцевый полезен, если вы набираете статьи, просто сёрфите или промтите для ИИ — очень полезно. Хотя некоторые скажут, что есть уже войс-мод, но лично я люблю больше печатать, чем говорить — у меня получается точнее, да и некоторые файлы проще написать, чем диктовать длинные названия.
И возникла идея — применить частотный метод, как делают некоторые, но дать чёткий прогресс и этапы прохождения. Так я и начал разработку.
Метод далеко не нов, многие приложения используют частотный порядок, и моё личное мнение — это хорошо работает. Главное не стремиться быстро печатать в самом начале. Первая и главная цель — просто завершить на какой-то приемлемой скорости. Если долго не получается — просто уменьшите целевую скорость. Начинаем с букв, переходим на заглавные, потом цифры и пунктуация. Все части я буду улучшать или менять, будущее покажет.
Почему я вообще за это взялся? Честно — у меня нет работы, и с текущей ситуацией в семье я не готов идти куда-то в офис. Ну и подумал — если я уже знаю как это должно работать, почему бы не сделать самому. Заодно это проект в портфолио и возможность попробовать новый стек.
Почему Go, Yandex Cloud и YDB
У меня бэкграунд Java-разработчика, работал с Amazon. Но посмотрев, что можно использовать в России, выбор пал на Yandex Cloud — я планирую в дальнейшем искать работу здесь и решил ознакомиться, где сейчас Яндекс и что он предлагает.
Посмотрев сколько стоят виртуальные решения, я понял что позволить себе их не могу — из-за семейных обстоятельств я сейчас не работаю, и бюджет ограничен. Не знаю, будет ли проект приносить какие-то деньги. С PostgreSQL та же история — стоит дорого для моего случая. Да, я бы выбрал именно эту связку — Java, Spring Boot, PostgreSQL — если бы мог себе позволить. Поэтому стал смотреть в сторону серверлесса.
Spring Boot сразу отпадал из-за холодного старта — на непрогретом, только запущенном контейнере всё работало бы очень медленно. Погуглив, початившись с ИИ и посмотрев тренды, я решил попробовать Go и был очень удивлён, насколько он шустрый — и в плане компиляции, и в плане выполнения. Поэтому я стал использовать Docker-контейнер с Go и Serverless Containers от Яндекса. У них есть и долгоживущие контейнеры, но там совсем другие цены.
СУБД тоже пришлось поменять — стал использовать YDB. Честно, я не прочитал внимательно концепты и стал разрабатывать как будто это PostgreSQL. После деплоя посмотрел на потребление Request Units и просто офигел — пользователь сжигал бы миллион бесплатных юнитов очень быстро. Я очень много провозился с YDB и оптимизацией. Да, если бы я мог использовать просто PostgreSQL, было бы проще, но пришлось изворачиваться. Когда используешь распределённые системы вроде YDB, приходится менять и архитектуру, и схему — на это ушло очень много времени.
Это собственно то, вокруг чего я построил TypeStep. Сейчас доступно 10 бесплатных сессий в день — достаточно чтобы попробовать и понять, подходит ли вам. Я не миллионер и плачу за серверы из своего кармана, так что вечно так не протянуть, особенно пока приложение ничего не зарабатывает. Но прямо сейчас мне важнее всего обратная связь — попробуйте, напишите в комментариях что понравилось, что бесит, чего не хватает. Любой фидбек помогает.
А, и ещё — не расстраивайтесь когда упрётесь в лимит. Потыкайте вокруг.