Pull to refresh
4
0
Send message

От Facebook HackerCup 2011 до стажировки в Facebook

Reading time6 min
Views66K
Начало

Всем привет! Часто, пробегая утром глазами заголовки на Хабре, я вижу статьи о том, как кто-то уехал учиться зарубеж. И каждый раз я думаю, что пора уже перестать лениться и описать свою историю о том, как я уехал стажироваться в Facebook.
Читать дальше →
Total votes 115: ↑111 and ↓4+107
Comments92

10 лучших stop-motion видеороликов на YouTube

Reading time2 min
Views46K
imageСоздание stop-motion видеороликов — труд зачастую бескорыстный, но достаточно кропотливый. Ниже представлена коллекция из десяти видеороликов, созданных людьми, которые были по-настоящему вовлечены в свою работу.

Кстати, на хабре год назад выкладывался один из оригинальных способов создания роликов из фотографий, поэтому кто заинтересован блеснуть вдохновением, читайте здесь.

Итак, 10 невероятных покадровых видеороликов:

1. Stop Motion With Wolf And Pig



В этом видео, отлично показано, что можно сделать располагая всего лишь фотоаппаратом, воображением и хрюшкой из папье-маше.
Читать дальше →
Total votes 103: ↑93 and ↓10+83
Comments50

Кольца, уровни привилегий и защита в x86

Reading time9 min
Views48K
image

Вы наверняка интуитивно догадывались, что приложения, выполняемые на Intel x86 компьютерах, ограничены в своих возможностях, и что некоторые действия могут быть выполнены исключительно операционной системой. Но знаете ли вы, как это действительно работает? В данном посте рассмотрим уровни привилегий x86 — механизм, в котором ОС и процессор действуют сообща для того, чтобы ограничить то, что могут сделать user mode приложения.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments5

Как мы создали облачную АТС Sipuni.com

Reading time6 min
Views21K
Для меня настоящим чудом было появление Skype. Когда я начал им пользоваться в 2004 году, он еще показывал сколько абонентов в сети — их было около 600 тысяч. Думаю, из них в России было не больше 1%. По крайней мере из моих друзей-знакомых скайпа не было ни у кого — серьезное препятствие для свободного общения.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments10

Hyperboria: Маршрутизация

Reading time3 min
Views33K

Продолжая цикл статей об Hyperboria, в этой статье будут рассмотрены следующие аспекты:
1) Количество IP адресов в Hyperboria, как они генерируются.
2) Коллизии и как с ними бороться.
3) Почему используется служебный (приватный) диапазон IPv6 адресов.
4) Роутеры и Hyperboria.
5) Маршруты и DHT.
6) Защищенность сети.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments65

Оптимизация MySQL запросов с помощью Neor Profile SQL

Reading time1 min
Views26K
Любой программист создающий нагруженные проекты с тысячами пользователей, когда-либо задавался вопросом, как он может улучшить SQL запросы и экономить многие сотни долларов. Процесс анализа обычно начинается с профилирования и отладки кода приложения. Далее происходит процесс оптимизации SQL запросов, для этого можно воспользоваться встроенными иструментами MySQL сервера. Например логирование MySQL в файл. Но рано или поздно начинаешь понимать, что это не удобно.

image

Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments35

Нужны ли в JavaScript классы?

Reading time6 min
Views104K
JavaScript принято считать прототип-ориентированным языком программирования. Но, как ни странно, этим подходом практически никто не пользуется: большинство популярных JS-фреймворков явно или неявно оперируют классами.
В этой статье я хочу рассказать об альтернативном способе программирования на JavaScript, без использования классов и конструкторов — чистым прототипным ООП и особенностях его реализации на ECMA Script 5.
Читать дальше →
Total votes 164: ↑140 and ↓24+116
Comments60

Эксперимент в Яндексе: как роботы помогают тестировать сервисы

Reading time7 min
Views26K
Робот не может причинить вред человеку
или своим бездействием допустить,
чтобы человеку был причинён вред.
Айзек Азимов

Я занимаюсь в Яндексе тестированием и хочу рассказать вам об одном нашем экспериментальном проекте. В его рамках мы создали полностью автоматический инструмент для функционального тестирования веб-интерфейсов — Роботестер. Наш робот удовлетворяет первому закону роботехники: он не причиняет вред человеку и не бездействует, когда находит баг, который может создать людям проблемы.

Роботестер сам ищет ошибки

Мы подумали, что сервисом наравне с людьми может пользоваться какое-то количество тестовых роботов, которые оперативно и чётко будут сообщать о его проблемах. Роботы никогда не отдыхают и делают так, чтобы с появившейся ошибкой столкнулось как можно меньше людей.

Нам такая идея очень понравилась, и мы начали её реализовывать.
Читать дальше →
Total votes 83: ↑75 and ↓8+67
Comments28

Инспектор UIKit в реальном времени (Reveal App)

Reading time2 min
Views11K


Программу сравнивают с Web Inspector для WebKit, если это сравнение вам о чём-нибудь говорит. Если без сравнения, то это инструмент, который позволяет вживую исследовать всю иерархию объектов UIKit в вашем приложении и менять их аттрибуты.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments5

Getters & Setters в Javascript

Reading time9 min
Views29K
Много людей знают, что такое getter'ы и setter'ы во многих языках программирования. Есть эти чудесные штуки и в JavaScript, хоть узнал я об этом совсем недавно (темень я необразованная). Речь пойдёт не только и не столько про методы getSomeProperty()/setSomeProperty(...), а про более интересную реализацию — псевдо-аттрибуты, при изменении которых будут вызываться функции-обработчики.

Дальше...
Total votes 73: ↑67 and ↓6+61
Comments26

Ежедневная работа с Git

Reading time40 min
Views875K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.
Total votes 200: ↑194 and ↓6+188
Comments44

Логическая организация кэш-памяти процессора

Reading time3 min
Views38K
На днях решил систематизировать знания, касающиеся принципов отображения оперативной памяти на кэш память процессора. В результате чего и родилась данная статья.

Кэш память процессора используется для уменьшения времени простоя процессора при обращении к RAM.

Основная идея кэширования опирается на свойство локальности данных и инструкций: если происходит обращение по некоторому адресу, то велика вероятность, что в ближайшее время произойдет обращение к памяти по тому же адресу либо по соседним адресам.

Логически кэш-память представляет собой набор кэш-линий. Каждая кэш-линия хранит блок данных определенного размера и дополнительную информацию. Под размером кэш-линии понимают обычно размер блока данных, который в ней хранится. Для архитектуры x86 размер кэш линии составляет 64 байта.



Так вот суть кэширования состоит в разбиении RAM на кэш-линии и отображении их на кэш-линии кэш-памяти. Возможно несколько вариантов такого отображения.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments10

Миллион PPS в секунду — связанность и балансировка

Reading time7 min
Views28K

На последней конференции РИТ++ мне посчастливилось стать впервые докладчиком конференции такого масштаба и такой значимости. В этой статье я не просто хочу пересказать всё, о чём я докладывал. Выступать впервые перед такой большой аудиторией для меня было непривычно и я половину забыл рассказать, нервничал немного. Речь пойдет о создании с нуля собственной отказоустойчивой структуры для веб-проектов. Мало кому из системных администраторов дается возможность с нуля запустить в production крупный проект. Мне повезло.

Как я уже написал, я не смог рассказать всё, что планировал со сцены, в этой статье я восполню эти пробелы, да и для того, кто не смог там присутствовать — это будет приятно, видео с конференции так и не дали бесплатно всем. Да и стать пользователем Хабра я хотел давно, вот только не было времени. Майские праздники дали время и силы. Статья будет не столько технической с кучей конфигов и графиков — статья будет принципиальная, все пробелы мелких технических вопросов можно будет восполнить в комментариях.
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments55

Переход на MySQL 5.6, а стоит ли?

Reading time17 min
Views48K
После выхода новой версии MySQL в начале этого года, многие задумались о том стоит ли на неё переходить с более старых версий. Чтобы ответить на этот вопрос для себя, вначале необходимо понять, а что именно даст этот переход. В этой статье я постараюсь осветить новые, важные для меня, фичи, которые были включены в дистрибутив новой версии, анализ их производительности и работоспособность новой версии, а так же необходимость что-то менять в коде в связи в переписанным оптимизатором. Так как объем изменений действительно очень велик, для каждого пункта дам ссылку на оригинальную статью по тестирования производительности и исключу из описания воду.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments32

