Путь Fullstack
16 subscribers
114 photos
3 videos
6 files
50 links
Download Telegram
Не знаю что писать, держите мем чтоли
😡1
Время час ночи. Нормальные люди уже спят. А Я ВЫКАТЫВАЮ ОБНОВЛЕНИЕ ДЛЯ CyberDeck.

По сколько это мой проект для НОУ (а он уже 5 февраля), то мне нужно было в кратчайшие сроки его доделать. И я к этому стремлюсь. Апдейты:
- Пофикшен траспортер файлов (теперь работает идеально)
- Сделал авторизацию по QR коду!
- Сделал управление на тачпаде удобнее
- Сделал настройку для отдельных устройств, как на пк, так и на телефоне
- СИЛЬНО улучшил передачу видео и скорость отклика.
- Обновил везде UI, теперь вообще пушка. Особенно учитывая что было до этого, это вообще шедевр, в моем представленииПконечно все должно быть еще лучше, но времени в обрез
- Пофиксил практически все баги что были до этого известны.

Завтра выпущу еще одно обновление. Что поправлю:
- Допилю мелкие детали
- Сейчас курсор на телефоне очень сильно барахлит (в целом это легко фиксится)
- Поправлю отображение иконки
В целом я думаю этого хватит. У меня нет столько времени чтобы расширять что-то. MVP проект готов и слава богу.

Возможно в будущем не в таком диком темпе я добавлю подключение на расстоянии (кстати сейчас оно тоже работает, только нужен radmin или похожие vpn'ы)

И да, некоторых интересовал вопрос будет ли на ios? Закомпилировать вообще без проблем. Но чтобы залить его в app store нужно купить подписку разработчика 100$/год. Что мне не по карману на пет проекты. Возможно если яблочники будут согласны скачать через jailbreak то закомпилю и выложу без проблем

Так что вот ссылочки (если кому интересно🥺):
Скачать CyberDeck
Скачать CyberDeck-Mobile

И традиционно фоточки:
🔥2
Ночь... Короче я сделал...
Ужасно устал и хочу спать...

По этому быстро и просто: сделал норм курсор, поправил пару багов, улучшил соединение и чет еще я не помню.

Завтра конференция... Могу сказать что я успел, так еще и документацию накидал + презу. А там уж сочиню smt.

Ссылки:
Скачать CyberDeck
Скачать CyberDeck-Mobile

Фоток не будет, мне лень, и ничего толком не поменялось.

Я спать. Надеюсь что завтра я не обосрусь хотя бы очень сильно...
🔥21👍1
Еба. Взял первое место. Видимо не зря несколько бессонных ночей прошли.
Но я немного слил на презентации и документации, но блин я их сегодня ночью делал.
Короче ваще супер, прям кайф. Но нужно мне проект дорабатывать, а то на районе я солью, а я хочу победы.

У меня есть запись с моей презентации. Чуть позже ее сюда скину. А сейчас СОН, ура!
❗️Гайд по Python для гигачадов❗️

Если вы используете Python, то бывают случаи когда вам нужно держать несколько версий.

Для таких случаев существуют различные утилиты. Я использую pyenv. Он простой и кроссплатформенный.

Установка:
Windows (pyenv-win):
1. PowerShell (от админа): Разрешите выполнение скриптов:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

2. Установка: Выполните команду:
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

3. Переменные окружения: Проверьте, что пути к .pyenv\pyenv-win\bin и .pyenv\pyenv-win\shims добавлены в ваш PATH и находятся выше путей стандартного Python.

Arch Linux:
1. Установка:
sudo pacman -S pyenv

2. Настройка: Добавьте в конец ~/.bashrc (или ~/.zshrc для Zsh)
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

3. Применение: Перезапустите терминал или выполните source ~/.bashrc

Ubuntu / Debian:
1. Зависимости: Обязательно установите пакеты для сборки Python:
sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

2. Установка: curl https://pyenv.run | bash
3. Настройка: Добавьте те же строки, что и для Arch, в ваш конфиг shell (~/.bashrc).

Работа с pyenv:
Список доступных версий для установки:
pyenv install --list
Установка конкретной версии:
pyenv install 3.12.12
Список уже установленных версий:
pyenv versions (текущая отмечена звездочкой *)
Установка глобальной версии (для всей системы пользователя):
pyenv global 3.12.1
Установка локальной версии (только для текущей папки/проекта):
pyenv local 3.11.5 — создаст файл .python-version в папке.
Проверка текущей активной версии:
python --version или pyenv version

Это позволяет быстро переключаться между версиями Python или устанавливать их для каждого проекта индивидуально!
В общем гайс. Сейчас у меня очень плотный график, стараюсь делать как можно больше годноты.
Еще мы тут с ребятами сделали вот такого бота для теста знаний по Python. Покликать его можно здесь.

Хочу добавить что бот еще в бетке. И функционал не дописан до конца, но уже активно его дорабатываем.
Так же приглашаю вас в чат по Python, где мы обсуждаем много интересного и делимся своим опытом.
Короче... Хз зачем но я опять всю ночь делал какую-то херню.
На этот раз любители Arknights Endfield оценят.
Вашему вниманию: Первый русскоязычный сайт для отслеживания круток в Arknights Endfield «endfieldpass.site»

А теперь реклама:
Переведён на множество языков, в отличие от конкурентов, имеет ускоренную обработку круток. Удобный, интуитивно понятный интерфейс. Простота в использовании: скопировал -› вставил. Поддержка сохранений в гугл и Яндекс драйв. Наглядность, и умные алгоритмы подсчета. Огромные планы на расширение. Полный open-source

И это всё я сделал за 1 ночь...
Крч крутая штука, пользуйтесь и распространяйте endfieldpass.site
1👍1🔥1
Вот думаю как его распространять... Мб залить на форумы типа реддита / хабр?
Все. Залил. Жду оценок в комментариях (если они вообще будут). Пофиксил кучу багов. Доделал, улучшил пулл круток. Добавил импорт ОРУЖЕЙКИ (первый в сообществе, и я этим горжусь😁). Очень сильно улучшил визуал. Вообще соска получилась

https://endfieldpass.site/
🔥1
Хз. Мб из архива историй обновлений превратить этот канал в чуть-чуть большее. Попробую новую рубрику. Гайды
🧨 Почему dict.get() иногда хуже, чем KeyError
user.get("name") как тихий убийца логики

Многие пишут так:

name = user.get("name")


И думают: *«кайф, код не упадёт»*.
Ага. Не упадёт. Он тихо сломает смысл, и ты узнаешь об этом уже в проде, по крикам пользователей.

---

🤔 Что делает get()?

dict.get(key) возвращает:

- значение, если ключ есть
- None, если ключа нет (или твой default)

То есть вместо нормального сигнала “данных нет” ты получаешь валидное значение (None), которое дальше спокойно течёт по коду.

---

🐞 Пример скрытого бага

def greet(user):
name = user.get("name")
return f"Привет, {name}!"


Если "name" отсутствует, получаем:

> Привет, None!

И это даже не ошибка. Это просто позор.

А если дальше ожидается строка:

name = user.get("name")
print(name.strip().title())


Получишь:

> AttributeError: 'NoneType' object has no attribute 'strip'

И самое мерзкое: упадёт не там, где причина, а там, где уже поздно и больно.

---

❗️Почему это опасно

1️⃣ Логика ломается молча
2️⃣ Тесты могут не поймать, потому что None иногда “прокатывает”
3️⃣ Появляются фантомные состояния (“пользователь без имени”, хотя такого быть не должно)
4️⃣ Баг превращается в лотерею: то работает, то нет

---

Как правильно?

🔹 Если ключ обязателен, пусть падает сразу

name = user["name"]  # KeyError = быстро и честно


🔹 Если ключ необязателен, укажи осознанный default

name = user.get("name", "Unknown")


🔹 Если `None` может быть реальным значением, `get()` подставит тебя
Нужно различать “нет ключа” и “значение None”:

_sentinel = object()

name = user.get("name", _sentinel)
if name is _sentinel:
raise KeyError("Missing 'name'")


---

📌 Итог
get() это не “безопасность”. Это отложенная ошибка.

- обязательное поле → user["key"]
- необязательное → get(..., default)
- важно отличать “нет ключа” от None → sentinel
Блять ну че за уебки сидят в яндекс. Просто конченные твари.

Пытался прикрутить яндекс диск. Сначала все было нормально, потом перестала работать синхронизация с диском (2 скрин). Потом они затребовали подтвердить акк через гос услуги. И вроде бы ничего сложного. Только блять нихера у них не работает. С гос услуг вылетает хз какая ошибка. А с сервиса что невалидный токен (он бл правильный).

Я пишу в поддержку. А они мне "Ситуация сложная, подожди 3 часа". И конечно же всем похуй прошло уже 14 часов, всем похуй.

И вот как бл тут нормально с диском коннектиться. Я уже и у gpt спросил и что только не делал. Ничего не получается, а мне даже не говорят почему.

Крч мораль такова: Яндекс - контора пидорасов, минус реп