Локалхост (Никита Куликов)
2.92K subscribers
204 photos
25 videos
1 file
185 links
Канал одного Android-разработчика, успевшего поработать в аутсорсинге, Яндексе, Мейле, Snapchat и Flipper Devices. Мысли и годнота.
@lionzxy
Download Telegram
SQL запросы для CSV файлов

Часто приходится работать с аналитикой или таблицами. Привычный инструмент для этого - базы данных.
Но поднимать под каждый набор данных таблицу довольно накладно. Поэтому я часто пользуюсь очень мощным инструментом - q
Он позволяет общаться с файлами .csv (экспорт в него есть у всех, просто txt с запятыми) как с таблицами в базе данных. Мы можем делать GROUP BY, JOIN и прочие радости SQL.

http://harelba.github.io/q/

Невероятно мощный инструмент!

#resources
Знакомый сделал достаточно качественную замену pastebin.com. Давно пора обновить и переосмыслить убогий дизайн из двухтысячных, выживающий только на том что сервис слишком прост чтобы кто-то всерьез составлял ему конкуренцию. Сделано качественно и красиво, буду пользоваться:

https://yaso.su/

#resources
Please open Telegram to view this post
VIEW IN TELEGRAM
Хороший программист старается избегать лишнего кода, потому что лишний код - это лишние тесты, это лишнее место где можно ошибиться. "Лучший код это тот, который не написан" ©

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

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

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

Мое сердце остается с RoomDAO как лучшим, по моему мнению, балансом между сложностью и скоростью, но теперь я знаю на один подход больше.
#resources
😱3👍1
Иногда бывают случаи когда нам нужно печатать текст, не печатая текст. Например, сейчас мне нужно перехватывать нажатие на кнопку backspace на software клавиатуре Android и без невидимых символов сделать это невозможно (по крайней мере, гуглу такие способы неизвестны).

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

https://invisible-characters.com/

#resources
👍7
Иногда я публикую тут #resources - полезные для меня ссылки, которые, возможно, будут полезны для вас.

Вот новая пачка
Поиск авиабилетов:
https://www.lastminute.com/
https://www.skyscanner.net/
В каких странах сколько стоит техника эпл:
https://themacindex.com/
👍7👎1
#resources
Базовые правила дизайна
https://anthonyhobday.com/sideprojects/saferules/
🔥9
Маленький бложик с текстовыми обзорами игр: @anna_games

#resources
2🔥2👍1
Набор маленьких инструментов

Бесплатно, с возможностью селфхоста и open-source

https://omnitools.app/

#resources
1🔥22👍61💩1