All streams
Search
Write a publication
Pull to refresh
57
0
Екатерина @whitequark

User

Send message
Я имел в виду то время, которое потребуется на допил до состояния, в котором действительно можно пользоваться — ну, скажем, индикатором этого может быть работающий Rails.

YARV ведь тоже в 2006 году вышла, а широкого использования когда достигла? На 2.0 запланировано достаточно много значительных изменений, и хотя совместимость, конечно, сохранится, какое-то время на миграцию потребуется.

Возможно, я переборщил. Оценка в 2-3 года реальнее.
Учитывая, сколько времени и как разрабатывалась 1.9, я бы предположил, что в течение 3-4 лет.
О дизассемблере я, конечно, расскажу в следующей части, но изначально задумывалось писать не в том порядке, в каком я это исследовал, а последовательно с точки зрения практического применения.

Да и, честно говоря, этот листинг принципиально мало чем отличается от массива с кодом в конце моей статьи.
Использовать-то можно, но вот перед этим придется довольно долго и мучительно собирать и настраивать. (А при обновлении — опять.)

Развлечение на любителя.
У меня нет возможности поставить MacRuby, но судя по вот этому тикету, файлы .rbo представляют из себя не кешированный байткод, как в питоне, а нативный код, который выдает Ahead-of-Time компилятор и который даже можно линковать с другим нативным кодом.

Кроме того, вот здесь (со ссылкой на книгу Гвидо) пишут, что .pyo отличается от .pyc только отсутствием assert-ов. Это, конечно, очень ценная оптимизация.
В MRI в обозримом будущем не появится. А зачем? Парсинг кода и компиляция AST занимает очень малое количество времени; а вот выполнение кода, определяющего методы, существенно более затратно.

Поясню: в коде
class Klass
  def meth
    puts "hello"
  end
end

на самом деле в контексте класса Klass выполняется метод «core#define_method» (да, именно так, с символом «#» — это системный метод, он еще и вызывается на виртуальном объекте), который собственно и добавляет метод в класс. В том же Rails количество подобных вызовов огромно, и кеширование байткода ничего здесь не ускорит.
На практике в такой ситуации достаточно поменять адрес в конфиге и сделать что-то вроде killall -HUP radvd, адреса меняются мгновенно. Если нет DNS (локальный не в счет, там достаточно переименовать зону и все), то на этом проблемы и заканчиваются.

А если есть глобально адресуемые домены, то, как мне кажется, аплинк все же должен быть постабильнее; а если хочется failover, то не грех и PI с BGP поднять.
Это верно, но программе как-то все равно, «дикий шифр» там или нет — сложность перехода заключается совершенно не в этом.
Кстати, в новости небольшая неточность.
Переход на IPv6 будет начат во «Всемирный день IPv6» — 8 июня 2011 года, когда крупнейшие онлайн-ресурсы пропишут записи типа «AAAA» в своих доменах.


В этот день AAAA-записи добавят только на 24 часа, а не навсегда; и странно писать, что переход «будет начат» в этот день, когда без (хотя бы частично) работающего IPv6 смысла в акции нет никакого.
В таком случае извиняюсь, ошибся. Месяц назад, когда я в последний раз занимался вопросом, этого еще не было.
При использовании stateless autoconfiguration переход к другому провайдеру сводится к изменению одной настройки в конфиге и нескольких замен в DNS-зоне.
В зоне .ru, например, IPv6 Glue нет. Адресов с AAAA-glue вообще очень мало — 4381 на весь мир.
Кратко: да.

Длинно: IPv6 Glue в зоне .ru пока нет. Это значит, что если вашим NS-серверам назначены поддомены в вашем домене, и эти адреса прописаны в NS-записях для домена, то человек, у которого нет IPv4, но есть IPv6, зайти не сможет. Я сильно сомневаюсь, что где-то вообще есть подобные уникумы.
Ну я вообще-то прочитал стандарт, да. Но термин EUI (кстати, EUI-64) вопрошающему вряд ли что-либо скажет, и смысла расписывать на двух страницах то, что можно объяснить одной фразой, я не вижу.
С точки зрения корневых зон регистратор доменов должен поддерживать только IPv6 Glue, то есть возможность указать AAAA-записи для NS-серверов, которые находятся в поддомене текущего домена (например, ns1.google.com для домена google.com); де-факто это влияет только на возможность доступа к этому домену клиентов, не имеющих IPv4 вообще. Во всех остальных случаях так или иначе используются DNS-сервера третьих лиц, на которых установить поддержку AAAA-записей намного проще, чем в корневую зону.
В случае link-local — всегда (RFC2373, 2.5.8, RFC2374, 3.6). Вторая часть — это всего лишь MAC, который дополнили ff:fe в середине до 64 битов.
Какая, собственно, разница, как выглядят IP-адреса?
Не совсем так. Если AAAA-запись у домена есть, как и A-запись, а default route для IPv6 отсутствует, то браузер, конечно, соединяется по IPv4-адресу. (пример вот). Проблема в том, что у некоторых пользователей маршруты IPv6 есть, но на самом деле не работают или работают очень медленно.
Я знаю, что такое FPGA и сколько у нее линий ввода-вывода. Я хочу сказать, что это редкостный оверкилл: глупо ставить чип с полмегабайтом ОЗУ и немаленькой вычислительной мощностью там, где нужно всего-то подергать ногами. Я даже не говорю о том, что напрямую к ногам FPGA подключать светодиоды нельзя: не прокатит по току, если не на каждую ногу, то суммарно уж точно. А еще у нее 3.3-вольтовый интерфейс, пара напряжений питания, которые тянут за собой один или два buck-конвертера, хардкорный SMD-корпус, необходимость разработки прошивки, что на порядок сложнее кода под ардуину…

Кроме того, FPGA дорогие. Платка по ссылке стоит 1700р, там есть 108 линий ввода-вывода (из которых наверняка реально доступны не все, а некоторые еще и с более низким током или напряжением). Рандомно взятый PCA9539DBR в терраэлектронике стоит 100 рублей, питается от 5 вольт, имеет 16 ног и вполне паябельный корпус SSOP. За 1000р в итоге получается 160 линий.

Information

Rating
Does not participate
Date of birth
Registered
Activity