TGViewer
Channel Public Channel
Локалхост (Никита Куликов)

Локалхост (Никита Куликов)

@localhost_ru

Канал одного Android-разработчика, успевшего поработать в аутсорсинге, Яндексе, Мейле, Snapchat и Flipper Devices. Мысли и годнота.
@lionzxy
Subscribers
3.06K
Photos
226
Videos
29
Links
207

Showing posts older than #171 · Back to latest

Older Posts 18 shown
Post #170 2.06K
Post #169 1.89K
А у нас в приложении картинки специально перерисовываются под черную тему! В остальных случаях используется Tint - специальный цветовой фильтр, который перекрашивает все черные линии в белые (если тема темная) или наоборот.

https://t.me/coffee_party_with/6
Telegram A coffee party with a goat Прикольная идея и посыл благородный, но кто-то забыл про существование темной темы. Можно было всего-то сделать светлую подложку. К примеру, как на баннере акции.
  • 🌚 4
  • 👍 2
  • 👎 1
Post #167 1.84K
Моему знакомому фронтэндеру (@vitalystory) пришли пуши от тинькофф с приглашением устроиться на работу.
Забавно что другим стекам типо Android/Backend и прочие такие пуши не пришли.

Это значит что тинькофф каким-то образом вычислил род деятельности и профиль.
Интересно, какие данные использовались для этого? Количество купленных смузи?
  • 😁 9
  • 😐 5
  • 🤔 3
  • 🤩 2
Post #164 1.83K
Очередной сервис отправил тестовые пуши всем пользователям. Это, очевидно, ошибка, да, но не человека, а процессов. Что можно сделать чтобы такого избежать:
- Использовать в качестве тестовых пушей настоящие продуктовые
- Ограничить доступ к рассылкам и сделать их доступными только для ограниченного числа людей и с аппрувами. Продовые ключи для пушей хранить в ключнице на сервере и не давать программистам
- Добавить механизм на андроид "отката" пушей, когда пушом можно удалить прыдудщий пуш из трея

Многие готовые сервисы по рассылке пушей и так заставляют эти пункты выполнять. Я, например, в таком и работал когда-то (libNotify в mail.ru). А какие тестовые пуши видели вы?
  • ⚡ 12
  • 🤡 3
  • 🍌 3
Post #163 6.11K
Пропущенный семестр.

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

Это не правильно и MIT решила сделать курс "The Missing Semester". Туда входит работа с консолью, консольные редакторы, Git, debugging, безопасность/криптография и так далее. Иными словами, все то что вы должны знать (как программист):

https://missing.csail.mit.edu/

По идеям этого курса @experimentalchill читал лекции в ВШЭ, которые я репостил ранее тут. Вот ссылка на YouTube-плейлист:

https://www.youtube.com/playlist?list=PLEwK9wdS5g0r13k64sdM2Zyr2GNxEH7Ou

Почему-то люди очень удивляются когда ты или кто-то еще не знает, казалось бы, "примитивных" вещей. Очень хорошо что есть такие курсы. Может быть вы еще знаете курсы с подобной философией?
Telegram Локалхост Сезон преподавания от меня потихоньку заканчивается. В этом году, как я уже писал, получилось прочитать два курса на ФКН ВШЭ. 1. Распределённые системы, плейлист (вместе с лекциями), вёл семинары, рассказывал студентам про продакшен, какой-то опыт, пытался…
  • 👍 23
  • 🔥 8
  • ❤ 5
Post #161 2.03K
Будущее уже тут - и не только в IT.

Приехала вот такая бутылка со вкусами. Смысл в том что наливаешь туда простую воду, затем пьешь и на вкус эта простая вода как будто бы с сиропом. На самом деле, "вкус" создаёт колечко у горлышка бутылки, который служит лишь ароматизатором, обманывая наш мозг
  • 🤔 13
  • 🤯 13
  • 👍 3
  • 🔥 1
  • 🥰 1
  • 🌚 1
Post #160 2.1K
Иногда бывают случаи когда нам нужно печатать текст, не печатая текст. Например, сейчас мне нужно перехватывать нажатие на кнопку backspace на software клавиатуре Android и без невидимых символов сделать это невозможно (по крайней мере, гуглу такие способы неизвестны).

