Экскурсия на фабрику елочных игрушек

  • 02.12.11, 13:13

Подія закрита вся інформація доступна лише учасникам події. Що б стати учасником події, необхідно подати заявку, яку прийме адміністратор події.

Приєднатися до події

Как устроен Facebook

  • 18.05.11, 15:16
«Facebook» — социальная сеть, основанная в 2004 году Марком Цукербергом и его соседями по комнате во время обучения в Гарвардском университете Эдуардо Саверином, Дастином Московицем и Крисом Хьюзом. Благодаря своему сайту Марк Цукерберг стал самым молодым миллиардером в свои 23 года.Первоначально веб-сайт был назван thefacebook.com (позже изменён на современный вариант facebook) и открыт только для студентов Гарвардского Университета, затем доступ был расширен для других университетов Бостона, а затем и для студентов любых учебных учреждений США, имеющих электронный адрес с доменом .edu. Начиная с сентября 2006 года сайт был открыт для всех пользователей в возрасте от 13 лет, имеющих электронную почту. По состоянию на 21 июля 2010 года Facebook насчитывает более 500 миллионов пользователей по всему миру. При этом количество уникальных посетителей сайта в апреле 2010 года составило 540 млн, а количество просмотров страниц — 570 млрд. Прибыль Facebook за 2009 год по собственной оценке компании составила 700 млн долларов США.Платформа* Linux — операционная система* PHP с HipHop — код на PHP компилируется в C++* memcached — агрессивное кэширование объектов* MySQL — используется как хранилище пар ключ-значение, никаких join'ов* Thrift — интерфейс взаимодействия между сервисами, написанными на разных языках программирования* Scribe — универсальная система сбора и агрегации данных с рабочих серверовСтатистика* Более 500 миллионов активных пользователей (месячная аудитория)* Более миллиарда социальных связей* Более 200 миллиардов просмотров страниц в месяц* Более 4 триллионов действий попадает в новостные ленты каждый день* Более 150 миллионов обращений к кэшу в секунду; 2 триллиона объектов в кэше* Более 8 миллиардов минут провели пользователи на Facebook'е ежедневно* Более 3 миллиардов фотографий загружается каждый месяц, до 1.2 миллиона фотографий в секунду* 20 миллиардов фотографий в 4 разрешениях = 80 миллиардов фотографий, их бы хватило чтобы покрыть поверхность земли в 10 слоев; это больше, чем на всех других фото-ресурсах в месте взятых* О более чем 5 миллиардах единиц контента рассказывается друзьям еженедельно* Более миллиарда сообщений в чате каждый день* Более ста миллионов поисковых запросов в день* Более 250 приложений и 80 тысяч сторонних ресурсов на платформе Facebook Connect* Более 400 тысяч разработчиков сторонних приложений* Менее 500 разработчиков и системных администраторов в штате* Более миллиона активных пользователей на одного инженера* Десятки тысяч серверов, десятки гигабит трафикаАрхитектураОбщие принципы* Балансировщик нагрузки выбирает веб-сервер для обработки запроса* PHP-код в веб-сервере подготавливает HTML, пользуясь данными из различных источников: o MySQL o memcached o Специализированные сервисы* Если взглянуть с другой стороны, то получим трехуровневую архитектуру: o Вер-приложение o Распределенный индекс o Постоянное хранилище* Использование открытых технологий там, где это возможно* Поиск возможностей оптимизации используемых продуктов* Философия Unix: o Старайтесь делать каждый компонент системы простым и производительным o Комбинируйте компоненты для решения задач o Концентрируйте внимание на хорошо обозначенных точках взаимодействия* Все усилия направлены на масштабируемость* Попытки минимизации количества точек отказа* Простота.PHPПочему PHP? * Во многом «так исторически сложилось» * Хорошо подходит для веб-разработки * Легок в изучении: небольшой набор выражений и языковых конструкций * Легок в написании: нестрогая типизация и универсальный «массив» * Легок в чтении: синтаксис похож на C++ и Java * Прост в дебаггинге: нет необходимости в перекомпиляции * Большой ассортимент библиотек, актуальных для веб-проектов * Подходит для процесса разработки с короткими итерациями * Активное сообщество разработчиков по всему миру * Динамическая типизация, интерпретируемый язык для скриптовКак оказалось на самом деле? * Высокий расход оперативной памяти и вычислительных ресурсов * Сложно работать, когда объем исходного кода очень велик: слабая типизация и ограниченные возможности для статичного анализа и оптимизации кода * Не особо оптимизирован для использования в крупных проектах * Линейный рост издержек при подключении файлов с исходным кодом * Механизм разработки расширений не очень удобенДоработки: * Оптимизация байт-кода * Улучшения в APC (ленивая загрузка, оптимизация блокировок, «подогрев» кэша) * Свои расширения (клиент memcache, формат сериализации, логи, статистика, мониторинг, механизм асинхронной обработки событий) * HipHop — трансформатор исходных кодов: o Разработчики пишут на PHP, который конвертируется в оптимизированный C++ o Статический анализ, определение типов данных, генерация кода, и.т.д. o Облегчает разработку расширений o Существенно сокращает расходы оперативной памяти и вычислительных ресурсов o У команды из трех программистов ушло полтора года на разработку, переписаны большая часть интерпретатора и многие расширения языка o Опубликован под opensource лицензией в начале года, нет необходимости проходить этот же путь с нуляMySQLКак используется MySQL? * Используется как хранилище пар ключ-значение * Большое количество логических узлов распределено между физическими машинами * Балансировка нагрузке на уровне физических серверов * Репликация для распределения операций чтения не используется * Большинство запросов касаются самой свежей информации: оптимизация таблиц для доступа к новым данным, архивация старых записей * В целом быстро и надежноКак оказалось на самом деле? * Логическая миграция данных очень сложна * Создавать большое количество логических баз данных и перераспределять их между физическими узлами, балансируя таким образом нагрузку, намного удобнее * Никаких join'ов на рабочих серверах баз данных * Намного проще наращивать вычислительные мощности на веб-серверах, чем на серверах баз данных * Схемы, основанные на структуре данных, делают программистов счастливыми и создают большую головную боль администраторам * Никогда не храните не-статичные данные в централизованное базе данныхДоработки: * Практически никаких модификаций исходного кода MySQL * Своя схема партиционирования с глобально-уникальными идентификаторами * Своя схема архивирования, основанная на частоте доступа к данным относительно каждого пользователя * Расширенный движок запросов для репликации между датацентрами и поддержания консистенции кеша * Библиотеки для доступа к данным на основе графа: o Объекты (вершины графа) с ограниченными типами данных (целое число, строка ограниченно длины, текст) o Реплицированные связи (ребра графа) o Аналоги распределенных внешних ключей (foreign keys) o Большинство данных распределено случайноMemcacheКак используется memcached? * Высокопроизводительная распределенная хэш-таблица * Содержит «горячие» данные из MySQL * Снижает нагрузку на уровень баз данных * Основная форма кэширования * Используется более 25TB памяти на нескольких тысячах серверов * Среднее время отклика менее 250 микро-секунд * Кэшируются сериализованные структуры данных PHP * Отсутствие автоматического механизма проверки консистенции данных между memcached и MySQL — приходится делать это на уровне программного кода * Множество multi-get запросов для получения данных на другом конце ребер графа * Ограниченная модель данных, неэффективен для маленьких объектовДоработки: * Порт на 64-битную архитектуру * Более эффективная сериализация * Многопоточность * Улучшенный протокол * Компрессия * Проксирование запросов * Доступ к memcache через UDP: o уменьшает расход памяти благодаря отсутствию тысяч буферов TCP соединений o управление ходом исполнения приложение (оптимизация для multi-get) * Статистика о работе потоков по запросу — уменьшает блокировки * Ряд изменений в ядре Linux для оптимизации работы memcache: o распределение управления сетевыми прерывания по всем ядрам o оппортунистический опрос сетевых интерфейсов * После вышеперечисленных модификаций memcached способен выполнять до 250 тысяч операций в секунду, по сравнению со стандартными 30-40 тысячами без данных измененийThriftЧто это? * Легкий механизм построения приложений с использованием нескольких языков программирования * Высокая цель: предоставить механизм прозрачного взаимодействия между языками программирования. * Предоставляет язык описания интерфейсов, статический генератор кода * Поддерживаемые языки: C++, PHP, Python, Java, Ruby, Erlang, Perl, Haskell и многие другие * Транспорты: простой интерфейс для ввода-вывода (сокеты, файлы, буферы в памяти) * Протоколы: стандарты сериализации (бинарный, JSON) * Серверы: неблокирующие, асинхронные, как однопоточные, так и многопоточныеПочему именно Thrift? * Альтернативные технологии: SOAP, CORBA, COM, Pillar, Protocol Buffers — но у всех есть свои существенные недостатки, что вынудило Facebook создать свою технологию * Он быстрый, очень быстрый * Меньше рабочего времени тратится каждым разработчиком на сетевые интерфейсы и протоколы * Разделение труда: работа над высокопроизводительными серверами ведется отдельно от работы над приложениями * Общий инструментарий, знакомый всем разработчикамScribeЧто это? * Масштабированный распределенный механизм ведения логов * Перемещает данные с серверов в центральный репозиторий * Широкая сфера применения: o Логи поисковых запросов o Публикации в новостных лентах o Данные по A/B тестированиям * Более надежен, чем традиционные системы логгирования, но недостаточно надежен для транзакций баз данных * Простая модель данных * Построен на основе ThriftХранение фотографийСначала сделали это просто: * Загрузка на сервер: приложение принимает изображение, создает миниатюры в нужных разрешениях, сохраняет в NFS * Загрузка с сервера: изображения отдаются из NFS через HTTP * NFS построена на коммерческих продуктах * Это было необходимо, чтобы сначала проверить, что продукт востребован пользователями и они правда будут активно загружать фотографии * На самом деле оказалось, что: o Файловые системы непригодны для работы с большим количеством небольших файлов o Метаданные не помещаются в оперативную память, что приводит к дополнительным обращениям к дисковой подсистеме o Ограничивающим фактором является ввод-вывод, а не плотность храненияПотом начали оптимизировать: * Кэширование более часто используемых миниатюр изображений в памяти на оригинальных серверах для масштабируемости, надежности и производительности * Распределение их по CDN для уменьшения сетевых задержек * Возможно сделать еще лучше: o Хранение изображений в больших бинарных файлах (blob) o Сервис, отвечающий за фотографии имеет информацию о том, в каком файле и с каким отступом от начала расположена каждая фотография (по ее идентификатору) o Этот сервис в Facebook называется Haystack и он оказался в 10 раз эффективнее «простого» подхода и в 3 раза эффективнее «оптимизированного»Другие сервисы * SMC: консоль управления сервисами — централизованная конфигурация, определение на какой физической машине работает логический сервис * ODS: инструмент для визуализации изменений любых статистических данных, имеющихся в системе; удобен для мониторинга и оповещений * Gatekeeper: разделение развертывания и запуска, A/B тестирования, таргетированный запуск, постепенный запуск * И еще около 50 других сервисов.

Снимаем портрет. Часть 5. ТРЮКОВОЙ ПОРТРЕТ

  • 20.04.11, 10:59
На снимке один человек в двух лицах.
Съемку производят на один кадр дважды, не переводя пленку, на фоне черного бархата. Портретируемый может принимать различные позы.

Если такой снимок надо получить на фоне определенной обстановки, то на объектив надевают удлиненную солнечную бленду, у которой половина отверстия заклеена черной бумагой. Первый снимок делают так, чтобы человек стоял с одного края сюжета. После первого снимка портретируемый занимает второе нужное положение с другого края, бленда поворачивается на 180°, и кадр экспонируется вторично.

Если на портрете человек должен смотреть сам себе в глаза, то после первой съемки на высоте глаз в пространстве натягивают черную нитку, на которой делают отметку мелом. После перемены места фотографируемый будет знать, в какую точку ему смотреть.

На снимке много портретов одного человека. Если надо получить на одном снимке ряд различных портретов одного лица, пользуются большими зеркалами без рам, которые устанавливают под углом друг к другу. Чем острее угол, тем больше число отражений (например, при угле 60° получают пять, а при угле 45° - семь отражений одного и того же лица). Установлено, что лучше пользоваться углом 72°. Он дает возможность получить четыре портрета с разным поворотом лица. Портретируемый садится лицом к линии стыка зеркал. Чтобы в зеркалах не отразился фотоаппарат, его ставят за черным экраном с отверстием для объектива.

При таких съемках нужна большая глубина резко изображаемого пространства, поэтому снимать надо, сильно диафрагмируя объектив.

На снимке силуэтный портрет. Чтобы получить полный силуэт, портретируемого снимают против окна, за которым нет строений или деревьев. Съемку производят на очень контрастном материале (репродукционные фотопластинки, фототехнические пленки). Проявляют в контрастно работающем проявителе. Печатают на очень контрастной фотобумаге.

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

      Отрывок из книги Андрея Попова "Как выбрать фотоаппарат и научиться правильно фотографировать" и интерактивного диска CD-ROM "фотобукварь". Чтобы узнать подробнее об этой книге, ее стоимости и как ее заказать, необходимо отправить письмо любого содержания по адресу [email protected]. Робот автоматически вам ответит. Материал взят с http://photoreporter.ru

...

  • 25.11.10, 17:27

Люди не в состоянии составить собственное мнение. Чужие желания дают им понять, чего следует желать.

Реальность - это то, что продолжает существовать и после того, как мы перестаем в это верить.

Не каждая оценочная ситуация может служить мотиватором модификации

Драгобрат 6-8

  • 16.02.10, 12:12

5 марта уезжаем, 9 марта приезжаем.

Присоединиться к событию

Как мало, иногда, нужно для счастья.

Сегодня утром поняла, что вчера в «Кышене», забирая из ящика один пакет, я забыла там второй. Как человек, который очень редко что-либо теряет и забывает, я очень расстроилась, но как оптимист - поехала туда перед работой. И представляете, он там лежал, в открытом ящике, и никто его не взял.

Так что утром, когда я вспомнила, что его забыла, я была самым несчастным человеком, а когда я его нашла, я стала самым счастливым :))))))P.S.: Большое спасибо всем тем, кто мог, но не взял мой пакет :))

Как мы отдыхали в Чернигове

  • 12.09.07, 10:17
Пятница, вечер, вещи наконец сложены. Суббота, 06:30 и будильник об этом уже знает!!! И вот мы уже на полпути к одному из древнейших и красивейших городов Украины. Прочитав в машине всю имеющуюся инфу про достопримечательности Чернигова, делаю пару звонков по заранее скачанному http://www.nice-places.com/articles/ukraine/chernigov/15.htm списку с телефонами людей, сдающих в аренду квартиры и договариваюсь о съеме двухкомнатной квартиры в центре за 80 грн в сутки. До приезда в Чернигов ничего не остается, как высматривать засады гаишников на обочине.Второй час пути (по трассе не больше 110 :( , а в населенных пунктах, которые встречаются по дороге 90) на исходе и перед взором предстает церковь с бронзовыми куполами - это Екатерининская церковь начала ХVIII века, а справа уже виден Вал с 12 старинными пушками. Следующий час мы арендуем квартиру в центре города на пр. Мира, раскладываем вещи и ищем стоянку для машины - это оказалось самым сложным. Пришлось обойти пару близлежащих кварталов - стоянка обнаружилась за зданием МВД на проспекте Победы, по дороге нам встретился Макдональдс (для любителей подобных заведений). Для тех кто не может передвигаться без машины - ее все же лучше оставить.День первый. Вооружившись атласом Чернигова мы вернулись на пр. Мира, где с Красной площади, являющейся административным и культурным центром Чернигова с начала XIX столетия, и начали нашу пешеходную экскурсию.Прежде Красная площадь именовалась Пятницким полем из за соседства с храмом Св. Параскевы Пятницы - памятников зодчества периода Киевской Руси, который стал следующим объектом нашей прогулки. (Мы пересекаем площадь, переходим пр. Мира и заходим за здание Музыкально-драматический театр им. Шевченко.) Храм был построен в конце XII столетия, а с XVII века при нем существовал девичий монастырь, после Великой Отечественной войны храм был восстановлен. Расположен храм в тенистом сквере имени Богдана Хмельницкого с одноименным памятником в центре. Мы сделали пару кругов с фотоаппаратом по скверу и осмотрели церковь снаружи и внутри.Далее наш путь лежал через просторную, с фонтанами в центре и скамеечками по бокам Аллею Героев, начинающуюся от Красной площади и проходящую по проспекту Мира. На ней установлены памятники нашим землякам, отличившимся в годы гражданской и Великой Отечественной войн: Ю.Коцюбинскому, В.Примакову, В.Антонову-Овсеенко, Н.Подвойскому, Н.Щорсу, Н.Крапивянскому, И.Кирпоносу, В.Сенько, а также памятник героям-ликвидаторам аварии на Чернобыльской АЭС.Аллея Героев привела нас к Екатерининской церкви - памятнику архитектуры конца XVII - начала XVIII века. Она была построена в 1715 году на месте древнерусского храма XII века в память о черниговских казаках во главе с Яковом Лизогубом (старшим), взявших считавшуюся неприступной турецкую крепости Азов.С площадки за Екатерининской церковью открывается прекрасный вид на Болдины горы и сооружения Успенского собора, колокольни Елецко-Успенского монастыря, Троицко-Ильинского собора и колокольни Троицко-Ильинского монастыря. Насмотревшись в доволь и нафоткавшись, движемся направо-вниз и перейдя дорогу в овраге оказываемся в парке на Валу - в древнейшей части города, в Черниговском Детинце.Одной из достопримечательностей Вала являются 12 чугунных пушек, установленных здесь в начале XX ст. Рядом находится памятник Т. Шевченко. На Валу есть памятник еще одному поэту - бронзовый бюст А. С. Пушкина, расположенный в северо-восточной части парка. Двигаясь вдоль пушек, попадем на смотровую площадку, с видом на Десну, пляжи и порт. В порту объявляют об отплытии прогулочного катера, но мы движемся дальше в северо-восточную часть Детинца (один пролет по лестнице вниз и направо).Справа красивый каменный дом, построенный в 90-х годах XVII века. Это Дом полковой канцелярии, принадлежавший полковнику Лизогубу - образец жилой архитектуры Украины конца XVII ст.Пройдя немного по тропинке подходим к зданию с несколькими мемориальными досками. Это, построенный в 1804 году, дом губернатора, переданный вскоре мужской гимназии. Сейчас в этом здании размещается областной исторический музей имени В.В.Тарновского, который мы не преминули посетить.Выйдя из музея попадаем на аллейку ведущую к одному из древнейший каменных храмов сохранившихся на Руси - Спасо-Преображенскому собору. Он был заложен князем Мстиславом Владимировичем Храбрым в начале XI ст. в центре большого княжеского двора и со временем он стал усыпальницей князей черниговской династии. На протяжении веков он неоднократно перестраивался. Башни были надстроены в XVIII-XIX веках. Оконные ниши на башне собора служили солнечными часами священникам - по мере их заполнения солнечным светом можно было определить время с точностью до 5 минут.Рядом находится Борисоглебский собор конца XI - начала XII ст. Он был построен на остатках фундамента каменного сооружения XI ст. Сейчас в нем располагается музей.С северо-восточной стороны Борисоглебского собора находится Дом Черниговского коллегиума. Он состоит из нескольких сооружений: двухэтажного основание колокольни в западной части, трапезной Борисоглебского монастыря в центральной части, колокольни и церкви Иоана Богослова. в западном крыле. Сейчас здесь размещается дирекция заповедника "Чернигов древний" и выставка украинских икон, которую мы с удовольствием посетили.Порядком устав и проголодавшись мы направились к центральному выходу из парка, где обнаружили сувенирный ларек, судя по всему единственный в городе. Перекусив в <Картопляной хате>, уставшие, но довольные мы отправились домой составлять план на завтра и спать.День второй.Утром наскоро перекусив, мы пустились на поиски Воскресенской церкви построенной в 1772-1775 годах (ул. Комсомольской, 46). Посетив и сфотографировав церковь и колокольню, мы направились в Елецко-Успенский монастырь(Пролетарская, 1). Монастырь основан в 60 годах XI столетия князем Святославом Ярославовичем. На его территории располагаются Успенский собор XII ст, церковь Лизогуба 1689 г, колокольня 1670-1675гг., келии XVI-XVII ст, Петропавловская церковь с трапезной, дом архимандрида Елецкого Успенского монастыря Феодосия Углицкого 1688г. Монахини на территории монастыря избегали попадать в кадр и мы опускали камеры.Потратив некоторое время на поиски остатков Сиверского монастыря XII-XIII ст по улице Сиверянской, чем очень удивили местное население, которое о таком и не слышало, мы пошли по улице Толстого, которая привела нас к уютному ресторанчику у подножия Мемориала Славы, где за весьма умеренную плату мы и пообедали.Итак, следующий объект нашего посещения - это Мемориал Славы, расположенный у подножия Болдиной горы и на ее вершине. Поднимаемся по лестнице к могиле Неизвестного солдата и Вечному огоню- отсюда открывается панорама древней части Чернигова и Святой рощи, где, по преданию, в 992 году приняли крещение жители города. Делаем очередную партию снимков.Двигаясь дальше по левой аллее проходим мимо курганов "Безымянный" и "Гульбище" - насыпей древнего языческого могильника, который сегодня насчитывает более 200 насыпей.За могилой М.Коцюбинский сворачиваем налево на тропинку ведущую мимо разрушенных временем могил ко входу в Антониевы пещеры протяжённостью 315 м. Это пещерный Ильинский монастырь основанный отцом русского монашества преподобным святым Антонием Печерским в 1069 году. В пещерах мы посетили самый большой в Украине подземный храм. Помещения монастыря вырыты в различные исторические периоды от XII до XIX столетия. Рядом со входом в пещеры располагается Ильинская церковь, возведенная в первой половине XII ст.Современный Троицко-Ильинский монастырь располагается на соседней горе с западной стороны от Ильинской церкви. Постройки монастыря начали возводить с 1672 года. Сегодня на его территории располагается Троицкий собор (1679), трапезная Введенская церковь (1677-1679), колокольня (1775), кельи и двухэтажный дом настоятеля (1750), а также кирпичная ограда с башнями XVII-XIX ст. Возле Троицкого собора находится могила Глебова.Поднявшись на 58 метровую пяти ярусную Троицкую колокольню по лестнице насчитывающей 172 ступеньки - обозреваем город с высоты птичьего полета.Остаток дня до отъезда в Киев мы провели на лавочке в парке возле Катерининской церкви, носящем название ЦПК и В им. Коцюбинского. С собой мы увезли море фотографий и самые теплые воспоминания об одном из древнейших и красивейших городов Украины, в свое время соперничавшего в могуществе с Киевом.