Search
Write a publication
Pull to refresh
2
0

Программист

Send message

Велосипеды на Javascript и jQuery

Reading time4 min
Views77K
В очередной раз открыв код коллег и ужаснувшись, я решил написать эту статью. Надеюсь для кого-нибудь это будет полезным, заодно и мне будет проще новичкам объяснять что у них в коде не так, просто кинув ссылку на эту статью.
Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.
Читать дальше →

SQLite — замечательная встраиваемая БД (часть 1)

Reading time5 min
Views491K
Решил все-таки написать статью про SQLite, в которой хочу обобщить свой 3-х летний опыт использования этой БД под Windows. Вижу, что тема популярная, но информации мало.

Часть 2
Часть 3

Небольшая вводная.

Эта статья не для начинающих программистов.
Она не является учебником по SQL.
Она не агитирует использовать SQLite.
Она не агитирует не использовать SQLite.
Статья написана в виде вопросов от гипотетического новичка в SQLite и ответов на них (поскольку информации очень много и так хоть немного проще ее структурировать).

Читать дальше →

Анализ Wi-Fi сигнала позволяет следить за людьми, которые находятся по ту сторону стены

Reading time2 min
Views14K

Лондон. Университетский колледж UCL. Инженеры Карл Вудбридж и Кевин Четти изобрели устройство, с помощью которого можно фиксировать движение за сплошной стеной.

Работа прибора основана на эффекте Доплера: при отражение волны от движущегося объекта, меняется ее частота. В качестве таких волн успользуют сигналы Wi-Fi, посылаемые роутером, который работает на частоте 2,4 или 5 гигагерц. На данный момент они очень распространены во многих офисах и зданиях.

Таким образом данный прибор, позволит, в буквальном смысле, смотреть сквозь стены, в здании, где есть Wi-Fi излучение.
Читать дальше →

Бесплатные книги по JavaScript

Reading time2 min
Views66K

Javascript Enlightenment


Cody Lindley


Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

Открыть

Eloquent Javascript


Marijn Haverbeke


Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Открыть

Building A JavaScript Framework


Alex Young


Уровень знаний: продвинутый
Избранные статьи из цикла«Let’s Make a Framework».
Открыть

Читать дальше →

Алгоритм предсказывает преступления, отслеживая мобильные телефоны

Reading time2 min
Views5.6K
Уже много лет учёные экспериментируют с алгоритмами, способными предсказывать преступность. Предполагается, что преступники склонны повторять успешные действия — по крайней мере, они не используют ГСЧ для выбора места и времени преступлений, так что их действия предсказуемы по определению.

Например, год назад калифорнийский город Санта-Крус первым в мире внедрил математическую модель расчёта вероятности преступлений, которая каждый день составляет новый маршрут для патрульных машин, основываясь на статистике преступлений по улицам. Учитываются день недели, время суток, наличие/отсутствие футбольных матчей по ТВ и другие факторы.

Исследователь из Бирмингемского университета Мирко Мусолези (Mirco Musolesi) применил совершенно другой подход. Его метод основан не на статистике, а на оперативных данных из сетей сотовой связи. Мусолези начал с того, что научил алгоритм с высокой степенью вероятности прогнозировать перемещения каждого абонента: он даже выиграл конкурс Nokia Mobile Data, наиболее точно предсказав перемещения 25-ти добровольцев по сигналам их телефонов, истории звонков и текстовым сообщениям. Иногда алгоритм прогнозирует координаты пользователя с точностью до 20 м2.
Читать дальше →

Введение в CSS Regions

Reading time3 min
Views18K


С появлением большого количества мобильных устройств сайты становятся все более «адптивными», это требует новых, более удобных способов отображения контента. В скором будущем помочь в этом смогут CSS-регионы (CSS Regions) — новый веб-стандарт Adobe.
Читать дальше →

Принцип цикады на чистом CSS

Reading time2 min
Views14K
Принцип цикады позволяет строить очень длинные неповторяющиеся фоны веб-страниц из нескольких простых изображений. Он был впервые описан Алексом Уокером в апреле 2011 года и быстро завоевал популярность. На сайте designfestival.com появилась целая галерея фонов, сделанных по этому принципу.

Во многих случаях можно сэкономить ещё больше, используя градиенты. Даже с учётом того, что пока практически все браузеры поддерживают свойство linear-gradient только с префиксами, суммарный объем кода CSS, необходимый для создания фона, в несколько раз меньше размера нескольких PNG с фрагментами, и, что ещё важнее — вообще не требует лишних запросов к серверу. Так, Эрик Мейер недавно привёл пример реализации первых двух фонов из оригинальной статьи Уокера на чистом CSS. Для простых цветных полосок (вверху) понадобилось 2.66 Кб кода CSS (с префиксами, без минификации и компрессии). В будущем, когда все популярные браузеры избавятся от префиксов, будет достаточно 0.59 Кб кода. В оригинальном примере изображения весили около 6 Кб + 3 запроса к серверу. Второй пример с занавесом (внизу) впечатляет ещё больше. Даже с префиксами получается примерно десятикратный выигрыш.
Читать дальше →

Я не знаю ООП

Reading time12 min
Views554K
Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

Я пытался научиться, честно. Я изучал паттерны, читал код open source проектов, пытался строить в голове стройные концепции, но так и не понял принципы создания качественных объектно-ориентированных программ. Возможно кто-то другой их понял, но не я.

И вот несколько вещей, которые вызывают у меня непонимание.
Читать дальше →

Для пользователей IE7 интернет-магазин ввёл специальную комиссию

Reading time1 min
Views8.8K
Усилия разработчиков сайта Kogan — популярного австралийского интернет-магазина — по поддержке работы ресурса при просмотре его в Internet Explorer 7 привели к тому, что владельцы сайта приняли решение ввести специальную комиссию для покупателей, которые его до сих пор используют этот браузер.

Руслан Коган (Ruslan Kogan) — CEO компании Kogan (предприимчивому молодому человеку 28 лет, он родом из Бобруйска, утверждает, что «Открыть бизнес в Австралии — 15 минут!»), владеющей магазином — высказался вполне прямо: он утверждает, что поддержка устаревшего браузера стоит его команде разработчиков огромную сумму денег; если бы такая необходимость вдруг отпала, то во всей индустрии интернет-продаж были бы сэкономлены миллионы долларов.

На данный момент налог на уплачиваемую в магазине сумму составляет 6.8%, причём всем любопытствующим предъявляется рациональное объяснение — объем надбавки складывается из 0.1% за каждый месяц с момента выпуска IE 7. Магазин поступает честно — всем заходящим на сайт при помощи IE 7 показывается всплывающее окно, в котором пользователь предупреждается, что, воспользуйся он любым другим браузером, только поновее, то покупатель избежит ненужных для себя трат.

IE7 был выпущен Microsoft в октябре 2006 года. На данный момент, согласно статистике LiveInternet, доля этого браузера составляет около 2% от общей интернет-аудитории. В общем же, в мировом сегменте интернета, лидером, правда, с незначительным отрывом от Internet Explorer является Google Chrome: на май 2012 года доля Chrome составляет 32.43%, тогда как общая доля IE — 32.12%.
Источник

Формула притяжения данных

Reading time3 min
Views3.2K
Сотрудник VMware Дэйв МакКрори, специалист по виртуализации и облачным вычислениям, создал необычную модель, описывающую поведение данных, сервисов и приложений в интернете. Он предложил ввести для данных понятия массы и гравитации, аналогичные тем, что используются в физике, и даже вывел формулу гравитационного взаимодействия между приложением и данными. Эта модель не так безумна и бессмысленна, как может показаться на первый взгляд — аналогичные гравитационные модели давно используются в экономике и социологии, успешно описывая товарооборот между странами и городами, миграцию и урбанизацию.

Подобно звездам или планетам, скопления данных притягивают друг друга и более легковесные объекты, такие как приложения и сервисы, причём сила этого притяжения прямо пропорциональна массе и обратно пропорциональна расстоянию, аналогом которого в сети служит комбинация полосы пропускания и пинга. Кроме того, каждая пара «данные — приложение» характеризуется индивидуальным коэффициентом, зависящим от того, насколько интенсивно приложение запрашивает или генерирует данные. Этот коэффициент аналогичен гравитационной постоянной. Так же как и для любого объекта в сильном гравитационном поле, необходимо приложить значительные усилия, чтобы «оторвать» приложение от данных, сообщить ему достаточную «скорость убегания». Приложения и сервисы, работающие с данными, стремятся уменьшить задержки и расширить канал, приближаясь к данным с ускорением, как падающий на землю камень.
Сейчас формула притяжения данных выглядит так:

Распространение игр

Reading time4 min
Views36K
logoЗдравствуйте!

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

Кого заинтересовала данная тема — прошу под кат.
Читать дальше →

Торговля знает, когда вы ждете ребенка

Reading time5 min
Views73K
Однажды в магазин Target зашел мужчина и потребовал вызвать менеджера. В своих руках он сжимал огромную кипу купонов магазина, полученных его дочерью.

«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»

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

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

Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
Читать дальше →

Web-разработка на node.js и express. Изучаем node.js на практике

Reading time5 min
Views121K

Предисловие



Пришла мне в голову смелая мысль, взяться за написание туториала по разработке на node.js (что-то наподобие ruby.railstutorial.org). Так как я первый раз берусь за подобный труд то для для меня очень важен любой фидбэк. Нужно это — не нужно. Что стоит убрать а на чем остановиться подробнее, в общем любая конструктивная критика. Надеюсь что дело пойдет и вам понравится, в этом случае по мере написания буду выкладывать главы на хабр.

Вступление



Приветствую, перед вами небольшой учебник по практической разработке на node.js, с использованием фреймворка express. Я с большим энтузиазмом отношусь к node и сопутствующим технологиям. Node.js в первую очередь привлекает свежестью в подходах к разработке, смелостью и драйвом.

О том, что такое node.js вы можете прочитать на http://nodejs.org/, если коротко — то это серверная платформа, для выполнения javascript. Так же мы будем использовать express, web-фреймворк построеный на концепции middleware (о том, что это такое, поговорим поподробнее чуть позже)

В процессе изучения мы познакомимся с различными аспектами web-разработки, такими как использование системы контроля версий, автоматическое тестирование и так далее. В результате по ходу изучения мы разработаем вполне рабочее web-приложение (простенький аналог твиттера)

Хочется отметить, что очень большое влияние на меня оказал railstutorial, это лучшее пособие по web-разработке, которое я встречал, и мне очень хотелось бы создать нечто подобное для node.js.
Читать дальше →

Отзывчивая типографика: Основы

Reading time7 min
Views22K


Когда мы создаем веб-сайты обычно мы начинаем с определения текста документа. Определение основного текста задает ширину главной колонки на странице, все остальное должно произойти само по себе. Должно. До недавнего времени разрешение экрана было более менее одинаковым. Сегодня мы имеем дело с огромным количеством экранов разного разрешения и размеров. Это делает вещи намного сложнее.
Читать дальше →

Распознавание пульса человека на видео

Reading time1 min
Views18K
В MIT CSAIL и Quanta Research Cambridge разработали видеофильтр, который усиливает незначительные различия между кадрами. Например, видеокамера регистрирует незаметное для глаза изменение цвета кожи из-за притока/оттока крови — пропустив видео через фильтр, мы получаем чёткую визуализацию пульса.



Технология может найти широкое применение в системах видеонаблюдения, системах компьютерного зрения, компьютерных интерфейсах и т.д.
Читать дальше →

DoS-атака на сайты с собственными капчами

Reading time3 min
Views18K
Можно найти достаточно много сайтов, которые защищены от разного рода внешней нежелательной автоматической активности (ботов) при помощи капч. Причем во многих случаях генерированием этих самых капч занимается тот же сервер, на котором и расположен сайт. Прикрутить такую капчу на сайт очень просто, да и есть бесплатные капча-генерирующие библиотеки (KCAPTCHA, например).

В чем опасность?
Читать дальше →

Руководство по оформлению HTML/CSS кода от Google

Reading time12 min
Views361K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →

Алгоритм: Как оформить баг на ядро Linux

Reading time4 min
Views2.3K
Мой опыт в разработке и отладке Parallels Virtuozzo Containers позволил обобщить и сформулировать список пожеланий к описанию проблемы пользователя, который позволяет существенно уменьшить время диагностирования и решения проблемы в ядре операционной системы Linux. Прошу отметить, что при всей очевидности некоторых рекомендаций многие участники open-source сообщества по-прежнему пренебрегают ими. Алгоритм представлен подкатом.
Читать дальше →

Перестаньте писать классы

Reading time9 min
Views187K
Фото Джэка Дидриха из профиля на G+ Признак того, что объект не должен быть классом — если в нём всего 2 метода, и один из них — инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».

Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»

Перевод доклада Джэка Дидриха, одного из ключевых разработчиков языка Питон. Доклад прозвучал 9 марта 2012 на конференции PyCon US.
Читать дальше →

Обзор свежих материалов, январь-февраль 2012

Reading time12 min
Views2K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-декабрь 2011.


Читать дальше →

Information

Rating
9,263-rd
Location
Кишинев, Молдова, Молдова
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior
From 5,000 €
PHP
PostgreSQL
SQL
JavaScript
Laravel
Symfony
OOP
Git
English
Database