Лёгкий сайт или как посадить браузер на диету

Reading time14 min
Views144K

А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

Zeno Rocha, руководитель проекта.


Читать дальше →
Total votes 193: ↑179 and ↓14+165
Comments80

Objective-C Runtime. Теория и практическое применение

Reading time6 min
Views61K
В данном посте я хочу обратиться к теме, о которой многие начинающие iPhone-разработчики часто имеют смутное представление: Objective-C Runtime. Многие знают, что он существует, но каковы его возможности и как его использовать на практике?
Попробуем разобраться в базовых функциях этой библиотеки. Материал основан на лекциях, которые мы в Coalla используем для обучения сотрудников.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments8

Оптимизация работы веб-студии. Применение теории ограничений в производстве сайтов

Reading time6 min
Views54K


В статье «12 тыс рублей за сайт. Есть ли бизнес за МКАДом?» я писал про наш подход к разработке сайтов на базе разработанной внутри компании технологии. На момент написания той статьи, мы выпускали «под ключ» 24 сайта в месяц. Это больше чем один сайт в день силами команды из 8 человек.

После рассказа на хабре о нашей технологии количество заявок на разработку сайтов выросло в несколько раз. Только за март 2012 было выставлено около 60-ти коммерческих предложений и, большая часть из них превращалась в договора.

И тут наше производство затрещало по швам. Практически сразу заявки стали становиться в очередь, менеджеры начали путаться в проектах, дизайнеры стали проситься в отпуск. Ситуация становилась поистине напряженной…
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments38

Шаблонные сайты VS эксклюзивные сайты

Reading time5 min
Views62K


Говоря о шаблонных сайтах, мы нередко слышим, что такие проекты не живут дольше нескольких месяцев. Потенциальные клиенты, услышав слово «шаблонный», не хотят продолжать разговор и делают обиженные лица. Студии, которые делают «шаблонные» решения – часто лишены должного уважения в профессиональном сообществе. И, наконец, сайты, которые дешевле 20 000 руб часто называют, простите, «говносайтами». Вы тоже так думаете? Давайте разберемся насколько это действительно так и восстановим мировой баланс (если он существует).
Читать дальше →
Total votes 93: ↑78 and ↓15+63
Comments74

12 000 рублей за сайт. Есть ли бизнес за МКАДом?

Reading time6 min
Views28K
Сегодня мы с уверенностью можем сказать, что отказались от разработки сложных и дорогих интернет-проектов в пользу бюджетных, простых решений за 12 000 рублей. Вместо одного недовольного клиента, мы получаем десять довольных, а сам бизнес стал стабильным, рентабельным и, главное, прогнозируемым и предсказуемым. Я давно обещал рассказать, как нам это удается. В декабре мы перешагнули планку «21 сайт в месяц», и готовы поделиться своими секретами.
Читать дальше →
Total votes 198: ↑175 and ↓23+152
Comments317

Особенности работы или «За что я люблю JavaScript»: Замыкания, Прототипирование и Контекст

Reading time17 min
Views103K
Зародившись как скриптовый язык в помощь веб-разработчикам, с дальнейшим развитием JavaScript стал мощным инструментом разработки клиентской части, обеспечивающий удобство и интерактивность страницы прямо в браузере у пользователя.

Из-за специфичности среды и целей, JavaScript отличается от обычных языков программирования, и имеет множество особенностей, не понимая которые, довольно сложно написать хороший кроссбраузерный код.

Думаю, что большинство программистов, писавших код на JavaScript больше пары дней, сталкивались с этими особенностями. Цель данного топика не открыть что-то новое, а попытаться описать эти особенности «на пальцах» и «недостатки» сделать «преимуществами».

В данном топике будут рассматриваться:

  1. Замыкания
  2. Прототипирование
  3. Контекст выполнения

Читать дальше →
Total votes 112: ↑91 and ↓21+70
Comments85

Information

Rating
Does not participate
Registered
Activity