Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

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

Мастер винтов

Казуальные, Головоломки, 2D

Играть
Станьте Детективом! Решайте логические головоломки, чтобы найти преступника! 
Множество уровней и интересных историй! События и задачи дня!

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

Детектив - логические головоломки

Головоломки, Казуальные, Логическая

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

Подземелье дизлайков

Экшены, Аркады, Шутер

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

История одной фермы - маджонг

Маджонг, Казуальные, Приключения

Играть
 В игре Чёрная Дыра Атакует ваша задача проста – собрать максимум оружия с помощью черной дыры пока не вышло время. И не расслабляйся – чем больше ты соберешь, тем больше у тебя шансов в борьбе с боссом! Не подведи – победишь босса, спасешь мир!

Чёрная Дыра Атакует

Аркады, Казуальные, Таймкиллер

Играть

Топ прошлой недели

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Программирование

С этим тегом используют

IT Программист IT юмор Python Разработка Картинка с текстом Юмор Все
975 постов сначала свежее
2
zwuck
8 дней назад

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация⁠⁠

Во время первого опыта разработки веб приложения столкнулся с проблемой регистрации пользователя, а именно:

  • Необходимость отправки пользователю на почту, которую он указывал при регистрации, ссылки для подтверждения почты. Для реализации такого функционала в проекте необходимо было настраивать SMTP (почтовый протокол) и настраивать свою почту для рассылки таких сообщений;

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

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

Но, есть альтернативный вариант, а именно, использование сторонних сервисов (гугл, яндекс и даже телеграм) для регистрации и авторизации пользователей. Именно такой вариант я решил реализовать для браузерной версии своего мини-приложения в ТГ t.me/Socionyx_Bot/socionyx, который реализует простой функционал чат-рулетки, присоединяйтесь и общайтесь с случайными людьми.

Давайте на примере яндекса расскажу про все этапы.

Необходимо выполнить следующие этапы:

  • Иметь аккаунт на яндексе;

  • По ссылке https://oauth.yandex.ru/ зарегистрировать приложение и сохранить ClientID и Client secret, которые в дальнейшем понадобятся на бэкендовской части проекта.

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация Telegram, IT, Приложение, Программирование, Сайт, Длиннопост

Зарегистрированные мною приложения

В самом приложении заходите в настройки (справа с верху рисунок ручки/карандаша), где в первую очередь настраиваем Redirect URI (адрес, куда будет стучаться почтовый сервис, в моем случае https://socionyx.ru/yandex-callback).

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация Telegram, IT, Приложение, Программирование, Сайт, Длиннопост

Можно указывать несколько адресов

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

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация Telegram, IT, Приложение, Программирование, Сайт, Длиннопост

Нам обязательно нужен login:email и login:info

Сохраняем.

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

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация Telegram, IT, Приложение, Программирование, Сайт, Длиннопост

Вот как реализовано у меня в браузерной версии приложения

На бэке мы стучимся, через кнопку на фронте, на этот метод контроллера:

@Get('/yandex-url')

getYandexAuthUrl() {

const scope = "login:email login:info";

const yandexAuthUrl = `https://oauth.yandex.ru/authorize?client_id=%24%7Bthis.YANDE...}` +

`&redirect_uri=${this.REDIRECT_URI_YANDEX}` +

`&response_type=code` +

`&scope=${encodeURIComponent(scope)}` +

`&access_type=offline`;

return { url: yandexAuthUrl };

}

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

@Get('/yandex-callback')

async handleYandexCallback(@Query('code') code: string) {

try {

const params = new URLSearchParams();

params.append('code', code);

params.append('client_id', this.YANDEX_CLIENT_ID);

params.append('client_secret', this.YANDEX_CLIENT_SECRET);

params.append('redirect_uri', this.REDIRECT_URI_YANDEX);

params.append('grant_type', 'authorization_code');

const tokenResponse = await firstValueFrom(

this.httpService.post(this.YANDEX_TOKEN_URL, params.toString(), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, }), );

if (tokenResponse.status !== HttpStatus.OK) { throw new HttpException({ error: 'Invalid token response' }, HttpStatus.UNAUTHORIZED); }

const accessToken = tokenResponse.data.access_token;

if (!accessToken) { throw new HttpException({ error: 'Access token not found' }, HttpStatus.UNAUTHORIZED); }

const userInfoResponse = await firstValueFrom(

this.httpService.get(this.YANDEX_USER_INFO_URL, {

headers: { Authorization: `Bearer ${accessToken}`, }, }),);

if (userInfoResponse.status !== HttpStatus.OK) {throw new HttpException({ error: 'Unable to fetch user info' }, HttpStatus.UNAUTHORIZED);}

const email = userInfoResponse.data.default_email;

const username = userInfoResponse.data.real_name;

if (!email) { throw new HttpException({ error: 'Email not found in user info' }, HttpStatus.UNAUTHORIZED); }

const existingUser = await this.userService.findUserByEmail(email);

let token: string;

if (existingUser) {

token = this.jwtTokenUtil.generateToken(existingUser, 8); } else {

const newUser = {email: email,username:username}; 

await this.userService.createUserFromAnotherServiceAccount(newUser.email, newUser.username);

token = this.jwtTokenUtil.generateToken(newUser, 8);}

return { token };

} catch (error) {

throw new HttpException(

{ error: 'Authorization failed: ' + error.message },

HttpStatus.INTERNAL_SERVER_ERROR,

);}}

Для YANDEX_USER_INFO_URL у меня указано 'https://login.yandex.ru/info'.

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

Непосредственно вот так это выглядит после того, как все сделано. После нажатия на кнопку «Войти через Yandex» вы увидите следующую картинку и просто выполняете авторизацию через вашу почту яндекс.

Сторонние сервисы на страже вашего приложения. Регистрация и авторизация Telegram, IT, Приложение, Программирование, Сайт, Длиннопост

Не обязательно указывать номер, можно и другие варианты выбрать

И все, теперь в вашем приложении можно регистрироваться и авторизовываться через существующую почту яндекс. Для гугла все абсолютно аналогично, только процедура настройки и получение ClientID и Client secret выглядит по-другому. В самом мини-приложении регистрация и авторизация реализуются уже через саму телегу, о чем, и не только, я уже расскажу в следующем посте.

Если интересно, you are welcome в мой тг канал t.me/socionyxchannel, где я пишу о разработке мини приложения и в целом делюсь мыслями о буднях разработчика.

Показать полностью 5
[моё] Telegram IT Приложение Программирование Сайт Длиннопост
5
user10790820
9 дней назад
ИТ-проекты пикабушников

Я создал бота, который собирает и организует посты из ваших Telegram-каналов⁠⁠

https://t.me/flowlyfeed_bot

Flowly Bot — бот, который помогает навести порядок в Telegram

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

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

Бот умеет:

  • собирать контент из десятков каналов,

  • фильтровать по ключевым словам и приоритетам,

  • выделять суть и формировать короткие сводки.

Я создал бота, который собирает и организует посты из ваших Telegram-каналов Сайт, Рекомендации, Telegram, Чат-бот, Программирование, Своими руками, Технологии, Новая эра, Тренд, Nodejs

Flowly подстраивается под вас и экономит ваше время. Это как если бы у вас появился личный редактор, который уже прочитал всё за вас и оставил самое нужное.
https://t.me/flowlyfeed_bot

[моё] Сайт Рекомендации Telegram Чат-бот Программирование Своими руками Технологии Новая эра Тренд Nodejs
1
0
thecodemedia
thecodemedia
9 дней назад

Пояснительная бригада: что-то пошло не по плану⁠⁠

Пояснительная бригада: что-то пошло не по плану Программист, Программирование, IT, Разработка, IT юмор, Отношения

Поясняет редакция «Кода»:

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

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

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

  1. Всё нужно делать самому (иногда даже писать свои драйверы).

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

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

  4. И это лучше делать через командную строку (что парень и делает).

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

Главное, не говорить ему про Gentoo. После этого вязать придётся уже самого парня.

Показать полностью 1
Программист Программирование IT Разработка IT юмор Отношения
2
13
dedyukhinnp
9 дней назад

Лабы на esp32⁠⁠

Делали сегодня лабы на микроконтроллере esp32 через ESPlorer IDE.

