MatveySuvorov
18 subscribers
35 photos
1 video
4 files
9 links
Программирование, компы, в общем все, что нам нравится
Download Telegram
Самообучение

Научиться программировать можно полностью самостоятельно и бесплатно.

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

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

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

Я просто к тому, что отсутствие внешней помощи - это не отговорка, чтобы избегать программирования, если ты хочешь им заниматься. Для этого дела тебе нужен только ноут/комп и интернет (а старшее поколение и без него прогало)
2👍1
Моя новая разработка

На днях я наконец закончил создание своего нового проекта - приложения для быстрого поиска тиммейтов Teamup.

Мы знаем множество игр, в которых есть система матчмейкинга, например, CS 2, Dota 2, Fortnite и др. Но и есть и немало таких игр, в которых отсутствует быстрый автопоиск игроков (Rust, Minecraft, Terraria). Для поиска сокомандников в таких играх я создал отдельное приложение, в котором можно быстро найти тиммейтов по нажатию одной кнопки. После формирования команды можно общаться со своими новыми товарищами через текстовый или голосовой чаты - прямо как в дискорде (который между прочим заблокан в России)). Также можно приглашать других пользователей в друзья и добавлять их в команды, созданные автоматически или вручную.

О том, как я создавал Teamup можно посмотреть в видео на ютубе

Скачать Teamup можно из Rustore или c официального сайта
(доступен на Windows и Android)
1
Как работает автопоиск в Teamup

Алгоритм работы поиска тиммейтов довольно простой.

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

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

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

Сандейфактс (от англ. Sunday Facts) - это новая рубрика, в которой я буду рассказывать о нововведениях в своих проектах, которые войдут в будущие версии приложений.

Что нового в Teamup:
- Возможность регистрироваться через почту и пароль (а не только через гугл и дискорд).
- Звуковые сигналы после завершения формирования команды и при подключении к войсу.
- Начат процесс разработки веб версии.

Эти нововведения войдут в будущую версию Teamup 1.1
👍3
Первые пользователи

В Teamup появились первые реальные пользователи. И не все из них являются моими друзьями). Некоторые люди мне незнакомы. То есть они узнали про Teamup из видео либо просто найдя его в поиске Rustore, и это очень круто. Один человек даже написал мне в личку и спросил, играю ли я в террарию. В Тимапе.

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

Я надеюсь это только начало, и дальше будет больше.

С Новым годом!
2
Сандейфактс №2

Что нового в Teamup (для 1.1.0):
- Добавлено шумоподавление в войсе.
- Исправлено дублирование списка друзей в профиле.
- Добавлена проверка версии. Если установлена неактуальная версия, Teamup предложит загрузить последнюю версию.

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

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

Но как придумать идею для проекта?

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

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

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

Таким образом твой проект позволит тебе не только отточить навыки разработки, но и привлечь реальную аудиторию, которая действительно будут пользоваться твоим приложением или сайтом. А это уже может вырасти в целый стартап, приносящий доход.
👍2
Сандейфактс №3

Что нового в Teamup (для 1.1.0):
- Сообщение о новой версии вверху главного экрана, если доступно обновление.
- Выбор игры на отдельном экране и поиск игры из списка.
- Обложки у игр.
- Отображение любимой игры в профиле, если пользователь выбрал такую.
- Изменен внешний вид навигационной панели внизу.
- Исправлена работа уведомлений: теперь они работают.
🤯1
Сандейфактс №4

Что нового в Teamup (для 1.1.0):
- Выбор любимой игры на этапе регистрации. Ранее это можно было сделать только в настройках профиля, наверно поэтому многие и не знали что можно выбрать любимую игру.
- Исправлен баг с переключением статуса "в сети".

Следующий Сандейфактс №5 скорее всего будет последним для версии тимапа 1.1.0, после него будет выпущено обновление.
👍1
Плохой код лучше пустого файла

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

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

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

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

В следующих постах я расскажу о лайфаках, которые позволят писать более красивый и понятный код.
👍3
Как красиво проверить данные на валидность

Задача: проверить входные данные (почту, пароль и повторенный пароль) на валидность перед регистрацией. Перед нами два решения.

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

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

В моем коде выполняется три проверки. Как ты думаешь, какое еще условие можно сюда дописать?