Pull to refresh
24.6
Karma
0
Rating
[BlockDog] @blockdog

И швец, и жнец, и на дуде игрец

Отличия в адаптации сайта и AJAX веб-приложения для iOS

Я понимаю, что поднимаю демона из могилы, но у меня есть несколько дополнений, которые я прочувствовал, когда делал Web App для KiDROM.RU:

1) запоминание текущего пути — это хорошо, но плохо работает со всем, что идёт не через ссылку (формы, например). В итоге: форму засабмитил, CurrentLocation != StoredLocation — редиректит на StoredLocation, который неправильный… В общем, было бы круто иметь базовый URL Web App (который был при сохранении), но я не знаю, как его получить, поэтому редирекчу на StoredLocation тогда и только тогда, когда CurrentLocation=/ и отличается от StoredLocation (как бы предполагая, но Web App сохраняют с корневой страницы). Если кто знает, как получить URL Web App — напишите!

2) то ли в PHP, то ли в Yii с какого-то момента для сессионных кук форcировали httpOnly=true — это значит, что они больше не видны в document.cookie. Тут варианта два: или в конфигах прописывать httpOnly=false, или делать свой get/set для кук и теребить их через ajax.

2.1) Yii при авторизации меняет SID — это нормально, такие моменты нужно учесть, чтобы сохранить возможность авторизироваться, и не сбрасывать новый правильный SID на тот, что в localStorage.

3) в алгоритме какая-то непонятная логика: если кука есть, сохраняем её в localStorage, если нет, только тогда ставим куку из LS. Суть в том, что при сбросе сессии (выключил/включил Web App) сразу будет новый SID, а в LS хранится старый SID. Кука есть = сохранить в LS новый SID, то есть никакого толка вообще. Короче, «else» лишний в коде.

4) ещё если делать для всех ссылок window.location = this.href, то будет выкидывать в Safari для энкоров на странице (href="#someID"), для таких случаев надо переделывать на window.location.hash = this.href.replace('#', '');

В целом, я пришёл к тому, что надо бы сделать со стороны сервера страничку, куда аяксом передавать SID из localStorage: если они совпадают, то вернуть false, если изменился, то вернуть новое значение в зависимости от того, какое из них (кука или localStorage) нужно использовать, и сохранить его в LS. При таком подходе можно сохранить httpOnly=true, и вообще не нужно ничего считывать из кук в JS, плюс получаем возможность контролировать какой именно SID поддерживать и сохранять везде (как раз тот случай, когда SID меняется правомерно, и отследить такие моменты со стороны сервера проще, чем из JS). Но, это задача на следующую неделю уже…

Linux Mint 17 и DLNA

Вот я бы тоже первым шагом пошёл бы искать PPA…

Автоматизация монтирования samba-разделов в Mac OS

А у меня как-то само всё работает. TimeMachine по AFP сама подключается только тогда, когда может диск найти (есть диск — бекапится, нет диска — сидит молчит, только иконкой показывает, что не удалось бекапнуться). А шары подключаются по CIFS: при доступе к шаре (например, если открыть по закладке в Finder) оно само подключается. Проблема только с iTunes — в настройках музыка (да и вообще вся медиатека) завязана на шару, и вот при включении айТунец не вызывает автоподключение шары, а в панике переключает медиатеку на дефолтную папку.

Компания, создавшая S.T.A.L.K.E.R., прекратила свое существование

К чёрту «Сталкера», но если я не ошибаюсь, они же делали «Казаков» — вот это обидно.

Обзор видеорегистратора Каркам Q2

Вы так говорите, как будто это что-то плохое. :)

Обзор видеорегистратора Каркам Q2

Приклейте намертво, и всё… :)

Обзор видеорегистратора Каркам Q2

А я заказал в Китае за $35 (включая EMS доставку).
Вот такой: 720p, 140º и в остальном всё то же самое, кроме наличия чехольчика (кстати, надо намекнуть поставщику, что чехольчик был бы приятным и отличительным бонусом).
Жду любимую «Почту России», когда доставят…

Увидел недавно, как наши предприниматели точно такие же через местный (дефолт сити) интернет-магазин по 5000 рублей продавали, при этом представляя его как «сертифицированное оборудование» и «собственное производство».

Конференция системных администраторов «Стальной Бубен 3» (трейлер)

То, что на картинках — это не бубен! Это называется тамбурин.
На бубен должна быть натянута ударная поверхность (чаще всего кожа с жопы дракона), чтобы в него можно было бить — отсюда и выражение «бить в бубен».

Делаем шифрование в Dropbox Mac (совместимо с Linux)

Плагинчик-то, походу, старенький совсем, не понимает ключи в .encfs6.xml (новая версия), а только хавает .encfs5 (старая версия). Соответственно, если вы используете последний EncFS (1.7.4), тогда плагин к MacFusion не сможет открывать созданное им (последним encfs) крипто-хранилище. Тогда надо даунгрейднуть EncFS, создать крипто-хранилище старой версии, а потом апгрейднуть обратно — новые версии отлично открывают старые хранилища.

Я (до описанных манипуляций) использовал свежие версии из портов. Скачал и поставил сверху всё ровно так, как описано в статье (старые версии). Создал хранилище. Потом из портов поставил новые версии (надо force activate macfuse сделать перед install encfs). И теперь у меня полная совместимость и идиллия: и плагин к MacFusion может открыть хранилище, и используется новая версия EncFS, аналогичная той, что в Linux («гарантия совместимости»).

SVN → Подключение внешних библиотек

$ svn help | grep prop
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)

$ svn help propedit
$ svn help propset

SVN → Подключение внешних библиотек

Перенёс топик в блог «Разработка» — так вышло…

SVN → Подключение внешних библиотек

Картинки перезалил.
Но, подозреваю, что за давностью лет этот небольшой мануальчик уже утратил свою актуальность…

Ubuntu «Lucid Lynx» 10.04 LTS

Файлы появились на releases.ubuntu.com.

Вот мд5ки:

a54366aa72d6b576ee8fc0215f8a13b9 *ubuntu-10.04-alternate-amd64.iso
5b2dadacfd692b4f2d5c7cf034539262 *ubuntu-10.04-alternate-i386.iso
3e0f72becd63cad79bf784ac2b34b448 *ubuntu-10.04-desktop-amd64.iso
d044a2a0c8103fc3e5b7e18b0f7de1c8 *ubuntu-10.04-desktop-i386.iso
0b0e0d36050d9980ec995262eb9f2e6b *ubuntu-10.04-netbook-armel+dove.img
9e0d6ac7b69bb7912d49369a6807e39d *ubuntu-10.04-netbook-armel+imx51.img
712277c7868ab374c4d3c73cff1d95cb *ubuntu-10.04-netbook-i386.iso
8ee25c78f4c66610b6872a05ee9ad81b *ubuntu-10.04-server-amd64.iso
15342636441181f7a19c65984b44e24c *ubuntu-10.04-server-i386.iso
e81f931b1de017520f6d4aa4f78c5c8b *wubi.exe

Немного не сошлось… (:

Не все лейблы одинаково полезны

Обычный стандартный авторский договор. Скорее всего из какого-нибудь «Консультанта+» или подобного и чуть-чуть подправленный «под себя».

Такие договоры используется для «заказа» произведений, а не для организации взаимоотношений между автором и лейблом.
То есть, например, если заведение «Бар сук», и владелец очень хочет, чтобы каждый день в 07:34 утра в помещении звучала их песня. Он нанимает музыкантов, которые пишут ему эту самую песню. И они подписывают именно этот самый договор, только обычно там не «50%», а какая-то одноразовая фиксированная сумма. Далее подписывается акт сдачи-приёмки и всё…

При работе же музыкантов с лейблом чаще всего используются договора отчуждения авторских и/или смежных прав. Он сложнее и «грамотнее» что ли.

Прячемся от Anti-P2P организаций

Непонятно, что это за «чёрный список», и что туда входит.
Сомневаюсь, что там «Anti-P2P организации»…

Хотя, всякое бывает…
Может быть кто подскажет, откуда Transmission берёт этот список.

Защищаем SSH от брутфорса на любом порту

Может быть я обделён врождённой паранойей, но мне кажется, что лучшая защита от брутфорса — это длинный и сложный пароль. А если пароль утёк, то никакие нестандартные порты и задержки не помогут… Храните пароли в надёжном месте, и всё будет хорошо (:

Задача на сортировку

Скорее нет, потому что в данном случае такой составной индекс замедлит условие `date` < $date, которое будет очень быстро работать при индексе KEY `date` (`date`) за счёт «отбрасывания» из индекса всего, что >= $date.

В данном конкретном примере лучше использовать два индекса. Но, спасибо вам за то, что акцентировали на этом внимание — это действительно важно!

Information

Rating
5,969-th
Registered
Activity