Портрет 4X_Pro
Был в Сети 5 дек. 2025 г., 19:55
4X_Pro
Идеалист Интернета
  • Программист
  • Блоггер
  • Фотограф
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+Cinnamon). Сторонник IndieWeb, slow lifer.

Социальные сети


Новости сайта в Telegram

t.me/4x_pro

Компьютерное

Масштабирование широкого сайта для низких разрешений экрана

4X_Pro

Однажды столкнулся с дизайном, который был сделан так, что минимальная ширина составляла около 1350 пикселей. Естественно, на экранах с разрешением 1280px и ниже он не влезал по ширине, что не устраивало заказчика, при этом на вариант с переменной шириной, где меню и некоторые другие элементы выводились бы в две строки, заказчик также не соглашался. Пришлось воспользоваться масштабированием с помощью свойства CSS 3 transform: scale, сделав небольшой Javascript, который рассчитывал необходимый масштаб:


Читать далее…

Как увеличить время работы телефона с Android

4X_Pro

Некоторое время назад решил заняться настройками своего телефона на Android (Sony Ericsson Neo V) для того, чтобы увеличить время работы без подзарядки. Удалось достичь весьма неплохих результатов: вместо двух суток работы в режиме ожидания телефон стал выдерживать пять-шесть дней (при условии переключения на ночь в полетный режим), и решил описать, как я этого добился.
Читать далее…

Настройка suexec под Debian

4X_Pro

Недавно потребовалось на своем VDS с Debian 7 создать отдельного пользователя и предусмотреть для него возможность запуска скриптов от его имени. Как выяснилось, это не особо сложно:


Читать далее…

SEO для форума: участие в конкурсе

4X_Pro
Решил поучаствовать в конкурсе на форуме WebMasters и написал статью по теме "SEO для форумов", собрав в одно место все свои идеи по улучшению форумов с точки зрения SEO. К сожалению, по правилам конкурса копирование статьи запрещается, поэтому приходится ограничиться ссылкой.

UPD: по итогам конкурса занял 14-ое место (всего призовыми являются первые пятнадцать) и выиграл 50 WMZ.
Читать далее…

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

4X_Pro
Недавно узнал о нескольких полезных сервисах, которые могут помочь при оптимизации скорости загрузки сайта. Вот они:

CSS Sprites Generator — отличный генератор CSS-спрайтов (то есть файлов изображений, которые объединяют в себе несколько фоновых картинок для уменьшения количества обращений к Web-серверу). Поддерживает форматы GIF, JPEG, PNG, позволяет задавать отступы между спрайтами. Имеется собственная API. Единственный недостаток — нет возможности задать горизонтальное расположение картинок в спрайте вместо вертикального.
Читать далее…

Полезные советы при работе над сайтами

4X_Pro
Давно накапливаются мелкие советы по увеличению производительности при работе над сайтами при верстке или HTML-программировании, и вот наконец-то решил собрать их в одно сообщение.

Если вы часто редактируете по FTP какой-либо сайт, не поленитесь прописать в настройках FTP-клиента тот каталог, в котором находятся непосредственно файлы сайта в качестве remote directory (чаще всего таковым бывает public_html или www). В этом случае при подключении к серверу вы сразу будете оказываться в нем, а не в корне, как это бывает по умолчанию, и сэкономите пару секунд.

Если вы используете Filezilla, то в нем есть очень удобная опция Use syncronized browsing (задается в настройках соединения на вкладке Advanced), которая приводит к одновременной смене локального каталога и каталога на сервере. Если правильно настроить local и remote directory, использование этой опции упростит перемещение по каталогам и синхронизацию файлов.
Читать далее…

Checkbox большого размера

4X_Pro
Недавно потребовалось сверстать страницу, на которой у элемента checkbox был бы увеличен размер. Варианты с рисованным checkbox, который переключался бы с помощью JavaScript для меня изначально были неприемлемы Сначала пытался воздействовать на него с помощью font-size, line-height, padding и border, но ничего из перечисленного не помогло. Потом обнаружил, что свойства height и width, выставленные одновременно, позволяют добиться желаемого. Но увы, оказалось, что только в Google Chrome. В результате пришлось воспользоваться воспользоваться свойством transform из CSS 3: <input type="checkbox" style="transform: scale(2)" />, но при этом сам checkbox становится размытым.

Поэтому тем, кому валидность CSS не критична, посоветовал бы делать несколько иначе:

Такой подход позволит отрисовывать checkbox в Google Chrome нужного размера, а в остальных броузерах — масштабировать с размытием.
Читать далее…

Majento Position Meter -- программа для отслеживания поисковых позиций

4X_Pro

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

Читать далее…

Как раскрутить форум

4X_Pro

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


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

Неочевидные особенности сравнения в PHP

4X_Pro
Однажды делал постраничный вывод сообщений в форуме. Делался он следующим образом: через параметр запроса start передавалось смещение от начала темы, или all, если нужно было показать всю тему, или параметр p, если требовалось показать конкретное сообщение. При этом при передаче p переменная start бралась не из запроса, а рассчитывалась на основе смещения этого сообщения от начала темы минус несколько сообщений. При этом если оно было в начале, то start мог получиться отрицательным, и для этого случая делалась дополнительная проверка с присвоением sstart=0.

Далее у меня в коде была проверка if ($start!='all'), по которой к SQL-запросу добавлялась LIMIT-часть. Но обнаружилось, что в некоторых ситуациях LIMIT-часть не добавляется, и вся тема выводится целиком (что серьезно нагружало сервер, если тема была длинная).
Читать далее…


Страницы: