Search
Write a publication
Pull to refresh
3
0
Егор @Ommonick

SDET teamlead

Send message

Причуды эволюции: необычное «железо», которое не должно было появиться. Часть 1

Level of difficultyMedium
Reading time16 min
Views30K


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

То ли дело раньше — в погоне за кошельками пользователей производители комплектующих были готовы идти на куда больший риск, а иногда в роли авантюристов выступали даже создатели альтернативных чипсетов. Встречались даже материнские платы для двух разных поколений процессоров, например 386 и 486! Или, например с двумя разъемами — для процессора базового и для топового уровней. И это не только возможность выбора между Celeron (socket 370) и Pentium II (slot 1), но и даже между Pentium III (slot 1) и могучим Pentium III Xeon (slot 2).

Да, пожалуй, с материнских плат и стоит начинать эту тему. Но странных гибридов рассмотрим в другой раз, сегодня мы заберемся глубже — я откопал семь примеров таких химер, которых быть просто не должно! Расчехляем машину времени, устраиваемся поудобнее, откидываемся на спинку табуретки, поехали!
Читать дальше →

PostgreSQL под капотом. Часть 6. Сложный SELECT запрос

Level of difficultyMedium
Reading time57 min
Views7.5K

Продолжим погружение в код PostgreSQL. Сейчас посмотрим, что происходит, когда вы хотите выполнить запрос сложнее, чем в прошлый раз: добавим WHERE, GROUP BY, HAVING, ORDER BY, LIMIT.

Плюс:

Системный кэш

Сходство обращения к столбцам и вызовов функций

Предсказание количества возвращаемых кортежей

Работа с простыми типами

Маркировка столбцов при использовании FOR UPDATE

Читать далее

Обнаружение утечек памяти в Go через Pyroscope

Level of difficultyEasy
Reading time3 min
Views6.6K

Для обнаружения аномально высокой длительности выполнения отдельных функций (а также избыточного выделения или утечек памяти) используются инструменты профилирования над виртуальной машиной (например, JProfiler или Visual VM для JVM) или интегрированные в выполняемый код, например встроенный механизм при компиляции Go-приложений. Альтернативой может стать использование универсальных механизмов профилирования, которые интегрируются со средой выполнения и отправляют результаты профилирования на сервер, который может анализировать аномальное поведение и визуализировать выделение памяти и время выполнения отдельных функций (и построить flame graph по результатам анализа приложения во время выполнения). В этой статье мы рассмотрим использование Pyroscope совместно с Go для обнаружения утечек памяти.

Читать далее

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

Level of difficultyEasy
Reading time9 min
Views12K

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

Перед тем, как начать, буквально пару слов о себе. Меня зовут Роман Лунев, я руковожу отделом бэкенд-разработки в команде развития суперприложения ВКонтакте. Разработкой занимаюсь более 10 лет, а собеседования провожу уже порядка 6–7 лет. За это время я много раз успешно заваливал, а потом, с опытом, и успешно проводил собеседования как интервьюер. А ещё насмотрелся на косяки коллег, потому что время от времени погружал в этот процесс интервьюеров-новичков. А это даёт очень много пищи для размышлений. Расскажу про свой план собеседования.

Читать далее

Как заонбордиться тимлиду — первые 90 дней на новой работе

Reading time7 min
Views12K

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

Ещё дадим несколько советов на тот случай, если всё-таки не удаётся показать результат за отведённое время.

Читать далее

3 истории о выгорании с happy end'ом

Level of difficultyEasy
Reading time9 min
Views4.4K

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

Читать далее

Как yarn v3 и философия Zero Installs помогли нам сократить длительность ci/cd пайплайна в 3 раза

Level of difficultyMedium
Reading time8 min
Views8.2K

Всем привет, меня зовут Фёдор — я руководитель фронтенд-разработки на проекте Smartbot Pro в компании KTS

Наш проект — конструктор ботов для социальных сетей, в котором алгоритм бота представлен в виде визуального графа. Конструктор включает большое количество интеграций. Недавно на проекте остро встал вопрос оптимизации наших ci/cd пайплайнов, потому что релиз мог занимать от 4 до 18 минут.

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

Читать далее

Бабочка Лоренца: на пути к новой науке

Reading time9 min
Views6.5K

Что может быть скучнее прогноза погоды? На первый взгляд кажется, что нет более далекой от прорывных научных открытий сферы, чем метеорология. Однако примерно 60 лет назад именно наука о погоде дала жизнь новой, странной и прекрасной области знаний – теории хаоса.

Читать далее

Как и зачем аналитику проводить UX тесты. Часть первая

Level of difficultyMedium
Reading time6 min
Views4K

Привет, Хабр! Меня зовут Настя Московкина, и я работаю руководителем Отдела бизнес и системного анализа в приложении «Кошелёк». Сегодня поговорим о том, как аналитик может повлиять на повышение конверсий и превратить простых посетителей сайта\приложения в постоянных и преданных пользователей с помощью инсайтов, полученных в результате UX тестов. 

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

Читать далее

Как мы принимаем решения, которые нам вредят

Level of difficultyEasy
Reading time7 min
Views8.4K

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

Читать далее

Запустили новый сервис Setewiki

Reading time6 min
Views5.1K

Инструменты сервиса Setewiki позволят лучше понимать, как работает интернет в России, какие провайдеры являются основными и как связаны различные автономные системы (АС) между собой. 

Читать далее

Настройка PostgreSQL под Linux

Level of difficultyEasy
Reading time10 min
Views138K

Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать высококвалифицированных администраторов, которые будут администрировать все эти open-source системы.

На наших бизнес-приложениях, использующих в качестве СУБД PostgreSQL, работают 70% крупнейших розничных сетей в Беларуси. Во всех из них одновременно работают от 500 до 1500 пользователей. В приложениях реализованы практически все основные процессы розничных сетей (демо, чтобы оценить сложность). Размер баз данных на данный момент составляет от 2 до 4ТБ. И все они работают практически со стандартными настройками PostgreSQL на одиночных серверах без какой-либо кластеризации. При этом даже в самых загруженных серверах есть еще значительный резерв по ресурсам для дальнейшего увеличения нагрузки без потребности в кластеризации.

Да, конечно же, многое зависит от запросов к СУБД, и несколькими кривыми запросами можно положить весь сервер. Однако, точно также можно положить и Oracle, и MSSQL. Да, платформа lsFusion, на которой написаны наши приложения, делает много различных оптимизаций запросов конкретно под PostgreSQL. Но вручную SQL-запросы можно оптимизировать еще лучше.

В этой статье я полностью опишу все настройки PostgreSQL (и немножко ОС), которые мы делаем на наших системах. Кроме того, мы специально стараемся не изменять те настройки, которые не дают видимого изменения в производительности, чтобы потом не гадать, почему в одном окружении есть проблема, а в другом - нет.

Читать далее

Соревнования Capture The Flag (CTF) и все, что вы о них еще не знали

Level of difficultyEasy
Reading time27 min
Views8.6K

Привет! Меня зовут Анна Шабалина, и я работаю в Swordfish Security. Этой статьей я открываю нашу новую рубрику #досугбезопасника.

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

Статья длинная, заготовьте чашечку кофе.

Читать далее

Шаблон Котлин-приложения

Level of difficultyEasy
Reading time9 min
Views8K

Где-то раз в год возникает желание посмотреть: если сейчас начинать приложение с нуля, то что бы обязательно в него включил? Кроме очевидной практической ценности (обычно начинается новый проект) это так же позволяет осознать какой архитектурный опыт получен за последнее время.

Необходимость шаблона сверх https://start.spring.io вызвана следующими типами доработок:

Читать далее

Пошаговая тактика Tenebris -  оцените демо в Steam

Level of difficultyEasy
Reading time5 min
Views4K

Всем привет! Мое имя Петр, и в этой статье я расскажу о нашей игре  —  Tenebris: Terra Incognita. Сегодня мы имеем уже законченную демоверсию в Steam и готовимся зимой выпустить игру в ранний доступ.

Читать далее

[Паттерны API] Списки и организация доступа к ним

Level of difficultyHard
Reading time11 min
Views8.3K

Это глава 20 моей книги «API». v2 будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

В предыдущей главе мы пришли вот к такому интерфейсу, позволяющему минимизировать коллизии при создании заказов:

Читать далее

Jaeger для трассировки в микросервисной архитектуре

Level of difficultyMedium
Reading time15 min
Views26K

 Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков программирования, в том числе в продакшн. 

Эта статья про Go и микросервисную архитектуру написана на основе вебинара для Практикума.

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

Читать далее

16 простых и эффективных правил дизайна UI

Level of difficultyEasy
Reading time11 min
Views38K

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

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

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

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

Самый быстрый способ обучения — это практика, так что приступим!
Читать дальше →

Дешёвые ARM смартбуки в 2023 — есть ли перспективы? Ремонтируем и находим им применение в наши дни

Reading time14 min
Views11K
image

Практически каждое поколение портативных устройств производители чипов на архитектуре ARM пытаются втиснуться в рынок полноценных десктопных компьютеров и получить себе место под солнцем в качестве рабочих станций, серверов, а то и простых мультимедийных ПК. Последний десяток лет им это удаётся особенно хорошо, и в первую очередь — благодаря выходу чипа Apple M1. Даже Qualcomm, в сотрудничестве с Microsoft, выпустили нетбуки на полноценной Windows 10 For ARM с эмулятором x86, который и игрушки неплохо тянет. Однако яблочные устройства стоят огромных денег: 100+ тысяч рублей может потратить далеко не каждый энтузиаст, который хотел бы себе портативный компьютер на ARM. А вот 500-2.500 рублей вполне! Предлагаю в этой статье глянуть на ARM-смартбуки прошлых лет и оценить их перспективы тогда и сейчас!
Читать дальше →

Импортозамещение TCP/IP или о чем вообще речь?

Reading time9 min
Views36K

На встречи Владимира Путина с представителями организаций в сфере беспилотных авиационных систем был озвучен проект с говорящим названием "Интернет из России", который СМИ подхватили и стали декларировать как замена TCP/IP.

Давайте разберемся, что было сказано на этой встречи и реально ли можно говорить о замене TCP/IP.

Читать далее

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Quality Assurance Analyst
Lead