В этой статье я приведу демонстрацию использования BPF uprobe/uretprobe для исследования внутреннего мира Postgres вместо usdt-проб.
Oracle ACE, performance tuning and troubleshooting
Псс, парень… индекс нужен?
Самый больной вопрос для любого разработчика, которому приходится вычитывать данные из базы: "Как сделать мой запрос быстрее?". Классический ответ - необходимо создать подходящий индекс. Но куда именно его стоит "накатывать", да и как вообще он должен выглядеть?..
Мы научили наш сервис визуализации планов PostgreSQL отвечать на эти вопросы, и под катом расскажем, чем именно он руководствуется в своих рекомендациях.
Родинки — это плохо? Разбираемся с эстетикой и раком кожи (не всё так страшно)
Но бояться их не надо. Их надо отслеживать. Я лучше расскажу, что из себя представляют родинки, как самостоятельно отслеживать, всё ли с ними хорошо. Ну и про ультрафиолет тоже расскажу.
Стадии развития меланомы
Зачем нужно разбираться в теме? Затем, что даже если родинка, например, пугающе чёрная или приподнята над кожей — это ещё не значит, что всё плохо. А вот небольшое коричневое пятнышко, у которого края стали неровными (а вы и не замечали, чтобы они и раньше были ровными), — это вполне может быть меланомой, то есть раком кожи.
Ниже будут примеры того, чего бояться не надо, а что, вовремя замеченное, спасёт вас от очень неприятных последствий.
Как работает оптимизатор PostgreSQL при большом количестве таблиц в запросе
Работу по нахождению самого лучшего способа получения требуемых данных выполняет планировщик (он же оптимизатор) запросов. Он выбирает способы соединения наборов строк и их обработки, строит различные планы выполнения запроса и находит среди них наилучший, для чего используется стоимостная модель оптимизации.
Поэтому оптимизатор — это ключевая часть СУБД, один из самых сложных элементов всей системы.
Для демонстрации работы оптимизатора практически во всех наших (и чужих) примерах на эту тему используются довольно скромные параметры: две-три таблицы, пара JOIN-ов, миллисекунды на выполнение запросов. А что будет, если загрузить оптимизатор десятками таблиц за раз? Как разные конфигурационные параметры влияют на производительность запросов с сотней JOIN-ов? И переживет ли это среднестатистический рабочий ноутбук? Ответы на эти вопросы — со схемами и графиками — вы найдете под катом!
Упрощаем мониторинг и управление контейнерами Docker при помощи инструментов CLI
Контейнеры Docker помогают разработчикам во многих аспектах. Преимущества контейнеризации включают в себя улучшение совместной работы, снижение затрат, гибкость и возможность быстрого тестирования / развёртывания приложений. С ростом технологического прогресса не менее важно уметь управляться с контейнерами Docker, даже если вы используете лучшие платформы хостинга, вам нужны эффективные инструменты для управления ими.
В этой статье мы сосредоточимся на некоторых простых и эффективных инструментах CLI, которые помогут вам контролировать и управлять контейнерами Docker.
Новая Зеландия открывает границы
Прошло два года с моей прошлой статьи, которая случилась как раз на заре COVID-19, и буквально через несколько дней после её выхода Новая Зеландия закрыла границы для всех, кроме обладателей виз постоянных резидентов и граждан.
Два года спустя, когда уже стало понятно, что держать оборону с нынешним вариантом Omicron не выйдет, правительство придумало план постепенного открытия границ.
Уже сейчас в страну могут вернуться резиденты и граждане без обязательного прохождения государственного карантина (который стоил относительно больших денег, кстати).
И примерно с июля 2022 смогут заехать обладатели рабочих виз.
Естественно все ниже не может являться советом по иммиграции, потому что по закону это могут делать только лицензированные агенты (кстати, есть русскоговорящие).
Разработка игры на Unity с нуля до релиза
Приветствую, Хабр! ?
«Разработка игры с нуля до релиза» - это серии статей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на GNU\Linux ?
Профилирование с точностью до ассемблерных инструкций
Работая над темой низкоуровневого профилирования, я обнаружил отсутствие подробного руководства по настройке окружения и сбору материала. Всё пришлось делать самому путём проб и ошибок. Итогом стала эта статья, в которой я по шагам описал профилирование кода, горячее место в котором не в силах обнаружить не только какой-нибудь VisualVM, но и титаны вроде async-profiler-а. В качестве примера использован код из ранее упоминавшейся статьи The volatile read surprise.
Рецепты для хворающих SQL-запросов
За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подсказки, которые выглядят примерно так:
Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)
А если серьезно, то многие ситуации, которые делают запрос медленным и «прожорливым» по ресурсам, типичны и могут быть распознаны по структуре и данным плана.
В этом случае каждому отдельному разработчику не придется искать вариант оптимизации самостоятельно, опираясь исключительно на свой опыт — мы можем ему подсказать, что тут происходит, в чем может быть причина, и как можно подойти к решению. Что мы и сделали.
Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
Qualcomm QCC3020 — расцвет китайских TWS-наушников
Если вы погуглите QCC3020, то результаты поиска вывалят гору обзоров наушников — от визуальных подражателей AirPods до псевдо-винтажных моделей для ценителей. Edifier, Tronsmart, Mifo, Pamu… их всех объединяет небольшая ценность родного бренда и китайское происхождение. Давайте разберёмся, что это за чип, и почему производители недорогих TWS-наушников используют QCC3020 и почему так им гордятся.
Ломаем игру на память: целый детектив
Эта игра не давала нам покоя несколько месяцев. Правила очень простые: надо выкладывать карточки с картинками и придумывать сказку. Потом вспомнить её.
Простая штука на запоминание, подумали мы. Сто раз в такое играли, и всё наше образование просто вопит, что сейчас будет просто.
Три месяца. Три долбанных месяца прошло, прежде чем мы почти научились выигрывать. По пути нам пришлось поднять переводы «Войны и мира» и вообще узнать много нового о длине слов в разных языках. Заодно дошли до психолингвистов. И решили для себя давний вопрос про длину сообщения в русском и английском.
Спойлер: русский язык в среднем (на длинных фразах) не длиннее английского. И вообще все языки примерно одинаковы по скорости передачи информации — по крайней мере, так нам сказали в РАН. Но сразу сказали, что цитировать их нельзя, потому что исследования нет, и где-то рядом ходит РЕН-ТВ. Тут очень кстати пришёлся релиз английской версии Хабра с переводами — так мы быстро нашли базу эквивалентов.
Но давайте с самого начала.
Указатели в Python: в чём суть?
Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам управления памятью. А есть ли указатели в Python, можно их как-то эмулировать?
Указатели широко применяются в С и С++. По сути, это переменные, которые содержат адреса памяти, по которым находятся другие переменные. Чтобы освежить знания об указателях, почитайте этот обзор.
Благодаря этой статье вы лучше поймёте модель объектов в Python и узнаете, почему в этом языке на самом деле не существуют указатели. На случай, если вам понадобится сымитировать поведение указателей, вы научитесь эмулировать их без сопутствующего кошмара управления памятью.
Годные туториалы на YouTube
Я веду freeCodeCamp, YouTube канал без рекламы. У нас есть полные видеокурсы и учебные пособия по многим популярным языкам программирования и фреймворкам (включая JavaScript, Python, Java, Ruby, C, C ++, Angular и не только).
Есть и другие YouTube каналы с бесплатными уроками по программированию, которые ничуть не хуже, а иногда даже лучше, чем платные.
В этой статье я перечисляю десять YouTube каналов, которые можно посмотреть, чтоб прокачаться в программировании. Расположение каналов — случайное.
Бывает полезно посмотреть одну и ту же тему у разных преподов, так можно глубже разобраться в вопросе.
Есть много отличных каналов, для которых у меня не хватило места в этом списке. Поделитесь своими находками в комментах.
Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут
Деловая переписка на английском языке: фразы и советы
Электронные сообщения дают возможность быстро обмениваться информацией на больших расстояниях. По скорости передачи идеи это приравнивает их к телефонному разговору. Однако электронные письма сохраняются на почтовых серверах и используются как печатное свидетельство наших слов. Поэтому электронная переписка требует ответственного отношения.
Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
За пять дней я прошел собеседования в пяти компаниях Силиконовой долины и получил пять предложений о работе
Как все началось
Я отработал в Groupon почти три года. Это моя первая работа, там были и прекрасные люди, и отличные проекты. Мы делали всякие интересные штуки, вводили перемены внутри компании, публиковали материалы и все в таком духе. Но со временем я стал ощущать, что темп моего самообразования стал затухать (попросту говоря, замедляться), мне не хватало пищи для ума. К тому же, как и всякого разработчика ПО из Чикаго, меня тянуло в Область залива Сан-Франциско — ведь там столько известных компаний.
Жизнь коротка, а профессиональная жизнь еще короче. Обговорив все с женой и заручившись ее полной поддержкой, я решил сделать решительный шаг и в первый раз в жизни поменять работу.
Как собеседовать инженеров-программистов
В этой статье я собираюсь показать, что нам удалось понять к настоящему моменту. Технические собеседования во многом неправильно организованы. Это легко сказать, и во многих статьях об этом говорится. Сложнее исправить эти недостатки. Моя задача в этой статье — справиться с этой задачей и изложить конкретные советы для найма менеджеров и технических директоров. Собеседование — сложная вещь. Но я думаю, что многие проблемы можно решить, если тщательно продумать процесс. Здесь я пишу об оценке технических навыков. В будущих статьях мы поговорим о культурном соответствии, поведенческих интервью и оценке нетехнических качеств.
Как сделать число 100 из любого другого шестизначного числа
Прочитав его, я вспомнил как полгода назад решил такую же, но чуть более глобальную задачу. В этой статье я хотел бы поделиться своим способом решения и дать возможность «поиграться» с алгоритмом. Но сначала немного предыстории.
Предыстория
Давным давно, когда у людей не было смартфонов, в поездках на общественном транспорте каждый развлекал себя как умеет. Одним из таких способов не заскучать была занимательная игра, которая помогала не только скоротать поездку на автобусе, но и немного «расшевелить мозги». Звучит она так.
Как сделать девушке предложение при помощи социальной инженерии
«Начало этой истории положила моя неуёмная страсть к сайд-проектам и сложным задачкам. Как разработчик софта, я постоянно нахожусь в поиске классных проектов, которые мог бы взять в работу. Когда я решился сделать предложение своей девушке, то сразу понял: нужно использовать эту страсть, чтобы придумать идеальный персонализированный сценарий.
YT: зачем Яндексу своя MapReduce-система и как она устроена
Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и ClickHouse. На встрече мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.
Какую задачу мы решаем?
По роду своей деятельности Яндекс постоянно сталкивается с необходимостью хранить и обрабатывать данные таких объемов, с которыми обычному пользователю никогда не приходится иметь дело. Поисковые логи и индексы, пользовательские данные, картографическая информация, промежуточные данные и результаты алгоритмов машинного обучения — все это может занимать сотни петабайт дискового пространства. Для эффективной обработки подобных объемов традиционно используется парадигма MapReduce, позволяющая достичь хорошего баланса между эффективностью вычислений и простотой пользовательского кода.
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity