Обновить
70
Антон Кортунов@ToSHiC

Программист

25
Подписчики
Отправить сообщение
Так оно падает туда, где ничего нету. К тому же, в Союзе в качестве топлива используется керосин, который не так уж и токсичен.
Ага, представляю их переписку через пару лет:
«У нас что-то не воспроизводится… Мы вам там дебаг-логи включили, как только ещё раз въедет в стену — звоните, будем читать».
Вообще нет, потому, что если правильно устанавливают, то закладные просто будут вырваны, защита будет выдавлена двигателем вниз.
Практически во всех современных автомобилях подкапотное пространство спроектировано таким образом, что при фронтальном ударе двигатель уходит под салон. Да и салон в целом — жёсткая клетка, впереди которой относительно мягкое подкапотное пространство, хорошо сминающееся и поглощающее удары.
Интересно, кто именно проснётся, если у них всё таки получится. Будет это тот же человек, в смысле та же личность, или нет? Что именно он будет помнить из своей «прошлой» жизни?
Такое ограничение есть только на клиенте. Балансировщики нагрузки по факту оперируют ip пакетами, «подсматривая» в tcp заголовки, но не устанавливают соединение сами, так что для них вообще нету такой проблемы. Серверу тоже без разницы, сколько клиентов присоединится на его порт, главное, чтобы сокетов на всех хватило. А вот клиент на каждое соединение тратит 1 эфемерный порт (теоретически, можно сэкономить и шарить один и тот же исходящий порт, если серверные адрес/порт отличаются, но так, на сколько я знаю, никто пока не делает, потому что не нужно), которых обычно выделено около 30 тысяч (net.ipv4.ip_local_port_range = 32768 61000).
Довольно просто. Внутри сети используется динамическая маршрутизация, например OSPF. Внутренние балансеры траффика анонсируют маршрут на один и тот же адрес с одинаковой стоимостью, и нагрузка размазывается по ним равномерно. В случае наличия нескольких точек входа в сеть стоимость может быть и не одинаковой, ею можно перенаправлять нагрузку внутри сети.

Каждый балансер уже следит за живостью HTTP серверов и направляет траффик на них, учитывая их загрузку и прочие факторы. Может показаться, что балансеры лишние, но это не так: их можно поставить существенно меньше, чем фронтов, и они могут прокачивать через себя много траффика, 10 гигабит через одну машину — легко, а если постараться — то и 40 гигабит.

Если интересны подробности, то рекомендую прочитать статью от гугла про их Maglev: http://static.googleusercontent.com/media/research.google.com/ru//pubs/archive/44824.pdf
Я получал права в 2006 году. Тогда на выбор давали либо пластиковую карточку размером с кредитку, либо ламинированную картонку в 2 раза больше. Конечно, всем нравился первый вариант, но за него нужно было доплатить 200 рублей, через кассу, естественно. В какой-то момент нашлись активные граждане, которые заявили, что эти 200 рублей ГИБДД изымает незаконно, и раскрутили эту историю. В итоге, в 2007 (или 2008, не помню уже точно) году в нашем городе выдавать права в виде карточки перестали, даже если ты готов был за них доплатить. Минимальная стоимость обучения в автошколе тогда была 14 тысяч рублей.

С одной стороны, активные граждане поступили правильно. С другой стороны, не столь активные граждане потеряли возможность получить удобный вариант водительского удостоверения. Как бы у борцов с СОРМ не получилась похожая история.
Именно для того, чтобы не вычитать, и используют циркуляторы. А суть изобретения из статьи — они смогли запихать аналог циркулятора в кремний.
Кстати, научные вычисления может быть полезно запускать на ARM процессорах с точки зрения экономии электроэнергии. Вместо 10 серверов x86 брать 100 на ARM, и это может оказаться дешевле/экономичнее с точки зрения электропотребления. Но это надо для каждой конкретной задачи рассматривать, экономии может и не получиться.
Я как-то раз был на лекции от Интел по поводу устройства современного процессора, в контексте оптимизаций кода. Так вот, в процессорах, выпущенных в последние несколько лет, суперскалярность ого-го, может выполнять до 100 инструкций вперёд. Спекулятивно, конечно, часть из них придётся выкинуть потом. А ещё есть предсказатель переходов, в который закапывают много сил и творят чёрную магию.

В общем, все эти блоки внутри процессора чуть ли не умнее, чем компиляторы, а они точно умнее, большинство программистов. Лезть в дебри таких оптимизаций стоит только если явно есть хотспот.
А VT-D будет изолировать доступ, если инициатором транзакции является pci-e устройство?
Вот есть у вас сейчас какой-то ноутбук с процессором от Интела, в котором уже есть ряд мест, куда даже ябро/гипервизор не может подсмотреть:
1. SMM, на центральном процессоре
2. ME, на отдельном процессоре в чипсете
3. довольно мощное ядро в wifi карточке
4. хиленькое ядро в ряде ethernet карточек
5. код, запущенный на GPU

Ещё 5 лет назад один мужик смог сделать firmware для карточки marvell (если я не ошибаюсь), которая могла форвардить пакеты в другие интерфейсы и запускать небольшой шелл на GPU, с доступом ко всей оперативной памяти через DMA.
Ему далековато до перевозки грузов, пока они только подняли ракету на высоту в 100км, а не вывели на орбиту. А чтобы выйти на орбиту нужно разогнаться на порядок быстрее (т.е. сейчас, кажется, около 1км/с, а для выхода на НОО нужно около 10км/с)
Вот это просто за гранью разумного, невероятно круто.
Кабель совсем уж колхозно выглядит. Купите хотя бы вот такой: http://www.dx.com/p/cy-u2-053-ri-angle-micro-usb-male-to-usb-2-0-female-otg-host-data-cable-black-10cm-222708#.Vt3VifmLQuU

А вообще есть micro-usb разъёмы (как на проводе), которые припаиваются на плату перпендикулярно, вот такие: http://wholesalesupplier-db.net/id/mirco-usb-connector-male-dip-to-pcb.html. Если купите такой — то получится практически невидимый разъём питания сделать.
А что же вы про ipv6 то ничего не проверяете?
А ещё при использовании Openssl нужно не забывать инициализировать мьютексы, если планируется многопоточное использование. Пример тут: https://github.com/openssl/openssl/blob/master/demos/threads/mttest.c#L610
Конкретно в случае, описанном в этой статье, время жизни токена должно быть меньше минуты (он выдаётся в момент попадания запроса в фронтэнд, должен жить не меньше, чем время обработки самого долгого запроса), так что отзывать нет смысла.
Ну смотрите, есть 2 разных сервиса, которые развиваются себе параллельно, с двумя командами админов/разработчиков. Решили сделать третий, и, чтобы не писать велосипеды, решили переиспользовать код первых двух. Но оказалось, что в первом используется библиотека версии А, а во втором — версии Б, и это разные мажорные версии, не особо совместимые. Тут возникает дилемма: переписывать один из сервисов, чтобы перелезть на одну версию библиотеки и потратить на это, скажем, 2 недели, или придумать, как установить библиотеку дважды (ведь компоненты могут взаимодействовать друг с другом через какой либо RPC, а не скомпилированы в один бинарь). Установить библиотеку можно двумя способами: статически влинковать или упихать в контейнер.

Это всё не теоретические изыски, приходится сталкиваться с этим на практике. Мы на работе как раз пробуем использовать контейнеры, чтобы не переделывать всё на статическую сборку.

Информация

В рейтинге
4 354-й
Откуда
Россия
Зарегистрирован
Активность