LINUX.ORG.RU

Сообщения jessey

 

Так мрут или не мрут SSD от лишней перезаписи?

Прошлой зимой назад прикупил себе б/у ноут с SSD диском (HDD заменен им предыдущим хозяином). Так вот у того чувака он полгода был, у меня уже около десяти месяцев - итого около года, будем считать. Так когда мне ждать кару небесную за свой протест в виде своп раздела и неотключенного журнала ФС? Прозреваю, то ли модель удачную, то ли мифы и бред насчёт высокой смертности SSD. Поясните мне по хардкору. Диск Corsair Force 3 SSD, 128 Гб.

Запостил в толксы, потому что вопрос не совсем технический.

jessey
()

Парсим json в опере по хардкору

Не спрашивайте зачем, но взбрело мне в голову написать на jsPerf тест следующего плана: есть пять методов парсинга json, это нативный парсер JSON.parse, простая реализация парсинга через eval, чуть-чуть оптимизированная через google closure реализация через eval, и две огромные функции парсинга без eval, соответственно, чуть оптимизированная и оптимизированная максимально тем же closure (да, я просто как макака поставил галочки и скопировал код чтобы посмотреть как оно будет, лол). В качестве строки для парсинга я сериализовал рандомно набитый мусором объект с несколькими уровнями вложенности. Ссылка на тест: http://jsperf.com/jessey-t4 (ну и запускайте тесты что ли, любопытно, однако. Отрабатывают в районе минуты вся пачка)

Суть такова: казалось бы, нативная функция должна быть самой быстрой, остальные - как повезет (кложур оптимизирует объем и мне попадалась функция, которая тормозила после его «оптимизации» раза в 4 сильнее чем исходная). В общем-то, так и есть, но смотрим на график оперы внизу страницы, лол. Жаль, больше похожей на браузер это ее не делает :3

Для тех, кто в танкеЪ: интерпретируемому парсеру на eval в опере проигрывает даже нативный JSON.parse, причём, почти в 3(!) раза

з.ы: топик не технический ни разу, я просто привел факт, потому в толксах

 ,

jessey
()

Skype и Ubuntu 12.04 amd64

Привет. У меня возникла такая проблема: ставил скайп из deb пакета, скачанного с офсайта. Пакет, по их словам, для amd64, но тянет с собой кучу i386 либ. И теперь иногда при удалении некоторых пакетов, aptitude предлагает мне снести полностью все 32 битные либы, скайп, естественно, ломается. Приходится ставить его заново, и всё повторяется.

Как это лечить? Может, у меня сильно кривые PYKN?

 ,

jessey
()

Набижал в Москву. Устроим «аутсейшн»?

Привет ЛОР. В общем, два дня назад я приехал в Москву ненадолго, думается мне, числа до первого июня. Может выползем куда-нибудь 31 числа? Вощемта, будний день, все дела, ну да ладно, сколько-нибудь человек придёт, думаю. И да, будем пить пиво и болтать, красноглазить не будем, надеюсь :3

Давайте определяться с местом и временем, и я обновлю топик, указав это.

 

jessey
()

Деплой нескольких проектов

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

Сейчас останавился на контроле через supervisor, а проекты должны содержать:

  • requrements.txt (список используемых пакетов)
  • директорию с конфигом nginx для симлинка
  • такую же директорию для supervisor
  • конфиг uwsgi

Механизм такой: запускаем fab с адресом репозитория и названием проекта, fab создает директорию в www, виртуальное окружение, клонирует репозиторий, доставляет зависимости, делает симлинки для конфигов и, опционально, релоадит супервизор и nginx.

Ход мыслей верный? Или можно сделать проще/лучше/надежнее? Может есть удобные готовые инструменты?

 

jessey
()

Мы тоже играли «музыку»

Раз пошла такая пьянка, то хочу выложить записи коллектива, в котором я когда-то играл на басу. Назывались мы «Срок Годности», не знаю почему, наш идейный вдохновитель придумал это название, спорить не стали. Волгоград, ~2008 год.

Пожалуй, лучшая наша песня: http://rghost.ru/37731352

Ещё одна «идейная» песня: http://rghost.ru/37731401

Протест против армии, лол. Кстати, если ничего не путаю, ни один из участников ВИА в армии так и не побывал. http://rghost.ru/37731415

Эта вещь была записана уже после меня, но мне она нравится. Пусть будет. Качает, лол :3 http://rghost.ru/37731447

И, на закуску, самая упоротая наша «пснь», с драммашинкой в роли ударных, писали джаст фо фан дома: http://rghost.ru/37731460

Вот такая была молодость, такой был хардкор. Реквестирую в тред поморщившихся и блюющих ценителей музыки, ня :3

 

jessey
()

Версионность записей

Итак, мне необходимо реализовать в неком проекте версионность статьей, которые пишут пользователи. Это можно сделать просто сохраняя несколько объектов статьи и нумеруя версии. Но мне охота сделать что-то наподобие гитхабовских диффов. То есть, человек редактирует статью и может выбирать сравнение с предыдущими версиями, с подсветкой сделанных изменений.

Суть вопроса: есть ли для этого какая-то библиотека (вплоть до биндингов гита), или же придётся писать алгоритм ручками? И, если второе, то как бы к этому подступиться? Это же не просто сравнение строк, наверное. И даже, если сравнивать записи посимвольно, как наиболее эффективно реализовать алгоритм?

 

jessey
()

[js][jQuery] preventDefault() vs. return false

Сап, Лорчан.
Суть такова: сейчас я работаю над UI для текущего проекта. По ходу действий пришлось допиливать напильником один плагин, реализующий галерею (связывался с его автором, автор сказал «feel free to use it like you want :)»). Так вот, при обработке событый клика там используется конструкция вида:

$(link).click(function() {
    doWhatever();
    return false;
});
Я же использую обычно такую конструкцию:
$(link).click(function(e) {
    e.preventDefault();
    doWhatever();
});
С моей точки зрения менее костыльно выключить дефолтное поведение для события и делать что нужно, нежели возвращать false, тем более, иногда это ломает поведение. Кто прав? Зачем тогда preventDefault?

 ,

jessey
()

[СПВ] Транслитерация имени

Сап, Лорчан.
Суть такова: понадобилось мне получить расчётную банковскую карту, сел я заполнять форму на их сайте, а там пишут:

Имя и фамилия латинскими буквами для эмбоссирования на карту в виде, изображаемом на карте (в соответствии с заграничным паспортом, но не более 21 знака. Например, IVAN IVANOV
Проблема в том, что у меня нет загранника. Я его собираюсь делать, но он оформляется долго, карта мне нужна раньше. Так вот: чем руководствуются при транслитерации имени на загранник? А если они не сойдутся на карте и в заграннике?
А зовут меня Алексей Ильин. Может кто подскажет как это будет выглядеть в транслите? А то вариантов имени минимум два: и ALEXEI и ALEXEY, да ещё и фамилия :/

 

jessey
()

[ диванный хайлоад ] Сравнение PostgreSQL и MongoDB

Сап, Лорчан.
В больном мозге родилась идея из серии «сравнить ежа и ужа». Что я хочу выяснить в ходе эксперимента:
- Cравнение скорости работы этих БД в режиме использования MongoDB как базы с фиксированной структурой данных, то бишь, повторяющим структуру таблиц в Postgres.
- Сравнение отказоусточивости (борьба с ломом в виде прибивания процесса БД на ноде, аки симуляция выпадения ноды).
- Общая скорость и надёжность синхронизации данных между нодами, выбор оптимальных режимов репликации, восстановление данных на ноде при выпадении при записи и всё такое.
Если это всё же имеет смысл, вторая часть вопроса: из железа имеются два ноута и два системника с весьма разношёрстными кишками и д-линковский свич 100 Мбит для их соединения. План таков: одна машина будет «сервером приложений», три остальных - нодами базы данных. Первая машина будет выполнять выборки, запись, замеры, остальные - просто будут «кластером» БД. Так вот, имеет ли смысл проводить эксперимент на таком железе, или лучше снять 4 виртуальных машины на каком-нибудь хостинге? Разумеется, с локальной сетью между машинами. В остальном, реквестирую соображения по методикам тестирования и общей вменяемости затеи.

P.S:
Запостил в толкс, потому что не вижу особо технических вопросов, если неправ - переместите в более подходящий раздел.

jessey
()

Нестандартные атрибуты HTML

Привет, Лорчан.
Недавно писал для текущего проекта яваскрипт, наткнулся на то, что удобнее было бы добавить к некоторым тегам атрибут id родителя. Родителя объекта, конечно, не тег-родитель. Что-то наподобие

<div id="item1" pid="7">...
Старший посмотрел хмуро и сказал «нестандартные атрибуты не нужны». Но тот же гуглоплюс, например, их использует. Здесь, конечно, можно сказать, мол, зачем гуглоплюсу проходить валидацию и прочее. Но в чём смысл соблюдать стандарт, если можно сделать обработку удобнее? HTML это же XML, почему нельзя использовать свои атрибуты? При условии, что они не пересекаются с существующими, конечно.

jessey
()

Что плохого в Django?

Привет, привет. Вот, сижу, читаю ветку про «почему PHP это плохо?», и наткнулся на комментарий, мол, на питоне можно писать изящно, если, конечно не использовать Django. Ну поясните мне что-ли по хардкору, чем плох питон Django?

jessey
()

Настройка сервера

Заголовок куцый, проблема масштабнее, реквестирую советов мудрых.
Суть такова: есть некий ресурс, написанный на Django. Он должен крутиться под Nginx через uWSGI.

  • Первый вопрос: мы не определились со структурой каталогов. Точнее, возник спор, где должны лежать скрипты проекта: в /var/www (сорт оф стандарт что-ли, апач там держит по дефолту, например, а у некоторых хостеров видел размещение в каталоге home) или /www/%projectname%. Не спрашивайте как до этого дошло, лол.
  • Второй вопрос: от какого пользователя запускать Nginx, от какого uWSGI-сервер, и, если от разных, то как настраивать права для каталогов ресурсов (аватары пользователей, например) чтобы Nginx мог их читать. Сейчас остановился на том чтобы добавлять пользователя Nginx в группу хозяина каталога ресурсов, прозреваю, что всё сделал неправильно.
  • Третий вопрос: используем supervisord, написанный на питоне. Штука удобная, гибкая, но падает, блжад. Воображение рисует совершенно упоротые системы слежения за супервизором с передёргиванием его при падении. Прозреваю, что проще всё же будет использовать что-то более стабильное. Что посоветуете?
jessey
()

RSS подписка на новые темы