Рубрика «Блог компании RUVDS.com» - 110

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

  1. Маленькие тексты. Имена и фамилии людей, заголовки страниц, имена пользователей, адреса электронной почты и прочее подобное. Обычно на размер таких полей накладываются определённые ограничения, довольно сильные. Возможно, это даже не поля типа text, а поля типа varchar(n).
  2. Большие тексты. Это, например, содержимое публикаций в блогах, тексты статей, HTML-код. Такие данные представляют собой большие фрагменты текста неограниченной длины, хранящиеся в базе данных.
  3. Тексты среднего размера. Это — описания, комментарии, отзывы о товарах, данные о трассировке стека и так далее. В сущности это — любые текстовые поля, размер которых находится между размерами «маленьких» и «больших» текстов. Обычно размер таких полей не ограничен, но их содержимое, по естественным причинам, меньше, чем содержимое полей категории «большие тексты».

Неожиданное влияние текстов среднего размера на производительность PostgreSQL - 1

В этом материале я хочу рассказать о неожиданном влиянии текстов среднего размера на производительность запросов в PostgreSQL. В частности, мы поговорим о TOAST (The Oversized-Attribute Storage Technique, Техника хранения больших атрибутов) 
Читать полностью »

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

Отзывчивый веб-дизайн и учёт высоты окна браузера - 1

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

Прадедушка ноутбука - 1

Если семидесятые годы считаются эпохой сексуальной революции, то восьмидесятые ознаменовались революцией технологической. Компьютеры перешли из категории диковинных игрушек для ученых в разряд привычной домашней техники. На рынке появились персоналки Atari, Commodore 64, первые ПК от Apple. Тогда же перед разработчики озаботились не только увеличением производительности ПК, но и уменьшением их габаритных размеров, чтобы компьютер мог взять с собой в самолет любой банковский клерк. Одного из пионеров в области портативного компьютеростроения звали Адам Осборн.Читать полностью »

Prolog — это один из тех языков, которые программисты обычно изучают в самом начале карьеры (например — в школе или в институте). Его, правда, забывают почти сразу же после того, как изучили.

Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере последние 17 лет. Я участвовал в самых разных проектах, связанных с веб-разработкой и с большими данными (а именно, это были крупные интернет-площадки, ETL-конвейеры и прочее подобное). Суть в том, что за всё это время я не увидел ни одной строчки кода, написанной на Prolog.

Слышали о языке Prolog? - 1

Теперь расскажу о том, что случилось на прошлой неделе. Это был совершенно обычный вторник, я проводил собеседование с начинающим программистом. Когда я спросил его о том, на каких ещё языках программирования он может писать, он ответил так: «Я учил Prolog в университете, но им уже никто не пользуется».

Это заставило меня задуматься о том, насколько подобное заявление соответствует действительности.
Читать полностью »

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow - 1

Я сильно верю в обучение через практику, через создание чего-то нового. А для того чтобы что-то создавать, нужно чтобы работа приносила бы удовольствие.

Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.

Я живу в Лондоне, мой сад часто посещают местные представители дикой природы. Случается это так часто, что я, заядлый садовник, мало-помалу начал расстраиваться. Разбитые горшки, выкопанные из земли растения, съеденные фрукты и овощи…

Я видел в своём саду маленьких лис (они — просто прелесть), больших лис, кошек (не моих), птиц. А однажды меня даже посетил ястреб-перепелятник. Читать полностью »

Вскрытие трафика в публичных сетях - 1

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

Шучу. На самом деле передо мной стояла задача понять две вещи:

  1. Насколько опасно пользоваться публичным WiFi в 2020 году, в мире где господствуют браузеры и сайты с повсеместно победившими технологиями HTTPS (на основе TLS 1.1+) и HSTS
  2. Сможет ли человек моего уровня знаний (не самого высокого) “залезть” в чужой браузер и стащить ценные данные.

Спойлер

А в спойлере спойлер:

  1. Да, Опасно!
  2. Вполне сможет

Читать полностью »

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

Pylint: о попытке снизить потребление памяти - 1

Однажды я решил засучить рукава и найти ответы на следующие вопросы:

  • Что именно потребляет так много памяти?
  • Можно ли как-то этого избежать?

Здесь я хочу рассказать о том, как искал ответы на эти вопросы. Я планирую пользоваться этим материалом как справочником в тех случаях, когда мне придётся заниматься профилированием Python-кода.
Читать полностью »

Недавно в наших соцсетях выступал Александр Чистяков, DevOps с 7-летним опытом и сооснователь Санкт-Петербургского сообщества DevOps-инженеров.

Саша один из топовых докладчиков в этой сфере, он выступал на главных сценах на Highload++, РИТ++, PiterPy, Стачка, всего сделав не менее 100 докладов. В прошлый понедельник он ответил на вопросы зрителей и рассказал про свой опыт.

Делимся записью эфира и расшифровкой.


Меня зовут Александр Чистяков, я много лет работаю DevOps-инженером. Я давно консультирую различные компании на тему внедрения DevOps-практик, использования современного DevOps-инструментария и организации инфраструктур таким образом, чтобы все мы могли спокойно спать по ночам, и люди продолжали получить деньги за свои товары и услуги.

В основном я консультировал иностранные компании.
Читать полностью »

Предположим, у вас имеется $1000 и вы собираетесь всё это спустить на игровой монитор. За эти деньги можно купить новейший 4K-дисплей с микроскопическими пикселями, обладающий широким динамическим диапазоном и отличающийся высокой частотой обновления экрана. Или можно раскошелиться на изогнутый QHD-монитор, такой широкий, что во время игры на нём придётся задействовать периферическое зрение.

Есть и ещё один вариант. Можно рискнуть, отправиться на eBay и потратить похожую сумму на CRT-монитор, выпущенный два десятка лет назад.

Почему 20-летний CRT-монитор лучше современного 4K LCD-дисплея? - 1

Последний вариант, на первый взгляд, может показаться противоречащим здравому смыслу. Но, на самом деле, не всё так просто. В кругах любителей компьютерных игр есть люди, которые уверены в том, что мониторы с электронно-лучевой трубкой отлично подходят для игр. Такие мониторы, по мнению этих людей, быстрее реагируют на действия игрока, а изображение на них смазывается меньше, чем на LCD-дисплеях. Этих людей совершенно не пугает то, что старые мониторы, в сравнении с новыми, имеют более низкое разрешение, меньшие размеры экранов, то, что они занимают очень много места на рабочем столе. Спор приверженцев CRT и LCD идёт уже много лет. Но недавно к этой теме было привлечено внимание проекта Digital Foundry, выпустившего видео о сильных сторонах CRT-мониторов.
Читать полностью »

Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке — создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом.
Делимся с вами расшифровкой и записью интервью

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js