Во многих играх и программах можно использовать невидимые символы для имени или ника.

https://invisible-characters.com/

#resources
Invisible-Characters Unicode characters you can not see Unicode characters you can not see -Invisible Characters
  • 👍 7
Post #159 1.79K
Хороший программист старается избегать лишнего кода, потому что лишний код - это лишние тесты, это лишнее место где можно ошибиться. "Лучший код это тот, который не написан" ©

Поэтому разработчики используют кодогенераторы - плагины/скрипты/надстройки, которые генерируют код за программиста. Код, который не надо тестировать и который не захламляет кодовую базу. Самая популярная область для кодогенерации - это ORM для баз данных. Концепция проста - мы пишем один раз структуру данных, а дальше из этой структуры генерируется код для приложения и для базы данных. В одном моем прошлом проекте нам удалось удалить 20,000 строк кода после перехода на ORM, мы сэкономили заказчику несколько миллионов рублей и избавились от бесконечных багов и вылетов.

В мире Android (считай JVM) существуют несколько библиотек для этого. Есть RoomDAO, который генерирует схемы и простые запросы для базы данных из вашего кода. Но сложные запросы или связи нужно писать ручками на SQL. Есть ORMLite, который генерирует все за тебя, включая связи и сложные запросы из вашего кода. И недавно я узнал про обратный подход - генерировать код на kotlin из SQL.

https://cashapp.github.io/sqldelight/

Мое сердце остается с RoomDAO как лучшим, по моему мнению, балансом между сложностью и скоростью, но теперь я знаю на один подход больше.
#resources
  • 😱 3
  • 👍 1
Post #158 28.5K
У браузеров есть технология для P2P (peer to peer) соединения между двумя клиентами - WebRTC.
Это позволяет чатиться, обмениваться данными и прочим друг с другом без использования сервера.

Почти без использования сервера. Дело в том что для первоначальной установки соединения все-таки требуется сервер, так как требуется “пробить” NAT (грубо говоря, к вашему компьютеру нельзя достучаться из сети просто так).

Так вот - мой коллега, фронтэндер, сделал P2P терминал для Serial порта. Это значит что вы можете открыть свой браузер, подключить устройство к usb и перекинуть этот доступ другому человеку, просто кинув ссылку. И все это работает без своего сервера.

Магия тут заключается в том что в качестве сервера используются announcement сервера Torrent-трекеров. Это те же сервера, которые помогают вам скачивать через .torrent файлы.

Это просто фантастика! Вот сама библиотека - https://github.com/subins2000/p2pt
  • 👍 20
  • ❤‍🔥 3
  • 🔥 2
  • 🤯 1
Post #156 2.47K
Сегодня я узнал про существование виртуальных машин в браузере, которые работают через webasm:
https://copy.sh/v86/

WebAssembly - это способ запускать нативный код в браузере, будь то Rust, Go или другой язык, способный собираться в LLVM. Хотя, например, тот же Kotlin способен сразу собираться в JS. Собственно где-то 5 лет назад я так и сделал - запустил Kotlin прямо в браузере - https://glitchless.surge.sh/

У игры есть мультиплеер, но я его потушил. Вот исходники фронта, вот backend на spring, вот котлин во фронте
  • 🔥 11
Post #155 2.18K
Подслушивает 👂
  • 😱 9
  • ❤ 1
  • 👍 1
  • 🔥 1
Post #154
Channel photo updated
Post #153 2.33K
Шок контент, на Google IO показали все шесть приложений под WearOS
  • 🤩 8
  • 😱 4
  • 🔥 3
  • 😁 3
  • 👍 1
Post #152 2.29K

Forwarded from Zhovner Hub

Мобильное приложение Flipper теперь доступно публично

Мы опубликовали первую публичную версию мобильного приложения для Флиппера в App Store и PlayMarket.

Оно умеет

* Управлять сохраненными ключами на флиппере: редактировать, удалять, создавать новые

* Отправлять сохраненные ключи другим пользователям любым удобным способом, хоть через Telegram

* Управлять флиппером через screen sharing

Скоро можно будет даже обновлять прошивку на Флиппере через мобильное приложение без компьютера (!!!!)

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


Скачать для iOS

Скачать для Android
  • 🔥 10
Post #151 2.21K
Post #150 2.17K
  • 👍 7
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →