Search
Write a publication
Pull to refresh
-12
0
Send message

Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз

Reading time3 min
Views45K
Здравствуйте, хабровчане! Предлагаю вашему вниманию перевод статьи «How a single PostgreSQL config change improved slow query performance by 50x» автора Pavan Patibandla. Она очень сильно мне помогла улучшить производительность PostgreSQL.

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

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

Медленный запрос

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

Сколько зарабатывают разработчики разных квалификаций, 2018

Reading time5 min
Views133K


Продолжаем углублять наши знания карты зарплат в ИТ. После общего обзора зарплат за второе полугодие 2018, мы сравнили зарплаты удалённых и офисных разработчиков, живущих в одних и тех же городах.

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

С картинки каждой диаграммы box plot можно перейти к её интерактивной версии, где будет проще сориентироваться в цифрах.
Читать дальше →

GeekBrains запускает бесплатный онлайн-марафон, посвященный удаленной работе

Reading time2 min
Views7K


С 18 по 22 марта образовательный портал GeekBrains проведет бесплатный онлайн-марафон для желающих сменить офисную работу на фриланс по четырем направлениям: маркетинг, дизайн, управление и программирование. За пять дней участники пройдут десять вебинаров, а самые активные получат призы и скидку на обучение в GeekBrains.

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

Король разработки

Reading time15 min
Views212K


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

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

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

Использование Fastify и Preact для быстрого прототипирования веб-приложений

Reading time11 min
Views18K
Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой htm. Она легко интегрируется с Preact и используется для описания элементов DOM с использованием понятных конструкций, напоминающих JSX. При этом для работы с ней не нужен транспилятор вроде Babel. Продемонстрировав инструментарий разработки прототипов и методику работы с ним, автор материала покажет как упаковывать такие приложения в контейнеры Docker. Это позволяет легко демонстрировать приложения всем, кому они интересны.


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

10 распространенных ошибок в письменном английском и как с ними бороться

Reading time6 min
Views27K


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

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

Итак, вот какие ошибки в письменном английском наиболее распространены:
Читать дальше →

[По докам] Flutter. Часть 1. Для Android разработчиков

Reading time25 min
Views42K
Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучения документации фреймворка, с которым они ещё не работают.

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


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

Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах

Reading time15 min
Views52K
Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. Поехали.

Disclaimer: автор — не турборазработчик, а обычная веб-макака без претензий. Поэтому приведенные задания и решения могут вызвать у вас улыбку, баттхерт и желание указать автору на его некомпетентность. С нетерпением жду вас в комментариях! :)

Обсуждение выполненных тестовых заданий


В прошлой части я описывал, что делал аж два тестовых задания: первое на DevOps Engineer, второе — на Ruby Developer. Расскажу, что же было дальше.
Читать дальше →

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 1/2

Reading time5 min
Views12K
Привет Хабр.

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



Рейтинги, статистика и немного исходного кода на Python под катом.
Читать дальше →

Российские офтальмологи рассказали о бионическом зрении. Новое мобильное приложение демонстрирует работу киберсетчатки

Reading time2 min
Views8.6K
Наши глаза и их способность видеть – сложнейший биологический механизм. Чтобы сформировать его, природе понадобились миллионы лет эволюции. Но что делать, если этот уникальный механизм вдруг даёт сбой? Человечество шагнуло в эпоху IT-технологий меньше полувека назад – мгновение по меркам природы – но уже научилось восстанавливать, а иногда и заменять живые элементы на кибернетические.



В этом смог убедиться каждый участник интерактивной лекции «Как вернуть зрение? Бионические зрительные протезы и виртуальная реальность», прошедшей в стенах МГТУ им. Баумана 20 февраля. Мероприятие провели эксперты научно-производственной лаборатории «Сенсор-тех» – московского разработчика технологий для людей с нарушениями слуха и зрения.

Врачи рассказали об уже имеющемся опыте применения бионических протезов сетчатки глаза, которыми в настоящее время обладают двое россиян. Современные технологии позволили полностью слепым людям частично вернуть способность видеть окружающий мир. И хотя современные «механические глаза» очень ограничены, в будущем качество искусственного зрения будет расти и в какой-то момент сможет целиком восстановить утраченные зрительные функции, уверены организаторы мероприятия.
Читать дальше →

Автоматизация конвертирования word файлов в другие форматы

Reading time3 min
Views19K
Некоторые гос. структуры формируют отчёты в doc файлах. Где-то это делается руками, а где-то автоматически. Представим, что вам поручено обработать тонну таких документов. Это может быть необходимо для вычленения какой-то конкретной информации или просто проверки содержимого. Нам нужно вынуть только неформатированный текст без графиков и картинок. К примеру, такие данные проще засовывать в нейронную сеть для дальнейшего анализа.

Вот некоторые варианты для самого обычного человека:

  • Ручками перебрать все файлы по одному. Уже после десятого документа к вам придёт мысль о том, что вы делаете что-то не так.
  • Попробовать найти в интернете специальную библиотеку (расширение) для работы с doc файлами на языке программирования, которым вы владеете. Потратить часок другой на понимание, как работать с этой библиотекой. Также вам ещё предстоит столкнуться с тем, что принципы работы с doc и docx слегка отличаются.
  • Попытаться автоматизированно пересохранить все документы в другой формат, с которым будет удобнее работать.

Как раз о последнем варианте и пойдёт речь.

И на помощь к нам спешит vbs скрипт. vbs скрипт можно вызвать из командной строки, что можно сделать в любом языке программирования.
Читать дальше →

Хабрарейтинг 2018: лучшие материалы за 2018 год

Reading time20 min
Views23K
Привет Хабр.

Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части для тех кто интересуется технической стороной вопроса), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находить статьи по различным параметрам, например, статьи с самым высоким «качеством» (соотношением рейтинга к числу просмотров), самые «спорные» статьи, у которых больше всего полярных комментариев, самые комментируемые материалы, и пр.



Пора теперь извлечь из этого какую-то пользу, и составить статистический рейтинг статей за 2018 год. В идеале это хорошо было бы сделать к началу Нового Года, но умные мысли бывает, приходят с запозданием. Но лучше поздно чем никогда, это позволит перечитать какие-то полезные статьи тем, кто пропустил их в свое время. И небольшой «секретный бонус» в конце текста для тех, кто будет достаточно любопытен.

Тех, кому интересно что получилось, прошу под кат.
Читать дальше →

Хабрарейтинг 2017: лучшие материалы за 2017 год

Reading time16 min
Views9K
Привет Хабр.

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



Кому интересны результаты, прошу под кат.
Читать дальше →

Разработка под WebAssembly: реальные грабли и примеры

Reading time25 min
Views44K


Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците.

На конференции HolyJS доклад об опыте использования WebAssembly получил высокие оценки зрителей, и теперь специально для Хабра подготовлена текстовая версия этого доклада (видеозапись также приложена).
Читать дальше →

Как продать корпоративное ПО и выжить?

Reading time12 min
Views15K
У технологичных компаний есть одна проблема — они гонятся за технологиями, ставят во главу угла именно процесс, код, механику, но нередко забывают о клиентах. И этот перекос часто заметен, особенно в сфере разработки программного обеспечения. Но это не со зла, конечно. Иногда разработка софта — это чистое вдохновение, запал и минимум идей о том, как и кому всё это продать. А зарабатывать нужно. И тут приходят клиенты, хорошие и разные. Пора посмотреть в глаза этим фантастическим людям и узнать, какими они бывают.


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

Я просканировал всю Австрию и нашёл…

Reading time3 min
Views28K

...IP-камеры, принтеры, АСУ ТП и многое другое


Отказ от ответственности: статья — результат нескольких недель работы. О самых больших проблемах я сообщил владельцам серверов, если смог их найти, а о других — в Cert.at. Кроме того, я не пытался войти ни на какое устройство/сервис/сайт, требующие пароль.

Прежде всего: как получить все IP-адреса целой страны?

Это очень просто. IP-адреса не «генерируются» страной, а назначаются центральным органом. Это означает, что существуют списки всех IP-адресов по странам.

Любой желающий может скачать такой список. Введите grep Austria IP2LOCATION-LITE-DB1.CSV > austria.csv и запустите простой скрипт для преобразования IP-адресов в удобный формат.
Читать дальше →

Domain-driven design: рецепт для прагматика

Reading time21 min
Views76K

Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?

Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.

Профессиональная контейнеризация Node.js-приложений с помощью Docker

Reading time10 min
Views72K
Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docker, технологии, которая, в последнее время, является чрезвычайно популярной, позволяет оптимизировать процесс разработки и вывода в продакшн Node.js-проектов.

image

Сейчас мы публикуем цикл статей о Docker, предназначенных для тех, кто хочет освоить эту платформу для её использования в самых разных ситуациях. Этот же материал сосредоточен, в основном, на профессиональном применении Docker в Node.js-разработке.
Читать дальше →

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

Reading time3 min
Views27K
TL;DR Привет. Меня зовут Богдан и я изучаю проблемы чтения кода. Я только что закочнил первую рабочую версию «codecrumbs» — визуального инструмента для изучения исходного кода с помощью «хлебных крошек». Гитхаб репозиторий можно посмотреть тут.

image

Проблема


Недавно я проводил опрос о главных проблемах с которыми мы сталкиваемся когда начинаем изучать исходный код большого проекта (если вы ещё не участвовали, то пройти опрос всё ещё можно тут).
Читать дальше →

Новый золотой век для компьютерной архитектуры

Reading time30 min
Views40K
Авторы — Джон Хеннесси и Дэвид Паттерсон, лауреаты премии Тьюринга 2017 года «за новаторский систематический и измеримый подход к проектированию и проверке компьютерных архитектур, оказавший долговременное влияние всю отрасль микропроцессорной техники». Статья опубликована в журнале Communications of the ACM, февраль 2019, том 62, № 2, стр. 48-60, doi:10.1145/3282307

«Те, кто не помнит прошлого, обречены повторить его» — Джордж Сантаяна, 1905

Свою лекцию Тьюринга 4 июня 2018 года мы начали с обзора компьютерной архитектуры, начиная с 60-х годов. Кроме него, мы освещаем актуальные проблемы и пытаемся определить будущие возможности, которые сулят новый золотой век в области компьютерной архитектуры в следующем десятилетии. Такой же, как в 1980-е, когда мы проводили свои исследования по улучшению в стоимости, энергоэффективности, безопасности и производительности процессоров, за что и получили эту почётную награду.

Ключевые идеи


  • Прогресс программного обеспечения может стимулировать архитектурные инновации
  • Повышение уровня программно-аппаратных интерфейсов создаёт возможности для инноваций архитектуры
  • Рынок в конечном итоге определяет победителя в споре архитектур
Читать дальше →

Information

Rating
Does not participate
Registered
Activity