Очень старый (1992-й год), но по прежнему в большинстве своём актуальный мануал по UI-дизайну от Apple. Да, кое-где он уже мало коррелирует с современным UI-интерфейсом Apple :)) Но вообще там описаны очевидные (не для всех) вещи как делать хороший UI-дизайн. Разве что про тач-экран там нет. Оригинал PDF на 400+ страниц. #howto #ui
🔥4
Интересный аналог Postman попался в очередной раз на глаза и я потратил минут 15-20 на предмет потыкать - Bruno. Есть версия open source. Выглядит оч похоже на postman, коллекции его читает тоже и умеет наверное всё то же самое что postman, включая HTTP(S), gRPC, GraphQL и WebSocket.
Очень удобно, то что Generate Docs наружу выдаёт ровно ОДИН .html файл со всей коллекцией.
Возможно я всё таки выкину postman и заменю его на Bruno. #tools
Очень удобно, то что Generate Docs наружу выдаёт ровно ОДИН .html файл со всей коллекцией.
Возможно я всё таки выкину postman и заменю его на Bruno. #tools
🤔12👍4❤1
Будьте внимательны со старыми ключами и обязательно строго ограничивайте их API-шками
а то получиться как тут - чела выхлопали на $82к (reddit)
Вообще, я сторонник того чтобы на фронт не вытаскивать НИКАКИХ ключей :)) и как минимум ставить rate limiter per user/per ip на endpointы, которые потенциально могут использовать внешние сервисы.
а то получиться как тут - чела выхлопали на $82к (reddit)
Вообще, я сторонник того чтобы на фронт не вытаскивать НИКАКИХ ключей :)) и как минимум ставить rate limiter per user/per ip на endpointы, которые потенциально могут использовать внешние сервисы.
👍12
ClickHouse.Facades - zero-ORM .NET package for managing ClickHouse migrations and organizing raw SQL through structured database contexts. Makes it easy to separate concerns across features, services, or tables. Built on ClickHouse.Driver (ClickHouse.Client for version < 3.0.0) and tested in production.
Кажется полезная штука, потому что сейчас миграции у нас написаны ручками. И по случайному стечению обстоятельств они выглядят почти так как они в этом проекте :)))
#dotnet
Кажется полезная штука, потому что сейчас миграции у нас написаны ручками. И по случайному стечению обстоятельств они выглядят почти так как они в этом проекте :)))
#dotnet
👍6❤1👌1
Некоторое время назад мне пришлось делать одну штуку, которая скрапила контент с пары сайтов, которые этому активно сопротивлялись (включая как раз анализ JA3). Потому что прошареные сайты не просто детектят ботов, но даже стоит проверка TLS fingerprint (что это браузер, а не условный HttpClient). И вот этот инструмент в своё время мне бы сильно помог :)
#tools
#tools
scrapfly.io
JA3/JA4 TLS Fingerprint - Detect Browser TLS/SSL Fingerprinting
Test your browser's JA3, JA4, JA3N, and Scrapfly TLS fingerprints. Learn how TLS fingerprinting is used to detect bots and block web scrapers. See cipher suites, extensions, and compare with real browsers.
👍10🔥4
Интересный кейс использования Claude, ради которого я собственно и купил подписку на него - было интересно справиться ли.
Задача - есть бинарный файл закрытого формата, который надо расковырять и понять что там и как. Я просто загрузил кусок этого файла в промпт (оригинальные файлы больше 300 МБ) и написал "у меня есть бинарный файл, который хранит данные с датчика (или нескольких датчиков), можешь поресечить этот формат и попробовать в нём разобраться?"
При этом я практически на 100% уверен, что Claude не мог обучиться ранее на этом файле никак (т.е. его разрабы не делали формат этого файла через нейронку, потому что сама железяка очень очень новая, буквально месяца два ей).
За 10 минуты работы - claude его проанализировал и разложил по полочкам ВЕСЬ формат файла, с определением длины каждой записи, включая примеры графиков по данным из файла и замечания по невыясненным байтам. Он даже нашёл байт с CRC для каждой записи.
После чего ещо мне стало ещё более интересно и я провёл пару итераций с подсказками - потому что я знаю от чего этот файл и какие данные там примерно могут быть - я его для начала просто открыл в Audacity как raw файл, чтобы посмотреть грубым взглядом на него. Осталось ещё выяснить что означают несколько байт в каждой записи, но тут похоже тараканы связанные с железякой, надо смотреть этот файл с оригинальным софтом, который пока недоступен. #ai
Задача - есть бинарный файл закрытого формата, который надо расковырять и понять что там и как. Я просто загрузил кусок этого файла в промпт (оригинальные файлы больше 300 МБ) и написал "у меня есть бинарный файл, который хранит данные с датчика (или нескольких датчиков), можешь поресечить этот формат и попробовать в нём разобраться?"
При этом я практически на 100% уверен, что Claude не мог обучиться ранее на этом файле никак (т.е. его разрабы не делали формат этого файла через нейронку, потому что сама железяка очень очень новая, буквально месяца два ей).
За 10 минуты работы - claude его проанализировал и разложил по полочкам ВЕСЬ формат файла, с определением длины каждой записи, включая примеры графиков по данным из файла и замечания по невыясненным байтам. Он даже нашёл байт с CRC для каждой записи.
После чего ещо мне стало ещё более интересно и я провёл пару итераций с подсказками - потому что я знаю от чего этот файл и какие данные там примерно могут быть - я его для начала просто открыл в Audacity как raw файл, чтобы посмотреть грубым взглядом на него. Осталось ещё выяснить что означают несколько байт в каждой записи, но тут похоже тараканы связанные с железякой, надо смотреть этот файл с оригинальным софтом, который пока недоступен. #ai
🔥13❤9👍4
Не оч понятно, зачем очередное изобретение в виде либы Temporal, какие-то очередные битвы с мельницами. Уже сколько времени в проектах живёт date-fns (momentjs давным давно выпилен), и никаких проблем с ней не помню. #js #ts
👍1
Напоминаю по этому посту, чел пишет Garbage Collector - уже девятая статья - Writing a .NET Garbage Collector in C# - Part 9: Frozen segments and new allocation strategy #dotnet
👍11🤓2🤔1
Надо будет попробовать Localstack. У меня есть несколько проектов, которые живут исключительно в AWS и не сказать чтобы их было как-то сложно отлаживать - но возможно это связано с тем что там достаточно развязанные друг от друга сервисы, которые в принципе вполне себе поддаются отдельной отладке. Но вот попробовать в комбинации с terraform это было бы интересным, возможно это облегчило бы настройку инфры для AWS. #tools
👍1
неплохая альтернатива fonts awesome
https://lucide.dev (1700 иконок)
и https://remixicon.com и https://phosphoricons.com (из камментов)
#ui
https://lucide.dev (1700 иконок)
и https://remixicon.com и https://phosphoricons.com (из камментов)
#ui
👍13
Кто-то решил с помощью аишки написать бравзер на .net и я даже решил посмотреть. Пока что оно на этапе "компилица, но не работает". #dotnet #ai
GitHub
GitHub - FENBROWSER/fenbrowser: Fen Browser is an independent browser engine focused on correctness and clean architecture. It…
Fen Browser is an independent browser engine focused on correctness and clean architecture. It builds its own rendering and layout systems and is not yet intended for daily use. - FENBROWSER/fenbro...
😁22🔥1👨💻1🤪1
This media is not supported in your browser
VIEW IN TELEGRAM
Любопытный сайт для визуализации алгоритмов. И книга по ним - Algorithms by Jeff Erickson. Не Кнут конечно, но в целом интересно (особенно про хэширование и string matching) #books
🔥21
В продолжение поста про локальную эмуляцию облачных сервисов нашёлся ещё один - Floci и кажеца по фичам он поинтереснее.
Он даже умеет Azure эмулировать. #tools
Он даже умеет Azure эмулировать. #tools
👀4👍3
Владельцам маков - опенсурс софтина, которая показывает инфу по USB-C кабелям (которые бывают ОЧЕНЬ разные :)) #tools #mac
👍9🔥2👌1
Волею случая похоже придется скоро потрогать pgEdge, чтобы сделать 2+1 master/master + standby репликацию Postgres. На картинке это всё выглядит неплохо, разве что придётся сделать масс-рефакторинг базе для PK, чтобы либо snowflake либо guid.
Кто использовал, большую ложку для дерьма надо готовить? :) #postgres #tools
Кто использовал, большую ложку для дерьма надо готовить? :) #postgres #tools
Pgedge
Enterprise grade Postgres for agentic AI, high availability and more.
pgEdge provides open source enterprise PostgreSQL for distributed and non-distributed applications to achieve high availability and reduce data latency.
😁3
success story. В апреле случайно выхлопал google maps api на $700+ во время экспериментов и отладки одной штуковины с геокодингом. Переписывался со знакомыми и они подсказали написать в саппорт, чтобы срезали часть оплаты. Ну я и написал "Дяди, я случайно, я больше не буду, можно вернуть как будто ничо не было".
Ключевой вопрос (на мой взгляд), который был в чятике поддержки - был ли business value от этих запросов? Ну я написал что нет (по факту и не было, потому что это была отладка на фейковых данных на моём локальном компе и на пет-серваке, просто их было чуть больше чем я планировал - а я про это забыл).
Карочи, они откатили платёж целиком. И заодно ещё мартовские $230 (о которых я не просил, но там были тоже эти же запросы по этому же ключу). Правда мне это стоило порядка часа переписки с саппортом и побочно они попросили удалить существующий API-ключ, но вроде бы оно того стоит. Мораль - не стесняйтесь писать в google support, там вроде бы вменяемые. #howto #google
upd деньги на карту вернулись на следующий день
Ключевой вопрос (на мой взгляд), который был в чятике поддержки - был ли business value от этих запросов? Ну я написал что нет (по факту и не было, потому что это была отладка на фейковых данных на моём локальном компе и на пет-серваке, просто их было чуть больше чем я планировал - а я про это забыл).
Карочи, они откатили платёж целиком. И заодно ещё мартовские $230 (о которых я не просил, но там были тоже эти же запросы по этому же ключу). Правда мне это стоило порядка часа переписки с саппортом и побочно они попросили удалить существующий API-ключ, но вроде бы оно того стоит. Мораль - не стесняйтесь писать в google support, там вроде бы вменяемые. #howto #google
upd деньги на карту вернулись на следующий день
👍27🔥6❤4👨💻2