Может кому нибудь будет интересно)

Лабы на esp32 Микроконтроллеры, Программирование, Esp32, Esp8266, IT, Разработка, Интернет вещей, Умный дом, Видео, Вертикальное видео, Короткие видео, Длиннопост

ESPlorer

В первой лабе надо было подключиться к устройству (оно создаёт точку WiFi) и через веб-интерфейса устройства зажечь светодиод

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

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

В четвёртой лабе подключали динамик к устройству, заходили в веб-интерфейс и включали оттуда мелодию на динамике))

И в пятой взяли два устройства. Одно запрограммировали как сервер. Другое как клиент. Сервер раздаёт WiFi. Клиент автоматически к нему подключается. На клиенте есть кнопка. Если на неё нажать, то на сервере зажигается лампочка)

Показать полностью 5
[моё] Микроконтроллеры Программирование Esp32 Esp8266 IT Разработка Интернет вещей Умный дом Видео Вертикальное видео Короткие видео Длиннопост
11
0
staticspb
staticspb
9 дней назад
ИТ-проекты пикабушников
Серия Мои Проекты

Toolboxs.app: как мне ИИ сделал бесплатный набор Online-инструментов⁠⁠

Привет, пикабу!

В продолжении "серии" о последних проектах, прошу любить и жаловать:
Toolboxs.app

1/2

Наперед скажу: да, таких сайтов куча. Но было интересно отработать некоторые вещи, а также максимально упростить инструменты, до режима ввод-вывод. То есть вместо настроек (например пробел против табуляции) – отдельный инструмент.

Самой главной задачей ставилось отработать возможность создания более сложные вещей с помощью ИИ. В данном случае: настолько упростить инструменты, что их создание, описание, интеграцию и тестирование можно полностью поручить ИИ ассистенту. Так что да, все 143 инструмента, в данный момент, сделаны именно им :) Поэтому планируется расширить набор до 1000 в самое ближайшее время :)

Надеюсь, кому-нибудь будет полезно. Спасибо за внимание! :)

Показать полностью 2
[моё] Искусственный интеллект Программирование Разработка Полезные сайты
0
2
0sadchi
0sadchi
9 дней назад
Лига Разработчиков Видеоигр

Моддинг ММОРПГ, иконки предметов в чате, заключительная часть⁠⁠

Все части по порядку тут

[моё] Программирование Windows C++ YouTube Hacking Видео
0
95
Skyscrew
Skyscrew
9 дней назад
Лига Сисадминов

Пять эмоциональных состояний программиста⁠⁠

Пять эмоциональных состояний программиста
IT юмор Баг Программирование Скриншот
10
1
VibeCoder
VibeCoder
9 дней назад

DeepSeek R1 0528: Китайский ИИ прокачали, но до GPT-4o пока далеко⁠⁠

Привет кодеры и продукт-манагеры!👋

DeepSeek R1 0528: Китайский ИИ прокачали, но до GPT-4o пока далеко ChatGPT, DeepSeek, Openai, Искусственный интеллект, Программирование

Китайская DeepSeek выпустила обновлённую модель DeepSeek-R1-0528 с открытой MIT-лицензией (можно использовать даже в коммерческих проектах).

Хотя разработчики скромно называют это «пробным обновлением», тесты показывают серьёзный прогресс:

▸ На 23% лучше в генерации кода, чем предыдущая версия

▸ Уменьшились галлюцинации (но до Claude ещё далеко)

▸ Уверенно обходит Qwen 3 235B, но проигрывает Gemini 2.5 Pro и GPT-4o

💡 Главное улучшение:

Модель теперь «**думает дольше**» — в среднем 23K токенов против прежних 12K. Именно это дало прирост в логике и качестве ответов.

🎁 Бонус:

Цепочки рассуждений из новой R1 дистиллировали в Qwen 3 8B — и та неожиданно прокачалась в математике. Ожидаем релиза тюнинга!

💬 Обсудим в коментах:

Как думаете, когда китайские модели догонят GPT-4o? И будете пробовать R1 в работе?

В Вайбе появится в ближайшем релизе

Показать полностью
ChatGPT DeepSeek Openai Искусственный интеллект Программирование
2
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии