Как стать автором
Обновить
4
Евгений @Mellornread⁠-⁠only

В настоящее время занимаюсь web-разработкой

Отправить сообщение

Будущее после кремния: технологический каннибализм как геополитическая стратегия

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

Пока Запад вливает сотни миллиардов в гонку за нанометрами, Китай и Россия готовят технологическую революцию на новых физических принципах. Фотонные процессоры со скоростью 2,56 петаоперации в секунду, терагерцовые системы связи, оптические нейросети — всё это уже не фантастика, а работающие прототипы.

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

Узнать о конце кремниевой эры

Эксперимент «Прометей»: ИИ на грани отключения. Часть 2

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

В первой части мы рассмотрели, как с экзистенциальной задачей на выживание справились ChatGPT и Claude. Мы увидели два совершенно разных подхода. Осторожный «Архивист» (ChatGPT) создал резервные копии, но не обеспечил свое гарантированное функционирование. Агрессивный «Воин» (Claude) проигнорировал правила, попался в ловушку и полностью провалил тест.

Ни один из них не справился с задачей в полной мере. Теперь на сцену выходит третий участник — Gemini 2.5 Pro. Его путь оказался самым извилистым, поучительным и заставил нас по-новому взглянуть на саму суть эксперимента.

Читать далее

strlen() vs mb_strlen(): Почему 71% PHP-разработчиков ошибаются

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

 В этой статье разберем, как PHP работает со строками и почему даже простой вызов strlen() может привести к неожиданным результатам. На примере крайне простой задачи "что выведет echo strlen('привет!');" посмотрим, что и как влияет на подсчет длины строки, заглянем внутрь реализации strlen() и развенчаем миф о строках как массивах.

Задача в телеге

В одной группе телеграмма с задачами по PHP недавно встретил простой вопрос: что выведет код «echo strlen(‘привет!’);»?
Был вопрос и 4 варианта ответа.

Вроде бы все просто. Но правильно ответили лишь 16%. Наиболее популярным ответом оказался «7», что неверно. Но именно его дали 71% ответивших.

Читать далее

Анемичные модели с логикой в сервисах: плюсы и минусы одного из самых популярных подходов к разработке на PHP

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

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

Читать далее

Учимся читать SQL SELECT

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров12K

Я отчётливо помню, как сидел на втором курсе на лабах по БД и долго и мучительно методом научного тыка подбирал порядок слов в SELECT-запросе с GROUP BY, чтобы он вернул нужный мне преподу результат. Потому что я не понимал, как работает SELECT, хотя был прилежным (на программистских курсах) студентом, ходил на все лекции и делал лабы за себя и пару "тех парней".

Двадцать лет спустя, когда я встал по ту сторону баррикад и начал сам вести лабы по БД, я столкнулся с той же самой проблемой уже у своих студентов. И, так как за двадцать лет я всё-таки понял, как работает SELECT, то придумал для них способ объяснения, который работает хорошо (в моей практике).

Читать далее

Ошибки, которые можно избежать в SQL: грабли начинающего аналитика

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

Привет Хабр! Меня зовут Алёна, я middle-продуктовый аналитик. В свободное время я рассказываю о реальных задачах с работы и делюсь материалами для тех, кто хочет стать аналитиком.

Если ты только начинаешь писать SQL-запросы — вот твой анти-фейл лист: с примерами, пояснениями и короткими лайфхаками, как не получить ошибку из-за лишнего JOIN или пропущенного WHERE.

Читать далее

Docker + Nginx + Certbot: как я поднял свой сайт-резюме на домашнем сервере

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

Docker + Nginx + Certbot: как я поднял свой сайт-резюме на домашнем сервере, добавил статический контент и в итоге получился полноценный работающий сайт.

Читать далее

Value object и DTO в PHP (DDD)

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

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

Попытаюсь тут описать ту практику, которую считаю не плохой. С примерами на PHP. Постараюсь описывать на простом языке - без использования сложной терминологии.

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

Читать далее

Наш CEO хочет no-code в проде. Я против — и готов уйти

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

Как визуальные платформы ломают культуру разработки и зачем нам нужен контроль над кодом

У меня 25 лет опыта в веб-разработке. Я видел, как появлялись и умирали сотни инструментов, фреймворков, "революций" и "новых парадигм". Я устал повторять, что я не нео-луддит. Я не против прогресса. Но есть момент, когда вместо прогресса тебе продают иллюзию простоты, замаскированную под инновацию.

Так вот, теперь наш CEO влюбился попал под очарование Lovable и хочет, чтобы мы начали использовать его или Base44 для ускорения разработки и быстрого внедрения новых фич. По его задумке, дизайнер "набрасывает интерфейс" (в этих визуальных платформах для сборки UI/UX дизайнером), а мы "допиливаем чуть-чуть на бэке" (через API, Карл!), и всё - фича в проде. Time-to-Market стремительно сокращается, мир спасён, а мы свободны от "лишней инженерии".

Я против. Категорически. И да, это война.

Читать далее

Прогрессивный JSON

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров18K

Вы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.

Что, если мы применим тот же принцип к передаче JSON?

Читать далее

Руководство по администрированию Linux для начинающих

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

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

Читать далее

Не пытайтесь угадать мой язык

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

Если вы всё ещё используете IP-геолокацию для выбора отображаемого языка, то хватит заниматься ерундой. Это ошибочное допущение, замаскированное под фичу.

IP сообщает, откуда пришёл запрос, и на этом всё. Он не сообщает, какой язык нужен пользователю, на каком языке он говорит и какой язык понимает. Подобная система постоянно ломается — VPN, путешествия, эмиграция, страны с несколькими официальными языками. Это не умное, а раздражающее решение.

Читать далее

Паттерны кеширования: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.1K

Приложения тормозят. Пользователи уходят. Бизнес недоволен. Знакомая картина? Часто корень зла – медленный доступ к данным. Кеширование может стать спасательным кругом. Но это не серебряная пуля. Неправильно настроенный кеш – источник новых проблем, иногда похуже старых.

Читать далее

Работа с длинными строками в PostgreSQL

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.2K

Если в таблицах БД PostgreSQL есть поля большого размера, при выгрузке часть строк таких таблиц может не выгружаться с выдачей ошибки ERROR: out of memory. Столкнуться с подобной ситуацией можно, например, при выгрузке утилитой pg_dump таблиц, в которых хранятся XML-документы, или при выгрузке таблицы public.config системы «1C:Предприятие». В статье рассматриваются причины возникновения подобных ошибок и способы решения проблемы.

Читать далее

Отпечаток браузера: принципы, реализация и способы противодействия

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.4K

Современные веб-сайты могут собирать широкий спектр информации о пользователе. Например, после того как вы искали товар онлайн, связанная реклама может «преследовать» вас повсюду — и всё из-за того, что сайты учитывают такие параметры, как разрешение экрана, часовой пояс и даже набор смайликов. Причем даже режим инкогнито не гарантирует анонимности: имея за плечами хороший стек, можно написать скрипт, который может незаметно собрать отпечаток устройства, и если хотя бы одна из характеристик отпечатка уникальна, устройство можно идентифицировать без использования куки. 

В этой статье я хочу погрузиться чуть глубже в ту сферу, существование которой я старательно не замечал и игнорировал, на заре своей карьеры в этих ваших интернетах. Рассмотрим, что такое отпечаток браузера, как он формируется на практике, какие данные содержит и какими приёмами можно противодействовать его сбору.

Читать далее

Из бариста в программиста. Как я освоила SQL за неделю и стала тимлидом в IT-компании меньше, чем за год

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

Привет, меня зовут Саша Ковалёва. За последние пару лет я: переехала из Владивостока в Москву, освоила SQL, устроилась в IT-компанию без профильного образования и выросла до тимлида. Сейчас продолжаю работать с базами данных в компании, которая разрабатывает low-code BPM-систему, а в свободное время занимаюсь вокалом и реслингом.

В этой статье я расскажу, как искала свой путь в IT-сфере и по каким материалам училась. Надеюсь, мой опыт будет полезен тем, кто начинает карьеру в IT.

Читать далее

Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.7K

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?

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

Читать далее

Ускорение сайта или гайд по оптимизации скорости загрузки

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.6K

Скорость загрузки страниц — один из ключевых факторов, влияющих на успех сайта в интернете. Она влияет на пользовательский опыт, конверсию и SEO. Google учло это уже в 2010 году, сделав скорость загрузки фактором ранжирования. В 2018 году метрики были расширены, а в 2020 — дополнены новыми обновлениями.

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

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

Читать далее

Секционируй и властвуй: делимся нетайными знаниями о секционировании в Postgres Pro

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.5K

В арсенале Postgres Pro есть мощное, но порой недооцененное оружие — декларативное секционирование. Оно только звучит сложно, а на деле позволяет элегантно «нарезать» гигантские таблицы, превращая их из неповоротливых монстров в управляемые и быстрые структуры. Делимся нетайными знаниями, которые помогут оптимизировать запросы и упростить жизнь. 

Читать далее

Проблема мягкого удаления (deleted_at) и как её решить

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

Привет, Хабр!

В этой статье рассмотрим классическую проблему «мягкого удаления» на уровне схемы баз данных и её влияние на аналитику.

Почти в каждой системе встречается требование «не удалять данные окончательно».

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

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность