x @kaoz
Квантовая телепортация
RubyOnRails — о главном в презентации
1 мин
1.3KНа сайте RubyInside была опубликована интересная презентация, которая в 341 слайде объясняет принципы работы с Ruby On Rails.(installation, Ruby, migrations, ActiveRecord, forms, views, Rails 2.0, deployment, etc ). Может помочь желающим освоить framework. Презентация достаточно полная для того, чтобы понять основную концепцию.
PDF версию можно скачать тут
Просмотреть слайд-шоу тут
P.S. презентация исключительно на англ.
PDF версию можно скачать тут
Просмотреть слайд-шоу тут
P.S. презентация исключительно на англ.
+17
Парсим микроформаты
7 мин
3.9KПеревод
Микроформаты — это способ внедрения специфических семантических данных в HTML, который мы используем сегодня. Первый вопрос, который задал бы гуру XML: «А зачем применять HTML, если XML позволяет создать ту же самую семантику?» Я не буду перечислять все причины, по которым XML был бы лучшим или худшим выбором для кодирования данных, или же почему микроформатами был выбран HTML в качестве базы. Эта статья будет сосредоточена на том, как работают базовые правила парсинга, и как они отличаются от XML-ных.
+26
Геопространственные данные
5 мин
7.5KВ связи с тем, что W3C опубликовало словари и онтологии геопространственных данных хочу остановиться на этом по-подробнее.
+19
Row Locking во время выборки в MySQL
2 мин
11KДа-да, все «реальные пацаны» умеют строить веб-системы, способные выдержать монументальные нагрузки. Ну а для «непацанофф» всегда есть гугл и масса сайтов посвящёных данной тематике. Однако «проблема роста» включает в себя не только вопрос верной сервировки данных клиенту и их грамотной репликации/распределении на кластере. Зачастую проблемы возникают от того, что всё как раз-таки наоборот — слишком шустро работает. Рассмотрим пример из недавней практики:
+12
Классы, объекты и наследование в JavaScript
17 мин
28KНедавно в офисе Хабра я хотел прочитать своим коллегам небольшой доклад об объектной ориентации и наследовании классов в JavaScript.
Дело в том, что в свое время я был в полном восторге, научившись создавать свои собственные объекты и выстраивать цепочки наследования, и решил, что называется, поделиться с другими своими находками и наблюдениями. (=
Признаюсь, что в процессе подготовки текстов семинара некоторые вещи я открыл для себя заново и был вновь удивлен теми возможностями, которые JavaScript имеет в своем распоряжении, и которые становятся доступными разработчику лишь при пристальном разглядывании и экспериментировании языком.
Пользуясь тем, что семинар все время откладывается «до следующей пятницы», я решил опубликовать тексты семинара в сети, дабы мои восторги оказались полезными еще кому-нибудь.
Весь текст подеён на 5 разделов:
Дело в том, что в свое время я был в полном восторге, научившись создавать свои собственные объекты и выстраивать цепочки наследования, и решил, что называется, поделиться с другими своими находками и наблюдениями. (=
Признаюсь, что в процессе подготовки текстов семинара некоторые вещи я открыл для себя заново и был вновь удивлен теми возможностями, которые JavaScript имеет в своем распоряжении, и которые становятся доступными разработчику лишь при пристальном разглядывании и экспериментировании языком.
Пользуясь тем, что семинар все время откладывается «до следующей пятницы», я решил опубликовать тексты семинара в сети, дабы мои восторги оказались полезными еще кому-нибудь.
Весь текст подеён на 5 разделов:
- ООП в Java Script (1/5): Объекты
- ООП в Java Script (2/5): Классы
- ООП в Java Script (3/5): Свойства и методы класса
- ООП в Java Script (4/5): Наследование классов
- ООП в Java Script (5/5): Полезные ссылки
+17
Множественные числа
1 мин
2.8KДовольно часто на сайтах встречаются нелепые словесные конструкции, которыми программист обезличено хотел показать какой либо количественный параметр, например:
на сайте 22 человек ( а должно быть 22 человека )
1 комментариев ( понятно, что расчёт шёл на 10+ комментариев, но это не выход )
на сайте 22 человек ( а должно быть 22 человека )
1 комментариев ( понятно, что расчёт шёл на 10+ комментариев, но это не выход )
+34
Основы масштабирования
10 мин
63KПрочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.
Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru
Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.
Основы масштабирования
Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru
Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.
+66
Фабрика стартапов
8 мин
2.5KВ интересное время живем!
Сейчас мы видим количественные изменения:
— увеличение количества пользователей;
— увеличение скорости наряду с уменьшением стоимости доступа в сеть;
— увеличение возможностей мобильных систем;
— увеличение количества сервисов в сети.
Эти количественные изменения приведут к качественным, а именно:
Сейчас мы видим количественные изменения:
— увеличение количества пользователей;
— увеличение скорости наряду с уменьшением стоимости доступа в сеть;
— увеличение возможностей мобильных систем;
— увеличение количества сервисов в сети.
Эти количественные изменения приведут к качественным, а именно:
+3
Черные ходы Касперского 6/7
10 мин
7.9KПеревод статьи с сайта rootkit.com
![](https://habrastorage.org/getpro/habr/olpictures/9f8/b65/cfa/9f8b65cfaf355637126ce978180ce409.jpg)
Преамбула
Антивирус Касперского — один из наиболее технически развитых антивирусов на сегодняшний день. Он даже может бороться с некоторыми типами руткитов, даже когда они живы и пытаются атаковать.
Он имеет Модуль Проактивной Защиты (Proactive Defence), представляющий из себя частичную реализацию HIPS, способную, в теории, защитить компьютер от неизвестных угроз, анализируя поведение программ и предотвращая несанкционированные действия.
Это всё теория и рекламные слоганы. В реальности же мы имеем совсем другую ситуацию. Существует много руткитов, которые вообще не обнаруживаются антивирусом, а его проактивная защита может быть подавлена таким образом, что атакующий может загрузить свой драйвер, после чего любая проактивная защита просто бесполезна.
Эта статья — не просто обзор ошибок и уязвимостей — в конце каждой части мы даём рекомендации разработчикам антивируса, потому что мы видим, что они не могут разобраться с этими ошибками самостоятельно. И для приверженцев сразу оговорка: конечно, все, что написано ниже — не критические уязвимости, нет-нет =) Всего лишь несколько простых методов получить BSOD при установленном KAV/KIS даже из под гостевого аккаунта, всего лишь методы обхода KAV/KIS… и так далее, в общем не принимайте слишком близко к сердцу.
Версия Касперского, про который пойдёт речь в этой статье — 7.0, последний публичный билд 125, тип продукта — Internet Security.
![](https://habrastorage.org/getpro/habr/olpictures/9f8/b65/cfa/9f8b65cfaf355637126ce978180ce409.jpg)
Преамбула
Антивирус Касперского — один из наиболее технически развитых антивирусов на сегодняшний день. Он даже может бороться с некоторыми типами руткитов, даже когда они живы и пытаются атаковать.
Он имеет Модуль Проактивной Защиты (Proactive Defence), представляющий из себя частичную реализацию HIPS, способную, в теории, защитить компьютер от неизвестных угроз, анализируя поведение программ и предотвращая несанкционированные действия.
Это всё теория и рекламные слоганы. В реальности же мы имеем совсем другую ситуацию. Существует много руткитов, которые вообще не обнаруживаются антивирусом, а его проактивная защита может быть подавлена таким образом, что атакующий может загрузить свой драйвер, после чего любая проактивная защита просто бесполезна.
Эта статья — не просто обзор ошибок и уязвимостей — в конце каждой части мы даём рекомендации разработчикам антивируса, потому что мы видим, что они не могут разобраться с этими ошибками самостоятельно. И для приверженцев сразу оговорка: конечно, все, что написано ниже — не критические уязвимости, нет-нет =) Всего лишь несколько простых методов получить BSOD при установленном KAV/KIS даже из под гостевого аккаунта, всего лишь методы обхода KAV/KIS… и так далее, в общем не принимайте слишком близко к сердцу.
Версия Касперского, про который пойдёт речь в этой статье — 7.0, последний публичный билд 125, тип продукта — Internet Security.
+69
Client Side'2007 / Встреча докладчиков
1 мин
1.1K![](https://habrastorage.org/getpro/habr/post_images/fe6/815/c52/fe6815c5201f0919a23d3cfd711e3a71.gif)
Организаторы первой конференции для разработчиков клиентских интернет-технологий объявили предварительную программу мероприятия. В состав докладчиков вошли такие знаменитые личности, как Вадим Макеев, Платон Днепровский, Артем Горбунов, Денис Бесков-Доронин, Алексей Капранов и другие представители ведущих дизайнеров и технологов России.
На сайте представлена черновая версия программы конференции: темы докладов и авторы. Однако стоит учесть, что из перечисленного списка (более пяти десятков докладов). Программный комитет выберет лишь 30 лучших докладов, которые и будут представлены публике на конференции 6 и 7 ноября. Заседание состоится 17 ноября в 20 часов в ресторане «Союз» (карта и подробное описание проезда).
Хабралюди приглашены!
PS: В моем ЖЖ проходят народные выборы докладов, которые попадут в программу.
+6
10 проблем при работе с заказчиками. Часть2.
3 мин
2.9K1 часть — тут
Проблема 6. Клиент никогда не знает стоимость работ.
Очень редко приходится встречать клиента, который понимает, сколько стоит реально то, что требуется сделать — большая часть клиентов имеют некий бюджет и пожелания того, что нужно сделать в итоге. Обычно ни о техзаданиях, ни о рейтах (оценка часа работы в денежном эквиваленте) — они ничего не слышали или слышали, но не сталкивались.
Методы решения:
Проблема 6. Клиент никогда не знает стоимость работ.
Очень редко приходится встречать клиента, который понимает, сколько стоит реально то, что требуется сделать — большая часть клиентов имеют некий бюджет и пожелания того, что нужно сделать в итоге. Обычно ни о техзаданиях, ни о рейтах (оценка часа работы в денежном эквиваленте) — они ничего не слышали или слышали, но не сталкивались.
Методы решения:
+19
10 проблем при работе с заказчиками. Часть1.
3 мин
3.2KВ ответ на habrahabr.ru/blog/pm/27099.html хочу привести взгляд на ситуацию со стороны фрилансера.
За годы работы с заказчиками у меня скопилась маленькая “тележка” проблем при работе во фрилансе. Пришло время немного систематизировать эти знания. Приступим.
Проблема 1. Отсутствие техзадания.
За годы работы с заказчиками у меня скопилась маленькая “тележка” проблем при работе во фрилансе. Пришло время немного систематизировать эти знания. Приступим.
Проблема 1. Отсутствие техзадания.
+19
Работа с фрилансерами. Из опыта сотрудничества с отечественными удаленщиками, часть 2. Решения
4 мин
1.4KВо вчерашнем материале я описал общие ситуации, с которой сталкивался при работе с удаленщиками. В комментариях к нему проскочили многие из решений, к которым пришел на основе практики. Да и в целом тема оказалась жизненной — аналогичные проблемы имели и другие заказчики удаленных услуг. Какие люди вообще идут во фриланс? Я встречался с несколькими типами:
+27
Работа с фрилансерами. Из опыта сотрудничества с отечественными удаленщиками, часть 1. Проблемы
3 мин
9.4KФрилансеры — один из самых доступных и частых способов закрыть фронт работ, который в компании выполняются нерегулярно. Либо в случае, если свои люди беспросветно заняты на других проектах, а нанимать новых нет смысла или времени. Я работаю с фрилансерами по обоим причинам. Хотя за последнее время потерянные сроки и нервы убедили, что время и смысл для поиска постоянных сотрудников лучше все-таки найти. А субподрядчиков использовать только для совсем уж нетипичных работ.
+48
Как сделать из социальной сети бизнес
6 мин
1.1KМаленькая теоретическая часть. Аксиомы.
Ни одно мероприятие и ни один бизнес не возможны без соблюдения определенного порядка и правил.
Никто не соблюдает правил, если не чувствует ответственности.
Ответственность – риск быть наказанным.
Наказание – потеря чего-то ценного или дорогого – ценности.
Чем большими ценностями обладают участники, тем выше может быть уровень порядка и успех мероприятия или бизнеса.
Чтобы социальная сеть зарабатывала деньги, она должна стать бизнесом.
Чтобы социальная сеть стала бизнесом, создай условия для создания ценности и правила ее отбора.
Ни одно мероприятие и ни один бизнес не возможны без соблюдения определенного порядка и правил.
Никто не соблюдает правил, если не чувствует ответственности.
Ответственность – риск быть наказанным.
Наказание – потеря чего-то ценного или дорогого – ценности.
Чем большими ценностями обладают участники, тем выше может быть уровень порядка и успех мероприятия или бизнеса.
Чтобы социальная сеть зарабатывала деньги, она должна стать бизнесом.
Чтобы социальная сеть стала бизнесом, создай условия для создания ценности и правила ее отбора.
+2
Практический JS: балансировка на стороне клиента
1 мин
1.9KПеревод
Примечание: ниже находится перевод статьи «Client Side Load Balancing for Web 2.0 Applications», в которой затрагиваются вопросы балансировки нагрузки между несколькими серверами и рассматривается решение, обеспечивающее балансировку такой нагрузки прямо на компьютере клиента.
Сервер обрабатывает HTTP (HyperText Transfer Protocol) запросы со стороны браузеров. Если вы введете в адресной строке URL, например, www.digital-web.com, то ваш компьютер отправит поисковый запрос для определения, какие именно сервера будут обрабатывать ваш запрос и пересылать данные. Техника обработки таких запросов для кластера веб-серверов называется балансировкой нагрузки.
Балансировка нагрузки повышает надежность веб-сайта путем распределения запросов между несколькими (кластером) серверами, если один из них перегружен или отказал. Существует много методов по обеспечению такого поведения, но все они должны удовлетворять следующим требованиям:
читать дальше на webo.in →
Сервер обрабатывает HTTP (HyperText Transfer Protocol) запросы со стороны браузеров. Если вы введете в адресной строке URL, например, www.digital-web.com, то ваш компьютер отправит поисковый запрос для определения, какие именно сервера будут обрабатывать ваш запрос и пересылать данные. Техника обработки таких запросов для кластера веб-серверов называется балансировкой нагрузки.
Балансировка нагрузки для веб-приложений
Балансировка нагрузки повышает надежность веб-сайта путем распределения запросов между несколькими (кластером) серверами, если один из них перегружен или отказал. Существует много методов по обеспечению такого поведения, но все они должны удовлетворять следующим требованиям:
- Распределять нагрузку внутри кластера рабочих серверов.
- Корректно обрабатывать отказ одного из рабочих серверов.
- Весь кластер должен существовать для конечного пользователя как одна-единственная машина.
читать дальше на webo.in →
+15
Создание простой MVC-системы на PHP 5
18 мин
208KПеревод
Предисловие
В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).
+11
Что ж такое этот загадочный третий веб?
6 мин
4.1KРешил написать небольшую разъяснительную статью на эту тему.
Совсем недавно стали появляться новости о том, то IBM и BBC принялись за разработку Web 3.0. Затем поступила информация, что между Европейским Союзом и США намечается конкуренция за право первенства в технологиях Web 3.0, или, как еще называют, Семантической Сети.
Вообщем-то Web3.0 довольно условное название, ибо не все признают и веб 2.0, потому далее буду называть это нечто семантической сетью.
Что же такое в действительности Семантический Веб и достоин ли он прийти на смену существующему интернету – основные вопросы пользователей и сетевых инвесторов. Об этом и пойдет речь.
Немного воды для начала
Совсем недавно стали появляться новости о том, то IBM и BBC принялись за разработку Web 3.0. Затем поступила информация, что между Европейским Союзом и США намечается конкуренция за право первенства в технологиях Web 3.0, или, как еще называют, Семантической Сети.
Вообщем-то Web3.0 довольно условное название, ибо не все признают и веб 2.0, потому далее буду называть это нечто семантической сетью.
Что же такое в действительности Семантический Веб и достоин ли он прийти на смену существующему интернету – основные вопросы пользователей и сетевых инвесторов. Об этом и пойдет речь.
+36
Делаем закругленные уголки с помощью псевдоэлементов: before и: after
1 мин
3.4KВнимание! Это все устарело, но публикацию не удаляю, чтобы все знали как мы мучались в 2007 году из-за IE6 :-)
Задача: сделать врезку с закругленными уголками с минимумом html-кода.
![](https://habrastorage.org/getpro/habr/post_images/988/6ff/9ed/9886ff9ed48a1dcb443929c157a13893.gif)
Задача: сделать врезку с закругленными уголками с минимумом html-кода.
![](https://habrastorage.org/getpro/habr/post_images/988/6ff/9ed/9886ff9ed48a1dcb443929c157a13893.gif)
+54
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Дата рождения
- Зарегистрирован
- Активность