Обновить
24
Лев Рычковский@devlev

web-программист

3
Подписчики
Отправить сообщение

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

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели36K

Вы храните в PostgreSQL пользователей, заказы и платежи — а потом проект обрастает Redis для очереди, отдельным поисковиком и самодельными блокировками через таблицу locks. Иногда это оправдано. Но часто типовые бэкенд-задачи закрываются прямо в базе: атомарно, транзакционно, с индексами и без лишней сетевой болтовни.

Привет, Хабр! Меня зовут Тимур Исламгулов. Я преподаватель МФТИ и ведущий вебинаров по PostgreSQL. За годы работы я насмотрелся, как разработчики поднимают лишнюю инфраструктуру там, где хватило бы самой базы, — об этом и поговорим.

Показать рабочий SQL →

Как починить блокировку легальных сайтов РКН ТСПУ одной строчкой в Chrome

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели98K

Мне очень хотелось разобраться в этой ситуации с блокировками..
Не мог с Chrome зайти на beget.com - там CDN блокировался. Тыкался тыкался..

Вставляете в строку браузера chrome://flags/

Ищите Cryptography Compliance (CNSA) (#cryptography-compliance-cnsa)

Читать далее

Как мы создали топографические карты для пользователей MapMagic. Часть 1: Почему нам понадобились свои карты

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.5K

Как мы создали собственный картографический пайплайн для топокарт MapMagic: от проблем с внешними провайдерами до архитектуры на OpenStreetMap + Mapterhorn. Почему отказались от MapTiler, как генерируем тайлы карт и создаем качетсвенные изолинии.

Читать далее

Локальные LLM модели: обзор и тестирование

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели130K

В ★5УГЛОВ мы часто работаем с языковыми моделями — как облачными, так и локальными. И если про онлайн‑сервисы знают все, то локальные LLM до сих пор остаются недооцененным инструментом. Я решил поделиться личным опытом: какие модели можно запускать прямо на ПК, чем они полезны и зачем их вообще использовать в реальных проектах.

Большие языковые модели (Large Language Model, LLM) уже давно не являются громоздкими программными продуктами, закрытыми от пользовательских доработок и требующими огромных вычислительных мощностей. Многие ИИ можно скачать и запустить на обычном компьютере без интернета. Популярны так называемые «дистиллированные» модели — сжатые версии основных нейросетей, имеющие меньше параметров. Они требуют меньше ресурсов и могут работать даже на не самых мощных настольных ПК или ноутбуках. За последнее время локальные ИИ заметно улучшились: они стали быстрее, стабильнее и качественнее. Если раньше многие из них стремились отвечать по‑китайски (если явно не указать язык), то сегодня выбор значительно шире и работать с ними удобнее. Попробуем оценить самые популярные на разных задачах и выбрать лучшую.

Читать далее

Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 10. C# не нужен

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.8K

F# и C# в плане выразительности ООП различаются не так радикально, как некоторым кажется. Но у них разные дефолты, и мы вольны как бороться с ними, так и эксплуатировать их на полную катушку. Для этого необходимо понять, что F#-ный подход ориентирован на симуляцию процессов, а C#-ный — на симуляцию данных. Формально от нас требуется и то, и то, но по моему мнению, моделирование процессов — это 80% моей работы. Оставшиеся 20% — это данные, которые затачиваются под те же самые процессы.

C#-еры то ли обитают в другом мире, то ли как-то пропустили этот момент, поэтому систематически пишут код в обратном направлении — от данных к процессам. Первое время я думал о Godot в том же ключе, но чем больше ковырял <Prefix>Server-ы (там их много, VisualServer — это лишь один из подобных), тем больше у меня складывалось ощущение, что где-то в недрах его команды сидит вменяемый ФП-программист. Уж слишком сильно некоторые решения напоминали наши. К сожалению, я ещё многое не расковырял из того, что нужно расковырять для потенциального разрыва с дефолтным API. Поэтому в рамках текущего цикла мы не будем избавляться от ООП-нагромождений. Вместо этого мы нагородим новых, но так, чтобы нам было удобно работать в ФП-парадигме.

Читать далее

Некоторые варианты практического использования протокола ESP-Now в самодельных устройствах

Время на прочтение14 мин
Охват и читатели17K

Если вы хотите получить для своих самоделок достаточно быстродействующий (до 1,5 Мбит/с), дальнобойный (300+ метров), и, в то же время, энергосберегающий (50 мА во время передачи) протокол, то «ESP‑Now» — ваш выбор!

В этой статье мы не будем разбирать подробно все технические особенности протокола, так как для этого есть соответствующие спецификации, — вместо этого мы остановимся на более интересном: его практическом применении и, в общем, ознакомимся с некоторыми особенностями протокола.

Читать далее

Чтобы побеждать, достаточно одной книги

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели108K

Есть два правдивых утверждения.

Первое прозвучит плохо для культуры, в которой инженеров мотивируют извиняться за сам факт их существования, а не умеющий кодить мошенник вправе заявлять, что он является «идейным вдохновителем». Утверждение заключается в том, что я — один из лучших инженеров в моей непосредственной рабочей среде. Я изучаю приблизительно на два-три порядка больше, чем средний инженер рядом со мной. Мне делала оффер на должность сениора одна из лучших компаний в стране, разные Серьёзные Люди с радостью повторно нанимают меня и радостно наблюдают, как я разгребаю лениво составленные примечания к коммитам. Дела мои вполне хороши.

Второе прозвучит плохо, потому что иногда мне приходится убеждать людей нанять меня: я очевидно хуже, чем те, кто пишет мне связанные с работой письма. Я смутно лишь могу догадываться, как с тремя-четырьмя годами опыта качественной работы в психологии я смог стать «сениор-инженером». Я писал тесты только для личных проектов, потому что ни у одного моего работодателя не было никаких рабочих тестов, как и интереса в их написании. Код для моей магистерской я полностью написал без контроля версий, потому что один из лучших университетов страны ему не обучал. Если вкратце, я ни разу не решал по-настоящему сложной задачи, а лишь нажимал на кнопочку «сэкономить полмиллиона долларов», которую не замечал никто другой. Я просто тупица.

Я знаю, что второе утверждение истинно, потому что вижу, насколько сложными вещами занимаются другие люди, и знаю, что истинно первое, ведь я, иммигрант, без проблем попал в 3-4% людей, получающих самую высокую зарплату в стране. Как эти два утверждения могут быть истинны одновременно?
Читать дальше →

Опыт перехода сайта на Single Page Application с упором на SEO

Время на прочтение5 мин
Охват и читатели56K

Привет всем.


Мы классический web 2.0 сайт сделаный на Drupal. Можно сказать, что мы медиа сайт, т.к. у нас очень много всевозможных статей, и постоянно выходят новые. Мы уделяем много внимания SEO. У нас для этого даже есть специально обученные люди, которые работают полный рабочий день.


К нам заходит более 400k уникальных пользователей в месяц. Из них 90% приходит из поиска Google.


И вот уже почти полгода мы разрабатывали Single Page Application версию нашего сайта.


Как вы уже наверное знаете, JS это вечная боль сеошников. И нельзя просто так взять и сделать сайт на JS.


Перед тем как начать разработку мы начали исследовать этот вопрос.
И выяснили, что общепринятым способом является отдача google боту уже отрисованой версии страницы.
Making AJAX applications crawlable


Также выяснилось, что этот способ более не рекомендуется Google и они уверяют, что их бот умеет открывать js сайты, не хуже современных браузеров.


We are generally able to render and understand your web pages like modern browsers.

Т.к. на момент принятия нашего решения Google только-только отказались от подобного метода, и еще никто не успел проверить как Google Crawler на самом деле индексирует сайты сделаные на JS. Мы решили рискнуть и сделать SPA сайт без дополнительной отрисовки страниц для ботов.

Читать дальше →

Microsoft создала фальшивое руководство «Как удалить Edge», чтобы вместо этого бросить тень на Chrome

Время на прочтение2 мин
Охват и читатели41K

Microsoft опубликовала фальшивое руководство под названием «Как удалить Edge», в котором по сути пользователей отговаривают от этого шага, а также поясняется, что браузер Chrome пользователям не нужен, так как там нет многих опций Edge.

Читать далее

У вас не будет серьезных перемен в жизни, пока вы не смиритесь. Почему это именно так и как работает?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели134K

Было у вас такое, что вам отчаянно хотелось глобальных перемен? Сменить профессию, жениться/выйти замуж/развестись, а то и вовсе стать другим человеком, который, к примеру, не теряет голову в сложной ситуации, принимает верные решения или всем нравится. У меня было. И получалось отвратительно, пока я не понял одну вещь. 

Читать далее

Гайд по сдаче IELTS: с band 6 до band 7.5 за два месяца

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели50K

Неделю назад я сдал computer-based IELTS Academic на 7.5 (C1). Подготовка к экзамену заняла у меня 2.5 месяца параллельно с фулл-тайм работой и обучением на последнем курсе бакалавриата МФТИ. Мой изначальный уровень был между B1 и B2.

Читать далее

Учёные нашли оптимальный способ обхода графа

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели29K

Алгоритм Дейкстры долгое время считался самым эффективным способом обхода графа. Теперь исследователи доказали, что он «универсально оптимален». 

Если вы долгое время ездите по одному и тому же маршруту, вы, вероятно, считаете его лучшим. Но «лучший» — это относительное понятие. Возможно, однажды произойдёт авария или дорога будет перекрыта, и ваш самый быстрый маршрут станет самым медленным. 

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

Читать далее

Рецепты Typescript: выбор одного и только одного обязательного поля в объекте

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.8K

Привет, Хабр! Это Костя из CLoud.ru, и я продолжаю цикл коротких статей с рецептами TypeScript, посвященный решению повседневных задач. Сегодня у нас в меню тип, который поможет вам выбрать только одно поле из типа. Поехали!

Смотреть рецепт

Давайте договоримся о тех.долге

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7K

— Нам нужно выплачивать тех.долг!
— У нас нет на это ресурсов, нам нужно выпустить новую фичу!
Знакомый диалог? Давайте поговорим про технический долг и про то, как он влияет на бизнесовые цели. И на выпуск новых фичей

Читать далее

Метод Contains коллекций в Entity Framework для SQL Server

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.6K

Долгое время в метод Contains(), который используется в Entity Framework для фильтрации данных по списку значений, не вносили изменения. До выхода Entity Framework 8 коллекция с этим методом внутри оператора запросов where LINQ транслировалась в значения в виде констант внутри оператора IN для SQL. Если количество элементов равно одному, то преобразование происходило в выражение с оператором ‘=’ на стороне MS SQL Server. Аналогично транслируется и метод расширения Where() LINQ.

Использование в EF8 функции OPENJSON устраняет часть проблем с кэшем планов запросов для SQL Server, но не применимо к старым версиям (compatibility level) баз данных. Да и оптимальность генерируемого ею кода в некоторых случаях вызывает сомнения.

В недавно вышедшем Entity Framework 9 добавили больше настроек для возможности транслирования метода Contains() коллекций как с помощью OPENJSON, так и «по-старому» — в виде констант.

Читать далее

Их будут искать с особым пристрастием: 7 документов, которые должны быть на сайте каждой российской компании

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели26K

Сайт – это лицо компании. Даже если в вашем случае сайт — не площадка для продаж, а дань «тренду», оформлять его в соответствии с требованиями законодательства вы обязаны. Если прогуляться по подвалам онлайн-площадок, можно увидеть настоящие жемчужины околоправовой мысли.

Читать далее

Книга: «Разработка приложений на базе GPT-4 и ChatGPT. 2-е изд.»

Время на прочтение10 мин
Охват и читатели17K
image Привет, Хаброжители!

Кто никогда не пользовался нейросетями? Всего за несколько лет технологии искусственного интеллекта и обработки естественного языка претерпели изменения, которые открывают новые горизонты для разработчиков.

Всего за пять дней с момента выхода ChatGPT его аудитория возросла до одного миллиона пользователей, что стало настоящим шоком для технологической индустрии. API OpenAI, существовавший уже три года, внезапно обрел огромную популярность благодаря возможности генерации текстов с помощью ИИ. Появление ChatGPT продемонстрировало невероятный потенциал языковых моделей, побудив программистов и разработчиков исследовать новые возможности.

И в книге «Разработка приложений на базе GPT-4 и ChatGPT. 2-е изд.» содержится подробное руководство для разработчиков на Python, желающих научиться создавать приложения с использованием больших языковых моделей.
Читать дальше →

Может ли Orange PI 5 Plus с 32 ГБ памяти заменить домашний/офисный ПК?

Уровень сложностиПростой
Время на прочтение40 мин
Охват и читатели61K
Orange Pi 5 Plus 32GB

Производительность ARM процессоров каждый год увеличивается и все ближе к x86 процессорам. Компания Apple давно отказалась от процессоров Intel в пользу процессоров собственной разработки на ARM архитектуре. Но домашний/офисный ПК это не только процессор, но и софт, драйвера, и подключение любых устройств из коробки. Компания Shenzhen Xunlong Software вначале 2023 г. выпустила одноплатный компьютер Orange PI 5 Plus на базе высокопроизводительного процессора Rockchip RK3588 с 32 ГБ ОЗУ и возможностью подключения NVMe SSD дисков. По техническим характеристикам такой одноплатный компьютер сопоставим с домашним/офисным ПК. Проверим на сколько комфортно работать за таким одноплатником, смотреть YouTube, видео, и конечно же поиграем, установим Steam от Valve. Но самое главное оценим работу системы «из коробки» т.е. без танцев с бубном. Вначале рассмотрим характеристики Orange PI 5 Plus, затем процессор Rockchip RK3588, установку и настройку системы, подключение периферийных устройств, и посмотрим, на сколько хорош Linux на ARM для домашнего использования. В итоге рассмотрим какие существуют преграды замены текущих x86 систем на ARM.
Читать дальше →

Conventional Commits без лишних слов: ваша шпаргалка

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели49K

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

Если интересно, листайте ниже и пользуйтесь!👀

Читать далее

Из практики. Как я пришла к тому, что все делаю на английском языке и теперь это легко

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели89K

Из практики. Я сейчас все делаю на английском языке: работаю, веду все свои заметки, смотрю фильмы, учусь, гуглю, разговариваю с ChatGPT и все остальное. Даже дома мы часто разговариваем на английском в течении дня.

К этому я пришла не сразу и на мой взгляд, есть 2 основных барьера, чтобы начать использовать язык:

Читать далее
1
23 ...

Информация

В рейтинге
5 724-й
Откуда
Тула, Тульская обл., Россия
Зарегистрирован
Активность