shoorick: (Default)
Узнал, что виджет с новостями ЮУрГУ уж два месяца как принят в региональную программу яндекса. Так что если вы предпочитаете искать яндексом и хотите видеть на первой его странице новости университета — добавляйте:

Новости ЮУрГУ

Новости Южно-Уральского государственного университета (г. Челябинск)

добавить на Яндекс
shoorick: (Default)
По вечерам со стороны учебного телерадиоцентра доносятся нестройное пение — это репетирует хор факультета журналистики. Вот и сейчас — снова доносится. На сей раз они замахнулись на «Аве Марию» Джулио Каччини Владимира Фёдоровича Вавилова. Слушать эту фальшь — невыносимо.
shoorick: (Default)
Странности творятся. Почитав мануал, обращаюсь к друпаловой БД, ищу дубликаты адресов в таблице с 7500 строками:
SELECT `alias`
FROM `PREFIX_url_alias`
GROUP BY `language`, `alias`
HAVING COUNT(*)>1;
MySQL достаточно резво выдаёт ответ из почти семи десятков строк. Делаю запрос с подзапросом, чтоб выбрать номера узлов с найденными на предыдущем шаге дублями:
SELECT `source`
FROM `PREFIX_url_alias`
WHERE `alias` IN (
    SELECT `alias`
    FROM `PREFIX_url_alias`
    GROUP BY `language`, `alias`
    HAVING COUNT(*)>1
);
В итоге MySQL тяжко задумывается — вот уж 20 минут непонятно, что делает. Посмотрел SHOW CREATE TABLE — по полю `alias` строится индекс. Чё ему ещё надо-то?

P. S. Понятно, что я могу найденное на первом шаге тупо перебрать в цикле, написав какой-нибудь перлоскрипт, однако хочется сделать как-то изящнее.
shoorick: (Default)
Продолжаю ковырять transition — повернул баян на 90°.

Код с действующим примером выложен на http://jsfiddle.net/shoorick/bp7QM/ (там сразу видно всё: и код с подсветкой синтаксиса, и результат), кроме того, как и в прошлый раз, пример — на http://shoorick.ru/lj/net/accordion-horizontal.html, код — на гитхабе и под катом )
shoorick: (Default)
Разбираюсь с модными HTML5 и CSS3, а точнее, с бесскриптовой анимацией, с помощью transition. Попробовал сделать вертикальный (обычный) аккордеон — почти получилось. Ни один яваскрипт не пострадал. Работает под линуксом в Firefox 10, Opera 11.60 и Chromium 14. Под виндой в IE 8 — не работает. В остальных браузерах и ОС пока не тестировал. Modernizr пока тоже не прикручивал.

Действующий пример лежит на http://shoorick.ru/lj/net/accordion-vertical.html, код — на гитхабе и под катом )
Следующая задача — повернуть получившийся баян на 90° — с ней я почти придумал, как справиться. Дальшейшие — смена картинок и прокрутка содержимого блока без участия яваскрипта и посетителя сайта — пока туманны. Но всё равно придумаю. Или нагуглю. Хотя в девизе моей альма-матери другой порядок действий: Нагуглю или придумаю. Aut viam inveniam, aut faciam.
shoorick: (Default)
Понадобилось перенести сайт с малоизвестной CMS на Drupal. Две недели гуглил и читал крохи найденной документации. Понял, что общедрупальный бардак с документацией в полной мере относится и к модулям: например, в рекомендуемом для переездов модуле Migrate я так и не смог за эти две недели разобраться: вместо внятного руководства — какие-то блоги да презентации, целевой аудиторией имеющие телепатов. Человеку, даже знающему PHP и умеющему слегка настраивать Drupal, но не писавшему под него модулей, что-либо понять в таком мануале, а тем более, сделать работающий пример — нереально.

Плюс к тому меня вот уже который год удивляет адресация на друпальных сайтах: их авторы вместо того, чтобы сделать правильные адреса, оставляют всё как есть. Даже на drupal.org полно страниц с адресами типа /node/шестизначный_номер.

Дело кончилось тем, что за день я написал перловый скрипт, который и перегнал мне данные (хотя как-то не совсем правильно), выдав в итоге кучу SQL-запросов. Сами данные также были предварительно обработаны перлоскриптами.
shoorick: (Default)
Если программист в 06:45 ужé на работе — это не значит, что он ещё на работе. Это значит всего лишь, что сработала сигнализация и пришлось встать, завести пепелац (–25 °C, завёлся, заглох, со второй попытки завёлся пормально) и поехать. Хотя, конечно, в седьмом часу утра ехать весело — трафик хоть и ненулевой, состоит большей частью из трамваев с троллейбусами и пробок не создаёт.
shoorick: (Default)
В январе 2 недели просидел на больничном — получил зарплату на четверть меньше, чем обычно.
shoorick: (Default)
Глядя на снегопад за окном под минорную часть начала увертюры (ну или под второй куплет «Хора странников» из той же оперы, что, в общем, одно и то же), работать совершенно не хочется. Хочется просто смотреть в окно.
shoorick: (Default)
В том, что написанный вчера скрипт мониторинга живучести одного из наших серверов работает, я убедился — в 5 утра он послал мне СМС. А в 5:05 — ещё одну.
shoorick: (В бабочке)
У виндового админа на столе — иконка. У меня — бубен.
shoorick: (Default)
Похоже, опять лес горит — дышать нечем. В воздухе дымка, но пожарная сигнализация пока молчит.
shoorick: (Default)
Перенёс накопленное в траке со своей машины в редмайн на боевом сервере. Переношу subversion в том же направлении и задумался об оптимизации серверной части.

Svnserve, конечно, быстрый, но вводить пароли при доступе через svn+ssh:// задолбало, да и по непонятной причине он игнорирует ключ -r, а длинные URL типа svn+ssh://name.of.server/many/many/dirs/before/repo/project/trunk как-то плохо выглядят.

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

Nginx не все методы поддерживает и, следовательно, на роль обработчика запросов к svn как-то не очень годится — разве что воткнуть его прокси-сервером (а смысл?)

Думал поставить к редмайну пару модулей — redmine_webdav и нужный для него redmine_http_auth (как обычно, пришлось дорабатывать напильником, добавляя перевод на русский). Поставил, почитал документацию внимательнее: им тоже нужен апач (фактически, они позволяют, вроде бы, авторизоваться через редмайновую базу). Если никакого апача не ставить, а запустив сервер webrick, обращаться к нему — он не пускает, но при этом спрашивает пароль.

Продолжаю гуглить...

upd/00:45: Надоело гуглить, воткнул апач, спрятал за нгинксом (just for lulz) — работает. Надо снести ненужные модули и лечь спать.
shoorick: (Default)
По результатам гуглений и бубнений настроил nginx и каталист для совместной работы. В нгинксовом конфигурационном файле в моём случае надо указать, что фронтенд должен передать бэкенду не только своё имя, но и порт:
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header   X-Forwarded-Host $http_host;
proxy_set_header   X-Forwarded-Port $http_port;
Это связано с тем, что оба работают на одной машине на разных портах. А каталистовому приложению надо сказать, что оно может быть спрятано от внешнего мира за прокси-сервером. Существуют разные методы, простейший из них — добавить в конфигурацию параметр using_frontend_proxy, равный единице. Чтобы не засорять модули, добавит его в конфиг.yml — это проще всего и вполне работоспособно.

Если не сделать такой настройки, то каталистовая функция uri_for будет возвращать ссылки на адреса бэкенда, который посетителю показывать совсем не надо.

Теперь осталось убедиться в корректной работе получившейся связки, проверить способность нгинкса к старту при загрузке системы — и можно будет запускать весь этот комбайн в космос боевую эксплуатацию.
shoorick: (Default)
Системный блок рабочего компьютера очень нервно реагировал на статическое электричество: при малейшей попытке воспользоваться чем-то электризующимся рядом с системником (снять свитер, пошуршать целлофановым пакетом, достать шоколадку из заначки) компьютер немедленно зависал. И ладно бы, если там была бы винда — 10 лет назад Windows 98 на моей машине зависала не меньше раза в день — было бы не так обидно: тут-то FreeBSD.

Сегодня, после очередного зависания, продул компьютер и собрал корпус: он много месяцев стоял открытым, без одной из боковых стенок. Помогло: теперь компьютер не виснет.
shoorick: (Default)
Апач сдох и не желает воскресать: при попытке выполнить apachectl start молча помирает, оставив после себя /httpd.core.
Погуглил. Подумал.
Подправил в httpd.conf степень разговорчивости:
LogLevel debug
Изучив лог, на всякий случай закомментировал использование mod_ssl (потому что не нужен). Не помогло. Постучал в бубен. Всё равно не помогло.

Думаю дальше...

upd/15:29: Обновил php. Апач неожиданно заработал. Но как?!
shoorick: (Default)
Задача — протестировать сайт на работу при большой нагрузке. Попробовали 2 способа:
  1. При помощи ab послали вагон запросов на какую-то одну страницу, попутно пытаясь пользоваться сайтом в обычном режиме,
  2. Посадили за компьютеры пару десятков юзеров и попросили их усиленно покликать по ссылкам.
Оба метода, хоть и не совсем бессмысленны, создают совсем не ту нагрузку, которая нужна: в первом случае нет хождения по ссылкам (или я ман плохо читал?), а во втором интенсивность кликов явно меньше той, что может обеспечить ab.

Что делать?
shoorick: (Default)
Летом, как и зимой, работать не хочется — вместо этого возникает желание, нагуглив СанПиН 2.2.4.548-96 «Гигиенические требования к микроклимату производственных помещений», с чистой совестью уйти гулять.
shoorick: (Default)
  1. 193.233.85.13 — теперь не мой. Я на нём просидел почти 10 лет.
  2. Для подпиливания напильником (с целью перенацелить на новый адрес) существующих рабочих копий (если лень уничтожать старое и создавать новое командой svn co) можно выполнить:
    find . -type f -name entries -exec perl -e 's{/old\.address\.of\.repository/}{/new.one/}' -pi '{}' ';'
shoorick: (Default)
В связи с тем, что админский бубен унесён домой, на работе приходится сидеть в шутовской шапке с бубенцами.
Бубенцы звенят, отладка идёт.

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 12th, 2025 09:11 am
Powered by Dreamwidth Studios