Pull to refresh
0
0
Send message
Большое спасибо, добавил в @todo.
В первом же абзаце я привёл несколько примеров, иллюстрирующих проблему, и то, что один из них указывает на проблемы с юзабилити, никак не может указывать на наличие проблемы во мне. Более того, я ни слова не написал о своих страницах и никаких форм не описывал.
Ой, заключительное предложение словно из бредогенератора. Имелось в виду:
«Не вникал, насколько возможно в принципе отчество поменять, тут уже юристы разберутся.»
Как же, например, сами знаете кто?)

Пару лет назад в новостях передавали, женщина какая-то захотела сделать себе «отчество по матери», мать звали Олей. То есть Мария Ольговна, допустим. И это на слух воспринимается вполне себе, целиком и полностью благодаря древнеславянскому отчеству по Олегу — тоже Ольгович.

Не вникал, насколько это возможно, но в принципе отчество поменять, тут уже юристы разберутся.
По 30-50мб каждая вкладка хрома, фф 400-700мб, когда больше — рестартую. Я и не особо-то парюсь, т.к. и этого хватает, но дело в том, что просто возможности нет.
Именно из-за этого пришлось отказаться от любимой ide и засесть за навороченные, но тем не менее «простые» текстовые редакторы, потому что ff&chrome с огромным количеством вкладок оказываются приоритетней…
Ну дык название как бы намекает :-D
Так-то оно так, но как именно фотохостинг VK негоден:) т.к. доступ к его серверам некоторые работодатели блокируют, следовательно часть людей не увидит этих картинок.

Помню, на главной странице сайта какой-то IT-конференции грузилась картинка с вконтакта, разумеется с рабочего компа я видел только белое пятно.
Прошу прощения за опечатку, конечно же, __construct. В репозитории тоже исправил.
Рефакторить надо, наверное, долго и упорно:) Только открыл — и у меня уже вызывает вопросы например этот участок кода
function
      __construct($conf = false) {
        $conf = array(
          'timeout'  => 5,
          'redirects' => 2,
          'agent'   => 'Snufkin 4.0',
          'referer'  => 'http://github.com/Shushik/Snufkin/',
          'charset'  => 'utf-8',
          'encoding' => 'gzip/deflate',
          'ssl'    => array(),
          'headers'  => array(),
        );

        if ($conf) {
          // Change default config values
          foreach ($conf as $alias => $value) {
            $conf[$alias] = $value;
          }
        }

* This source code was highlighted with Source Code Highlighter.


Дело в том, что $conf сразу же переопределяется. Что, такое и правда будет работать??
При передаче в параметрах $conf лучше делать null, чем false. Хотя в данном случае, при переопределении параметров, задающихся массивом, и ожидаться должен пустой массив. И естественно, нет никакой нужды заново изобретать array_merge :)) А сами параметры по умолчанию — членом класса, чтобы их в случае необходимости можно было быстро менять или использовать в других методах.

Конструктор лучше сделать public, а название метода не переносить ёлочкой на следующую строку — таких гайдлайнов я нигде ещё не видел. Ну и по именованию — $conf всё же это традиционные $params (реже $options).
Итого с учётом сказанного выглядеть это должно примерно так:

protected $defaultParams = array(
      'timeout'  => 5,
      'redirects' => 2,
      'agent'   => 'Snufkin 4.0',
      'referer'  => 'http://github.com/Shushik/Snufkin/',
      'charset'  => 'utf-8',
      'encoding' => 'gzip/deflate',
      'ssl'    => array(),
      'headers'  => array(),
    );

    public function construct($params = array()) {
        $params = array_merge($this->defaultParams, $params);


* This source code was highlighted with Source Code Highlighter.


Касательно именований методов: методы cookies(), charset(), headers(), header(), head(), headы(), http(),… etc — абсолютно неясно из названий, что они делают. Методы — по определению глаголы, а не существительные. То есть set_cookies() намного более понятно, чем просто cookies(). Ведь установка далеко не единственное возможное действие с ними.

Остальной код не смотрел.
Всё вышеописанное отправил пулл-реквестом github.com/Shushik/Snufkin/pull/1
Перевод статьи давно доступен в печатном издании, кстати.
Только сегодня отправил письмо Джоэлю с описанием бага на его сайте: отписаться от получения email-рассылок можно перейдя по самой обыкновенной ссылке. Заодно можно отписать соседа Васю, а если плохое настроение — прогнать весь лист адресов. Не думаю что в данном случае разработчиков подвело знание (или незнание) функциональных яп.

Мысль Джоэля, по-моему, такова, что сотрудник который знает больше лучше сотрудника, который знает меньше. Но это не может считаться решающим фактором, имхо, способность к обучению важнее.
В качестве фана — круто (но не очень удобно и быстро надоедает), но мне не понравилось что сайт сразу же кукожит браузер.
Пример из жизни ruby, пункт 1 частично описан здесь

к ненависти руби и тд и тп пост не имеет никакого отношения, заголовок для привлечения внимания, о чём автор в сноске и пишет
И fb и vk, насколько я знаю, следят за входом с IP из других стран (насчёт регионов не уверен, но тоже может быть) — в отпуске пришлось подтверждать что я это я, добивая заключительные цифры номера телефона. Если следить за каждой сменой IP то это действительно больше похоже на паранойу.
Да конечно я серьёзно. Про 30 лет вы сказали так, будто это ужас как плохо человеку такого возраста тыкать.

«Мам, купи мне велик, я вот такой выбрал!!» — неужели вы думаете, что мамки с папками будут выбирать чаду bmx? Не исключено, что мамки и папки сами жгут на великах, тогда они в теме. А если не в теме — придётся быть, как я уже сказал это целая субкультура со всеми вытекающими.
Конечно, приятно. Он, если увлечётся, сам будет здороваться примерно так: «йоу, бро, го на райд!!1» — специфика увлечения, субкультура такая. К тому же 30 лет совсем таки не преклонный возраст :-D
Это не ко мне) я лишь прочитал то, что плохо замалёвано на скриншоте.
Вы верно заметили, что, исходя из LSD

Забавная опечаточка :)

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity