Инструмент, который превращает ваш профиль на GitHub в портфолио
Интересная штука, которую откапал на просторах GitHub. В репозитории проекта есть все инструкции по настройке и запуску, также интерактивное демо
https://github.com/imfunniee/gitfolio
Интересная штука, которую откапал на просторах GitHub. В репозитории проекта есть все инструкции по настройке и запуску, также интерактивное демо
https://github.com/imfunniee/gitfolio
Говорят что знание SQL поднимает потенцию у мужчин и увеличивает грудь у женщин.
Давайте проверим, так ли это. Вот вам отличный тренажер на английском языке для изучения SQL
https://sqlbolt.com/
Давайте проверим, так ли это. Вот вам отличный тренажер на английском языке для изучения SQL
https://sqlbolt.com/
В догонку к вчерашнему посту
Вот вам подборка основных команд, которые часто используются при разработке. Можно использовать как шпаргалку для собеседований.
Сохрани чтобы не потерять.
👆Click
Вот вам подборка основных команд, которые часто используются при разработке. Можно использовать как шпаргалку для собеседований.
Сохрани чтобы не потерять.
👆Click
Всем привет!
Поздравляю всех с наступающим 2022 годом!!!🥂
Хочу пожелать вам крутых достижений в работе и учебе, интересных проектов и счастливого релиза!
Пусть в этом году мы все достигнем чего-то, чем будем гордиться.
Ну а я постараюсь радовать вас новым полезным контентом и надеюсь запущу задуманные проекты для вас.😁
Поздравляю всех с наступающим 2022 годом!!!🥂
Хочу пожелать вам крутых достижений в работе и учебе, интересных проектов и счастливого релиза!
Пусть в этом году мы все достигнем чего-то, чем будем гордиться.
Ну а я постараюсь радовать вас новым полезным контентом и надеюсь запущу задуманные проекты для вас.😁
Всем привет.
Много времени прошло с момента последнего моего поста. И достаточно много печальных событий уже произошло...
В связи с этим, подумал написать простую инструкцию по тому как развернуть свой VPN сервер. Я понимаю, что сейчас многим может быть не до этого, но в России сейчас много информационных ресурсов блокируют и эту блокировку можно обойти только благодаря VPN.
Вам была бы полезна данная инструкция?
Да - 121
👍👍👍👍👍👍👍👍 94%
Нет - 8
👍 6%
👥 129 человек уже проголосовало.
Много времени прошло с момента последнего моего поста. И достаточно много печальных событий уже произошло...
В связи с этим, подумал написать простую инструкцию по тому как развернуть свой VPN сервер. Я понимаю, что сейчас многим может быть не до этого, но в России сейчас много информационных ресурсов блокируют и эту блокировку можно обойти только благодаря VPN.
Вам была бы полезна данная инструкция?
Да - 121
👍👍👍👍👍👍👍👍 94%
Нет - 8
👍 6%
👥 129 человек уже проголосовало.
Привет, друзья!
Прошу прощения за длительное молчание — последние два года я был полностью погружен в развитие и улучшение своего бота. За это время я значительно прокачал свои навыки в этой области и набрался кучи интересного опыта.
Хотелось бы узнать, интересно ли вам было бы узнать больше о том, как создаются боты, какие инструменты используются и с какими сложностями можно столкнуться в процессе? Думаю, могу поделиться полезной информацией и инсайтами, которые помогут избежать многих ошибок.
Жду ваших реакций и комментариев!
Прошу прощения за длительное молчание — последние два года я был полностью погружен в развитие и улучшение своего бота. За это время я значительно прокачал свои навыки в этой области и набрался кучи интересного опыта.
Хотелось бы узнать, интересно ли вам было бы узнать больше о том, как создаются боты, какие инструменты используются и с какими сложностями можно столкнуться в процессе? Думаю, могу поделиться полезной информацией и инсайтами, которые помогут избежать многих ошибок.
Жду ваших реакций и комментариев!
Круто, что здесь всё еще есть жизнь! 👍
Думаю, попробую превратить канал в личный блог — посмотрим, как оно пойдет.
Так что же произошло за это время?❓
Забросил канал по разным причинам, но главная — лень. Изначально я хотел создать учебник для тех, кто хочет стать программистом. Предполагалось, что это будет легкий путь смены профессии. Делал задания, находил полезные материалы, мемы, писал обучающие статьи. Одна из них, “Git для новичков”, до сих пор на первых позициях в поиске (да, можете сами убедиться!). Количество ее просмотров просто поражает.
На каком-то этапе я решил автоматизировать этот процесс, потому что, честно говоря, не особо люблю вести соцсети — это реально утомляет. Я начал разрабатывать тренажер, где слева идет задание, а справа — окно для написания кода. Код был почти готов, но я выдохся на этапе создания кучи заданий.☹️
Проект так и остался лежать в Git. Один я не вытянул бы его, да и работа параллельно съедала уйму времени. Позже могу выложить исходники, если вам будет интересно.
А потом, спустя год, наступило 23 февраля 2022 года. Через неделю мне предложили уйти с работы, потому что в компании резко наступил кризис. Пошли слухи о блокировках, в том числе Telegram и "Запретграмма". Тогда я решил настроить VPN для своих близких, чтобы не терять с ними связь, ведь никто не знал, что будет дальше.❓
За день поднял сервер и написал Telegram-бота на PHP. Для backend взял Symfony, а VPN-сервера работали через Outline. Каждый пользователь получал один ключ на подключение, доступный тогда только через сервера в Нидерландах.
Разослал бот друзьям и родным, и всё это было бесплатно. За день до блокировки попросил друзей поделиться ботом в сторис — и тут начался настоящий хаос.
За первый месяц ботом воспользовались больше 7000 человек. Я и не думал, что это всё так разрастется. Каждый день покупал новые сервера, потому что старые были переполнены. Этот месяц был полным огнем и хаосом🔥 .
В следующий раз постараюсь выдать чуть больше технички, а то и так много текста получилось.
Ведь все мы знаем, как люди не любят читать)
Если интересно, что было дальше — ставьте лайки!👍
Думаю, попробую превратить канал в личный блог — посмотрим, как оно пойдет.
Так что же произошло за это время?
Забросил канал по разным причинам, но главная — лень. Изначально я хотел создать учебник для тех, кто хочет стать программистом. Предполагалось, что это будет легкий путь смены профессии. Делал задания, находил полезные материалы, мемы, писал обучающие статьи. Одна из них, “Git для новичков”, до сих пор на первых позициях в поиске (да, можете сами убедиться!). Количество ее просмотров просто поражает.
На каком-то этапе я решил автоматизировать этот процесс, потому что, честно говоря, не особо люблю вести соцсети — это реально утомляет. Я начал разрабатывать тренажер, где слева идет задание, а справа — окно для написания кода. Код был почти готов, но я выдохся на этапе создания кучи заданий.
Проект так и остался лежать в Git. Один я не вытянул бы его, да и работа параллельно съедала уйму времени. Позже могу выложить исходники, если вам будет интересно.
А потом, спустя год, наступило 23 февраля 2022 года. Через неделю мне предложили уйти с работы, потому что в компании резко наступил кризис. Пошли слухи о блокировках, в том числе Telegram и "Запретграмма". Тогда я решил настроить VPN для своих близких, чтобы не терять с ними связь, ведь никто не знал, что будет дальше.
За день поднял сервер и написал Telegram-бота на PHP. Для backend взял Symfony, а VPN-сервера работали через Outline. Каждый пользователь получал один ключ на подключение, доступный тогда только через сервера в Нидерландах.
Разослал бот друзьям и родным, и всё это было бесплатно. За день до блокировки попросил друзей поделиться ботом в сторис — и тут начался настоящий хаос.
За первый месяц ботом воспользовались больше 7000 человек. Я и не думал, что это всё так разрастется. Каждый день покупал новые сервера, потому что старые были переполнены. Этот месяц был полным огнем и хаосом
В следующий раз постараюсь выдать чуть больше технички, а то и так много текста получилось.
Ведь все мы знаем, как люди не любят читать)
Если интересно, что было дальше — ставьте лайки!
Please open Telegram to view this post
VIEW IN TELEGRAM
И так, продолжаю рассказывать о том, как я создавал своего бота.
❗️ Внимание: здесь будет много технички, но я постараюсь объяснить всё просто.
Первую версию бота я сделал с помощью Symfony, MySQL, RabbitMQ и Docker.
• Symfony на тот момент я знал не очень хорошо. Подключил к нему Doctrine для работы с базой данных MySQL, Messenger для связи с RabbitMQ и использовал пакет boshurik/telegram-bot-bundle для создания Telegram-бота.
• MySQL выбрал по привычке с прошлых проектов на Bitrix. Создал две таблицы: User и Key. Потом добавил третью — Server. Решил, что всё должно быть анонимно, поэтому собирал только Telegram ID пользователей. Позже добавил поля Email (для отправки электронных чеков) и Language (для поддержки разных языков).
• RabbitMQ использовал для обработки очереди сообщений от пользователей и рассылок.
• Docker применял для разработки на своём компьютере, и первая версия бота работала внутри контейнера. Сейчас всё переехало на Kubernetes (k8s).
🎶 После покупки домена арендовал два сервера: один для бота, другой для Outline. Сначала установил Outline через Outline Manager на DigitalOcean, но потом пришлось переехать на другой хостинг по двум причинам:
1. Лимит трафика: 7000 пользователей очень быстро его сжирали.
2. Нарушение правил хостинга: какой-то"хрен" 🤬 начал качать торренты через сервер, за что мне от DigitalOcean прилетело "письмо счастья" на почту. Хорошо, что это было лишь предупреждение, а не штраф)
Интегрировать Symfony с Outline оказалось несложно благодаря открытому коду последнего и хорошей документации по API. Но пришлось дорабатывать функционал, так как изначально нельзя было отключать и включать выданные ключи. Поэтому я освежил свои знания по Node.js и начал изучать TypeScript.
Схема работы получилась следующая:
1. Пользователь пишет боту сообщение или вводит команду /start.
2. Telegram отправляет данные на мой webhook, который обрабатывается с помощью boshurik/telegram-bot-bundle.
3. Пакет вызывает событие UpdateEvent, которое я обрабатываю и отправляю пользователю сообщения с кнопками.
4. Когда пользователь нажимает кнопку “Получить ключ”, бот обращается к API Outline, выдаёт ключ и сохраняет его в базе данных. База данных служит как кэш, чтобы ускорить работу.
В следующий раз расскажу подробнее про трудности, с которыми столкнулся, и как я их решал😉
Если вам интересно — ставьте лайк!👍
Первую версию бота я сделал с помощью Symfony, MySQL, RabbitMQ и Docker.
• Symfony на тот момент я знал не очень хорошо. Подключил к нему Doctrine для работы с базой данных MySQL, Messenger для связи с RabbitMQ и использовал пакет boshurik/telegram-bot-bundle для создания Telegram-бота.
• MySQL выбрал по привычке с прошлых проектов на Bitrix. Создал две таблицы: User и Key. Потом добавил третью — Server. Решил, что всё должно быть анонимно, поэтому собирал только Telegram ID пользователей. Позже добавил поля Email (для отправки электронных чеков) и Language (для поддержки разных языков).
• RabbitMQ использовал для обработки очереди сообщений от пользователей и рассылок.
• Docker применял для разработки на своём компьютере, и первая версия бота работала внутри контейнера. Сейчас всё переехало на Kubernetes (k8s).
1. Лимит трафика: 7000 пользователей очень быстро его сжирали.
2. Нарушение правил хостинга: какой-то
Интегрировать Symfony с Outline оказалось несложно благодаря открытому коду последнего и хорошей документации по API. Но пришлось дорабатывать функционал, так как изначально нельзя было отключать и включать выданные ключи. Поэтому я освежил свои знания по Node.js и начал изучать TypeScript.
Схема работы получилась следующая:
1. Пользователь пишет боту сообщение или вводит команду /start.
2. Telegram отправляет данные на мой webhook, который обрабатывается с помощью boshurik/telegram-bot-bundle.
3. Пакет вызывает событие UpdateEvent, которое я обрабатываю и отправляю пользователю сообщения с кнопками.
4. Когда пользователь нажимает кнопку “Получить ключ”, бот обращается к API Outline, выдаёт ключ и сохраняет его в базе данных. База данных служит как кэш, чтобы ускорить работу.
В следующий раз расскажу подробнее про трудности, с которыми столкнулся, и как я их решал
Если вам интересно — ставьте лайк!
Please open Telegram to view this post
VIEW IN TELEGRAM
Думали, я пропал? А нет... (наебал 😉 )
Продолжаем! Первые трудности... 🚧
После резкого наплыва пользователей, к которому я не был готов, пришлось открывать новые серверы. 💻🌐
Как я писал ранее, поначалу я использовал Digital Ocean. Там одна нода (сервер) держала достаточно много пользователей, но нужно было переезжать по двум причинам:
1️⃣ Ограничение трафика. Пользователи быстро его сжирали. Поэтому я создавал новые ноды. 📈💥
2️⃣ Нарушение правил. Пользователи качали торренты, из-за чего мне прилетело "письмо счастья" и попросили молча закрыть серверы. 📩🚫
Проблема первая: Поиск серверов. 🔍🖥
Нужно было найти хостинг с VPS/VDS с безлимитным трафиком и где не будут придираться. Для этого пришлось прошерстить законодательства на предмет штрафов за пиратский контент. Я выбрал 🇳🇱Нидерланды. Затем искал хостинг, где будет хороший канал связи минимум 100 Мб/с. ⚡️
Через неделю я арендовал первый сервер. Написал скрипт для переноса ключей пользователей. Запустился! 🚀
Проблема вторая: Высокая нагрузка. 📊🔥
Оказалось, что сервер не может выдержать такое количество пользователей. Я начал арендовать новые серверы и постепенно перекидывать туда пользователей. Опытным путем выяснил, что один сервер (самый дешевый) выдерживает примерно 500 пользователей. На тот момент база состояла примерно из 1000 пользователей. Напомню, что в день приходило примерно по 250–400 новых пользователей. Поэтому каждый день я после работы открывал новые серверы и перенастраивал бота, чтобы у новых пользователей создавались ключи уже на новых серверах. 😅🛠 В какой-то момент я сразу создавал несколько серверов с заделом на будущее. Тогда бот еще не умел автоматически балансировать нагрузку по выпуску ключей, поэтому приходилось все делать вручную. 🤖👐
Проблема третья: Финансы. 💰💸
Так как бот был бесплатным, я не хотел оплачивать все из своего кармана. Поэтому было решено создать рассылку для сбора донатов и отправлять ее раз в месяц. В итоге донатов вполне хватало, чтобы окупать всю инфраструктуру, и проблема была решена. 🎉🙏
Проблема четвертая: Время. ⏰⌛️
Из-за того, что рост был слишком быстрым, открытие новых серверов и постоянная перенастройка бота занимали много времени. В какой-то момент я просто устал от этого и решил все автоматизировать. Арендовал еще несколько серверов, но уже с лучшей конфигурацией. Дописал бота, чтобы он научился балансировать нагрузку. Тогда это работало на основе количества выпущенных ключей на сервере. Бот искал сервер с минимальным количеством ключей и создавал новый ключ на нем. 🤖⚖️
Сейчас этот алгоритм работает еще более хитро. В итоге это сократило мое время на поддержку бота в разы. 🥳⏳
О других проблемах расскажу в следующий раз! 😉
Пишите комментарии, о чем еще хотели бы узнать, и ставьте лайки! 👍❤️
Продолжаем! Первые трудности... 🚧
После резкого наплыва пользователей, к которому я не был готов, пришлось открывать новые серверы. 💻🌐
Как я писал ранее, поначалу я использовал Digital Ocean. Там одна нода (сервер) держала достаточно много пользователей, но нужно было переезжать по двум причинам:
1️⃣ Ограничение трафика. Пользователи быстро его сжирали. Поэтому я создавал новые ноды. 📈💥
2️⃣ Нарушение правил. Пользователи качали торренты, из-за чего мне прилетело "письмо счастья" и попросили молча закрыть серверы. 📩🚫
Проблема первая: Поиск серверов. 🔍🖥
Нужно было найти хостинг с VPS/VDS с безлимитным трафиком и где не будут придираться. Для этого пришлось прошерстить законодательства на предмет штрафов за пиратский контент. Я выбрал 🇳🇱Нидерланды. Затем искал хостинг, где будет хороший канал связи минимум 100 Мб/с. ⚡️
Через неделю я арендовал первый сервер. Написал скрипт для переноса ключей пользователей. Запустился! 🚀
Проблема вторая: Высокая нагрузка. 📊🔥
Оказалось, что сервер не может выдержать такое количество пользователей. Я начал арендовать новые серверы и постепенно перекидывать туда пользователей. Опытным путем выяснил, что один сервер (самый дешевый) выдерживает примерно 500 пользователей. На тот момент база состояла примерно из 1000 пользователей. Напомню, что в день приходило примерно по 250–400 новых пользователей. Поэтому каждый день я после работы открывал новые серверы и перенастраивал бота, чтобы у новых пользователей создавались ключи уже на новых серверах. 😅🛠 В какой-то момент я сразу создавал несколько серверов с заделом на будущее. Тогда бот еще не умел автоматически балансировать нагрузку по выпуску ключей, поэтому приходилось все делать вручную. 🤖👐
Проблема третья: Финансы. 💰💸
Так как бот был бесплатным, я не хотел оплачивать все из своего кармана. Поэтому было решено создать рассылку для сбора донатов и отправлять ее раз в месяц. В итоге донатов вполне хватало, чтобы окупать всю инфраструктуру, и проблема была решена. 🎉🙏
Проблема четвертая: Время. ⏰⌛️
Из-за того, что рост был слишком быстрым, открытие новых серверов и постоянная перенастройка бота занимали много времени. В какой-то момент я просто устал от этого и решил все автоматизировать. Арендовал еще несколько серверов, но уже с лучшей конфигурацией. Дописал бота, чтобы он научился балансировать нагрузку. Тогда это работало на основе количества выпущенных ключей на сервере. Бот искал сервер с минимальным количеством ключей и создавал новый ключ на нем. 🤖⚖️
Сейчас этот алгоритм работает еще более хитро. В итоге это сократило мое время на поддержку бота в разы. 🥳⏳
О других проблемах расскажу в следующий раз! 😉
Пишите комментарии, о чем еще хотели бы узнать, и ставьте лайки! 👍❤️
Итак, продолжаю историю про развитие моего бота. 🚀
Кратко о предыдущем посте:
• Аудитория растет 📈
• Купил сервера с запасом на свои деньги 💸
• Бот бесплатный, но есть возможность поддержать донатом 💰
После первых трудностей бот работал сам по себе около полугода. Я никогда раньше не запускал проект в одиночку. Был опыт запуска новых проектов в команде, где я работал по найму, но одиночку никогда. Поэтому я быстро выгорел от бессонных ночей и постоянного стресса. 😅
Version 2.0
Через полгода мне стало скучно, и я решил переписать всё с нуля. 😎 Код был полон багов, и добавление новых фич стало адом. Так как бот был написан за один вечер, каждая новая функция занимала у меня почти 2 недели! 😤
Я полностью стёр весь код и начал писать все заново. Стек технологий остался прежним, но в этот раз я продумал всю систему на бумаге, а затем приступил к разработке. Это заняло у меня около 2 месяцев. ✍️
Появились новые фичи:
• Логирование ошибок 📋
• Уведомления для пользователей и админов об ошибках 🚨
• История действий пользователей 🕵️♂️
• Админка внутри бота, где можно было управлять ключами, мониторить активность серверов и скорость их работы ⚙️
• Оптимизации, которые ускорили работу бота ⚡️
• Главная фича — смена страны 🌍. Теперь можно было выпускать ключи для разных стран.
После этого нужно было перенести пользователей со старого бота на новый, чтобы ничего не сломалось. На миграцию ушло ещё полмесяца.
Но, как водится, в день запуска всё пошло не по плану. 😅 Начались ошибки, но, к счастью, всё решилось за один вечер.🌙
После этого бот стал работать стабильнее, отвечал быстрее, а пользователи остались довольны.😎 👍
Однако оставалась одна большая проблема. Многие пользователи, особенно старшего возраста, не понимали, как добавить ключ в приложение. 😕 Молодежь справлялась быстро, но старшему поколению было сложно. Нужно было:
1. Обучить пользователей добавлять и менять ключи 📝
2. Сократить количество действий до запуска подключения по ключу 🛠
Для этого я оптимизировал меню бота и добавил инструкции, которые должны были помочь пользователю сократить время.
Параллельно с этим ломались сервера из-за проблем с хостингом, и мне приходилось разбираться с техподдержкой. 🛠
Проработав так ещё 4 месяца, я снова выгорел. 😩 Но впереди было самое интересное — введение оплаты! 💵
И тут начиналось самое интересное:
• Поиск юристов и бухгалтеров 🧐
• Дизайн и графика🎨
• Подключение провайдеров для оплаты и заключение договоров🤝
• и т д
Но об этом расскажу в следующий раз!
И под конец вопрос: запускали ли вы свои проекты (в команде или в одиночку)? Если да, с какими трудностями вы сталкивались?🤔
Кратко о предыдущем посте:
• Аудитория растет 📈
• Купил сервера с запасом на свои деньги 💸
• Бот бесплатный, но есть возможность поддержать донатом 💰
После первых трудностей бот работал сам по себе около полугода. Я никогда раньше не запускал проект в одиночку. Был опыт запуска новых проектов в команде, где я работал по найму, но одиночку никогда. Поэтому я быстро выгорел от бессонных ночей и постоянного стресса. 😅
Version 2.0
Через полгода мне стало скучно, и я решил переписать всё с нуля. 😎 Код был полон багов, и добавление новых фич стало адом. Так как бот был написан за один вечер, каждая новая функция занимала у меня почти 2 недели! 😤
Я полностью стёр весь код и начал писать все заново. Стек технологий остался прежним, но в этот раз я продумал всю систему на бумаге, а затем приступил к разработке. Это заняло у меня около 2 месяцев. ✍️
Появились новые фичи:
• Логирование ошибок 📋
• Уведомления для пользователей и админов об ошибках 🚨
• История действий пользователей 🕵️♂️
• Админка внутри бота, где можно было управлять ключами, мониторить активность серверов и скорость их работы ⚙️
• Оптимизации, которые ускорили работу бота ⚡️
• Главная фича — смена страны 🌍. Теперь можно было выпускать ключи для разных стран.
После этого нужно было перенести пользователей со старого бота на новый, чтобы ничего не сломалось. На миграцию ушло ещё полмесяца.
Но, как водится, в день запуска всё пошло не по плану. 😅 Начались ошибки, но, к счастью, всё решилось за один вечер.
После этого бот стал работать стабильнее, отвечал быстрее, а пользователи остались довольны.
Однако оставалась одна большая проблема. Многие пользователи, особенно старшего возраста, не понимали, как добавить ключ в приложение. 😕 Молодежь справлялась быстро, но старшему поколению было сложно. Нужно было:
1. Обучить пользователей добавлять и менять ключи 📝
2. Сократить количество действий до запуска подключения по ключу 🛠
Для этого я оптимизировал меню бота и добавил инструкции, которые должны были помочь пользователю сократить время.
Параллельно с этим ломались сервера из-за проблем с хостингом, и мне приходилось разбираться с техподдержкой. 🛠
Проработав так ещё 4 месяца, я снова выгорел. 😩 Но впереди было самое интересное — введение оплаты! 💵
И тут начиналось самое интересное:
• Поиск юристов и бухгалтеров 🧐
• Дизайн и графика
• Подключение провайдеров для оплаты и заключение договоров
• и т д
Но об этом расскажу в следующий раз!
И под конец вопрос: запускали ли вы свои проекты (в команде или в одиночку)? Если да, с какими трудностями вы сталкивались?
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Когда решил залить обновление в пятницу…
✨ Вопрос к вам, друзья! ✨
Думаю над следующими постами и хочу узнать ваше мнение! О чём было бы интереснее прочитать?
🤔 Вот три темы, из которых вы можете выбрать:
1️⃣ Продолжение истории про монетизацию бота
Если вам интересно, как получать доход с вашего Telegram-бота и какие шаги я уже прошёл, дайте знать!
2️⃣ Интересные истории из старых проектов
Могу поделиться самыми необычными и забавными моментами из своих первых IT-проектов, когда работал в найме
3️⃣ Полезные инструменты для изучения программирования
Расскажу о сервисах, приложениях и подходах, которые помогли мне и могут помочь вам в изучении кода.
Думаю над следующими постами и хочу узнать ваше мнение! О чём было бы интереснее прочитать?
🤔 Вот три темы, из которых вы можете выбрать:
1️⃣ Продолжение истории про монетизацию бота
Если вам интересно, как получать доход с вашего Telegram-бота и какие шаги я уже прошёл, дайте знать!
2️⃣ Интересные истории из старых проектов
Могу поделиться самыми необычными и забавными моментами из своих первых IT-проектов, когда работал в найме
3️⃣ Полезные инструменты для изучения программирования
Расскажу о сервисах, приложениях и подходах, которые помогли мне и могут помочь вам в изучении кода.
Друзья, уходящий год был насыщенным и полным вызовов. Пусть следующий год принесет вам новые возможности, вдохновение и много успешных проектов! А чтобы начать год продуктивно, я подготовил для вас подборку проектов для изучения программирования. Они помогут улучшить ваши навыки и зарядиться новыми идеями! 🚀
Один из самых эффективных способов понять программирование — это читать чужой код. 📖 Разбирая готовые проекты, вы учитесь видеть подходы к решению задач, находить ошибки и вдохновляться новыми идеями. Особенно полезно разбирать небольшие проекты, которые легко понять и можно доработать. Я долго искал для вас самые подходящие проекты, которые помогут вам на практике. Вот несколько примеров на популярных языках программирования:
—————
Python
➡️ Калькулятор с интерфейсом: Простой графический калькулятор на Tkinter, чтобы познакомиться с GUI.
Simple Python Calculator
➡️ Список задач: Веб-приложение на Flask, которое помогает освоить создание API и работу с базой данных.
Flask-Todo
—————
JavaScript
➡️ Приложение для погоды: Подключение к API, работа с динамическим интерфейсом.
Weather App
➡️ Игра “Найди пары”: Небольшая игра на JavaScript для тренировки логики и работы с DOM.
Memory Game
—————
PHP
➡️ Простой блог: Учебный проект для работы с базой данных и создания CRUD-функционала.
PHP Blog
➡️ Форма обратной связи: Обработка данных пользователя с серверной стороны.
PHP Contact Form
—————
Swift
➡️ Калькулятор чаевых: Простое iOS-приложение для работы с пользовательским интерфейсом.
Tip Calculator
➡️ Приложение задачник: Мини-проект для работы с базами данных на iOS.
To-Do App
—————
Go
➡️ Сокращатель ссылок: Минималистичный веб-сервис на Go, чтобы изучить серверную разработку.
URL Shortener
➡️ Простой веб-сервер: Обработка HTTP-запросов на Go для создания небольших сервисов.
Go Web Server
—————
Kotlin
➡️ Конвертер валют: Приложение на Android, демонстрирующее базовые принципы работы с API.
Currency Converter
➡️ Приложение для погоды: Android-приложение с интеграцией внешних API.
Weather App
Как работать с этими проектами
1. 📖 Изучите код: Разберитесь, как устроена структура проекта, и как разные части программы взаимодействуют.
2. ⚙️ Запустите проект: Настройте среду разработки и попробуйте воспроизвести проект у себя.
3. ✏️ Модифицируйте: Добавьте новую функцию, измените дизайн или улучшите код.
4. 💡 Напишите что-то своё: Используйте идеи из этих проектов в своих приложениях.
Чтение и разбор чужого кода — это важный шаг в развитии навыков программирования.
Не бойтесь пробовать и улучшать!
С вас лайк
Please open Telegram to view this post
VIEW IN TELEGRAM
Программирование — как собирать LEGO 🎨👾
Когда я был маленьким, мой отец и брат часто залипали в гараже за ремонтом машин. Мне казалось это чем-то магическим, но в то же время абсолютно непонятным. Я был слишком мал, чтобы разбираться в деталях. Однако позже мой брат всё-таки сумел зажечь во мне интерес к этой теме.
Спустя годы, когда я стал старше, у меня появилась новая страсть — LEGO. И началось всё с хардкорного набора Lego Technic Porsche. Это была настоящая головоломка, но меня захватил процесс: детали, инструкции, сборка. В каждой стране, где мы с моей семьёй долго жили, я покупал или жена дарила мне новый набор. Недавно, например, мы собрали с ней скутер Vespa из одноимённого набора LEGO. Это занятие реально помогает расслабить голову после сложного рабочего дня.
И вот пока мы собирали этот скутер, мне пришла мысль:
программирование похоже на сборку LEGO! 🤯
💡 Почему программирование — это как LEGO?
1. Детали — это функции и константы
Представьте, что каждый язык программирования — это огромный набор деталей. У вас есть функции, переменные, константы, которые можно комбинировать, чтобы создать что угодно.
2. Не все детали подходят друг другу
В LEGO не все блоки стыкуются из-за их формы. Так же и в программировании: типы данных (числа, строки, массивы) нужно “стыковать” правильно, чтобы всё работало.
3. Библиотеки и пакеты — это другие наборы LEGO
Вам не хватает деталек? Нужно что-то уникальное? Скачайте библиотеку или установите пакет — они как новые наборы, из которых можно собрать свою конструкцию.
4. Вы не одни в этом мире
В LEGO вы всегда можете подсмотреть чужие сборки, вдохновиться и использовать чужие идеи. В программировании это происходит через GitHub, форумы или открытый код — вы учитесь у других и делитесь своим.
💡 Главное — это творчество
Программирование, как и LEGO, — это искусство. Нет границ для того, что вы можете создать. Каждый проект — это ваша уникальная конструкция, ваш способ выразить себя.
Так что не бойтесь экспериментировать, комбинировать и учиться. Станьте архитектором своего цифрового мира! 🌐💻
Какие у вас ассоциации с программированием?
Go to comments ! 👇
Когда я был маленьким, мой отец и брат часто залипали в гараже за ремонтом машин. Мне казалось это чем-то магическим, но в то же время абсолютно непонятным. Я был слишком мал, чтобы разбираться в деталях. Однако позже мой брат всё-таки сумел зажечь во мне интерес к этой теме.
Спустя годы, когда я стал старше, у меня появилась новая страсть — LEGO. И началось всё с хардкорного набора Lego Technic Porsche. Это была настоящая головоломка, но меня захватил процесс: детали, инструкции, сборка. В каждой стране, где мы с моей семьёй долго жили, я покупал или жена дарила мне новый набор. Недавно, например, мы собрали с ней скутер Vespa из одноимённого набора LEGO. Это занятие реально помогает расслабить голову после сложного рабочего дня.
И вот пока мы собирали этот скутер, мне пришла мысль:
программирование похоже на сборку LEGO! 🤯
💡 Почему программирование — это как LEGO?
1. Детали — это функции и константы
Представьте, что каждый язык программирования — это огромный набор деталей. У вас есть функции, переменные, константы, которые можно комбинировать, чтобы создать что угодно.
2. Не все детали подходят друг другу
В LEGO не все блоки стыкуются из-за их формы. Так же и в программировании: типы данных (числа, строки, массивы) нужно “стыковать” правильно, чтобы всё работало.
3. Библиотеки и пакеты — это другие наборы LEGO
Вам не хватает деталек? Нужно что-то уникальное? Скачайте библиотеку или установите пакет — они как новые наборы, из которых можно собрать свою конструкцию.
4. Вы не одни в этом мире
В LEGO вы всегда можете подсмотреть чужие сборки, вдохновиться и использовать чужие идеи. В программировании это происходит через GitHub, форумы или открытый код — вы учитесь у других и делитесь своим.
💡 Главное — это творчество
Программирование, как и LEGO, — это искусство. Нет границ для того, что вы можете создать. Каждый проект — это ваша уникальная конструкция, ваш способ выразить себя.
Так что не бойтесь экспериментировать, комбинировать и учиться. Станьте архитектором своего цифрового мира! 🌐💻
Какие у вас ассоциации с программированием?
Go to comments ! 👇
Step by step 🧑💻
Я настолько в спешке писал этот пост, что неправильно скопировал все ссылки)
Теперь все исправлено)
Теперь все исправлено)
Недавно я снова перепрошел «Ведьмак 3: Дикая Охота» ⚔️ вместе со всеми DLC и дополнительными заданиями. А вчера решил заглянуть в Steam в поисках чего-нибудь свеженького 🎮 для вечерних посиделок.
Так вот, наткнулся на игру JOY OF PROGRAMMING: Software Engineering Simulator, которая вышла буквально вчера (18 января). Это симулятор, в котором можно прокачивать навыки программирования на Python 🐍, решая разнообразные задачи в трёхмерном мире. Вот самые интересные моменты, которые я выделил из описания:
🤖 Развитие навыков кодинга: игра учит автоматизации и управлению реалистичными машинами, роботами и дронами.
🚀 Многообразие миссий: от логистики и навигации для робота-пылесоса до взлома паролей и настройки умного дома.
⚙️ Автоматизированные системы: можно разрабатывать автономный транспорт, внедрять машинное обучение и компьютерное зрение, а также стабилизировать роботов (например, с помощью алгоритма PID).
🖥 Проектирование GUI: есть возможность сделать дэшборды для умного дома своими руками.
🏆 Геймифицированный подход: для новичков предусмотрены обучающие уровни, плюс встроенный редактор головоломок для творчества.
🔬 Современные технологии: в ход идут LiDAR, камеры, датчики удара и многое другое.
⭐️ Система достижений: зарабатывайте звёзды, открывайте новые возможности и получайте сертификаты за прохождение уровней.
Если вы увлекаетесь программированием или просто хотите узнать, как выглядит процесс разработки софта в игровом формате, советую обратить внимание на эту игру.
Так вот, наткнулся на игру JOY OF PROGRAMMING: Software Engineering Simulator, которая вышла буквально вчера (18 января). Это симулятор, в котором можно прокачивать навыки программирования на Python 🐍, решая разнообразные задачи в трёхмерном мире. Вот самые интересные моменты, которые я выделил из описания:
🤖 Развитие навыков кодинга: игра учит автоматизации и управлению реалистичными машинами, роботами и дронами.
🚀 Многообразие миссий: от логистики и навигации для робота-пылесоса до взлома паролей и настройки умного дома.
⚙️ Автоматизированные системы: можно разрабатывать автономный транспорт, внедрять машинное обучение и компьютерное зрение, а также стабилизировать роботов (например, с помощью алгоритма PID).
🖥 Проектирование GUI: есть возможность сделать дэшборды для умного дома своими руками.
🏆 Геймифицированный подход: для новичков предусмотрены обучающие уровни, плюс встроенный редактор головоломок для творчества.
🔬 Современные технологии: в ход идут LiDAR, камеры, датчики удара и многое другое.
⭐️ Система достижений: зарабатывайте звёзды, открывайте новые возможности и получайте сертификаты за прохождение уровней.
Если вы увлекаетесь программированием или просто хотите узнать, как выглядит процесс разработки софта в игровом формате, советую обратить внимание на эту игру.
Steampowered
JOY OF PROGRAMMING - Software Engineering Simulator on Steam
Use real Python code to automate machines, robots, drones and more: Program self-driving vehicles; crack passwords; apply machine learning; automate logistics; use image processing to guide missiles. Gain real coding skills and solve exciting bite-sized programming…