Как стать автором
Обновить
0
0
Кузнецов Кирилл @ndsdmfwg

Пользователь

Отправить сообщение

MongoDB Is Web Scale

Время на прочтение4 мин
Количество просмотров32K
Внимание: тег «юмор».

И в заключение. Мы пришли к выводу, что MySQL — это прекрасная база данных для нашего сайта. Вопросы?

Да, у меня есть вопрос. Почему вы не использовали MongoDB? MongoDB — это горизонтально масштабируемая база данных, она не использует SQL или JOINы, поэтому обладает высокой производительностью.

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

Но она не масштабируется. Все знают, что реляционные базы данных не масштабируются, потому что они используют JOINы и записывают на диск.
Читать дальше →
Всего голосов 149: ↑106 и ↓43+63
Комментарии46

Давайте построим автономный беспилотник!

Время на прочтение2 мин
Количество просмотров36K
Беспилотные летательные аппараты – тема модная и перспективная, их создают как профессиональные конструкторы робототехники, так и энтузиасты, в том числе и студенты. Однако создать по-настоящему интеллектуальный беспилотник по-прежнему трудно и для тех, и для других. Кто-то упирается в ограничения аппаратной платформы, другие не могут решить программные проблемы, у третьих просто не хватает средств, чтобы довести начатое до конца.
А теперь представьте себе, что Intel предоставила вам все, что нужно для создания интеллектуального автономного беспилотника: мощный набортный компьютер, полный комплект авиационных компонент, а также ПО, способное оживить все перечисленное «железо».
А теперь представьте, что всё это досталось совершенно бесплатно! Думаете, так не бывает? Нет, в Intel Do-It-Yourself Challenge бывает. Видите, все наборы даже уже приготовлены!
Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии23

Проект «Венера» = коммунизм + анархия + bash-скрипт для правительства

Время на прочтение5 мин
Количество просмотров106K
Жак Фреско — это человек, который уже много лет занимается идеей организации социальных структур будущего, основанных не на традиционных моделях экономики и потребления, а на возможностях современной науки. Цель проекта — устойчивое развитие цивилизации без конфликтов.

Жак родился в 1916-м году и успел застать Великую Депрессию, затем получил хорошее образование и стал известен в качестве промдизайнера и архитектора. В последние годы он занимается тем, что рассказывает о несколько фантастичном проекте своей мечты. Буквально пару дней назад в Digital October прошла его лекция (прямой телемост) про этот проект.


Жак в своей творческой лаборатории

Вот основные тезисы:
  • Политическая система, которая хорошо работала 50 лет назад, сейчас уже устарела.
  • Большинству современных систем мы обязаны римлянам. Но у них было другое общество.
  • Мы уже произвели огромную базу знаний. Нам нужно развивать её, а не считать деньги.
  • Вот выкладки того, какими должны быть города, системы взаимоотношений и т.п.
  • Интеграция будет медленной и плавной, но это нужно делать.
  • Первое, с чего нужно начать — с изменения системы образования.
  • Второе — переход к некоей форме правления, похожей на коммунизм.
  • Третье — последовательная автоматизация всех рутинных процессов, включая правительственную работу.
Читать дальше →
Всего голосов 111: ↑97 и ↓14+83
Комментарии222

Изоморфный JavaScript — будущее веб-приложений

Время на прочтение9 мин
Количество просмотров80K
В компании Airbnb мы многому научились за последние несколько лет, создавая мощные веб-приложния. Мы погрузились в мир одностраничных приложений в 2011 г., делая мобильную версию нашего сайта, с тех пор, кроме прочего, мы запустили Wish Lists и новый поиск. Все это — большие JavaScript приложения, что означает то, что тонны кода запускаются в браузере, чтобы обеспечить современный интерактивный пользовательский опыт.

Это обычный подход сегодня, когда такие библиотеки, как backbone.js, ember.js и angular.js помогают разработчикам создавать мощные JavaScript приложения. Мы поняли, однако, что такие приложения имеют несколько критических ограничений. Чтобы стало понятно, давайте предпримем небольшой тур по истории веб-приложений.

Картинка из статьи для привлечения внимания

Читать дальше →
Всего голосов 52: ↑42 и ↓10+32
Комментарии75

Разбираем интерфейсные детали-ошибки на примере одного банковского клиента

Время на прочтение8 мин
Количество просмотров74K
Время изменилось. Теперь в одиночку можно написать приложение для миллионов человек. Не нужно думать ни о хостинге, ни о дистрибуции, ни о масштабируемости — облака сделают всё за вас.

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

Стоит сейчас какому-нибудь «Энгри бёрдз» написать «2-е птицы», и все молодое поколение будет неправильно наращивать окончания у числительных (на самом деле, наращиваются только порядковые числительные: «2-й дом», «1-му победителю», но «2 птицы»).

Поэтому любой уважающий себя клиентский программист давно должен прочитать Тафти, Чихольда, Раскина и Мильчина. Даже если у вас есть дизайнер и редактор в компании. Потому что и он иногда может нести чушь (всё зависит от квалификации). Или, наоборот, чтобы правильно следовать гайдлайнам и продолжать развивать приложение в едином стиле.

Поговорим сегодня о внимании к деталям на одном практическом примере (будет много картинок).

Читать дальше →
Всего голосов 210: ↑157 и ↓53+104
Комментарии183

Minecraft на C# (19 строк кода)

Время на прочтение1 мин
Количество просмотров83K
В продолжении общей, предновогодней истерии, решил написать свою игрушку. За основу взята игра Minecraft, а язык программирования C#.

В игре присутствуют следующие блоки:
  • Воздух
  • Вода
  • Земля
  • Лестница
  • Коренная порода (Bedrock)

Возможности:
  • Вода растекается по доступной поверхности
  • На персонажа действует гравитация
  • Персонаж может создавать все блоки, кроме коренной породы
  • Персонаж может разрушать землю и лестницы


Update1:
Добавил коренную породу.

Update2:
Убрал мерцание и дерганье экрана.

Update3:
Добавил бинарное демо.

Картинка для привлечения внимания:


Читать дальше →
Всего голосов 146: ↑98 и ↓48+50
Комментарии57

Интересные видео про Leap Motion

Время на прочтение2 мин
Количество просмотров39K
image

Внимательно слежу за новостями про Leap Motion (и, по известной причине, рассказывать особо много про устройство не имею права). Появляются интересные видео от разработчиков, уже получивших свои устройства (ревизия которых не так давно дошла до шестой — седьмая, по всей видимости, будет релизной). На некоторые из них хотелось бы обратить небольшое внимания тех, кто следит за проектом.

Кстати, для тех, кто пропустил новости — недавно ASUS заключила контракт на поставку устройства с некоторыми из моделей своих компьютеров, а сам Leap станет доступным для пользователей этой весной.

Для тех же, кто еще не слышал про данное устройство, заметим, что Leap Motion — это контроллер с распознаванием жестов в воздухе. Ближайшим аналогом является Kinect от Microsoft, но устройства трудно поставить на одну ступень — точность распознавания жестов у Leap составляет 0.01 мм, что в сотню раз лучше аналогичного показателя у Kinect. Для получения более подробной информации про устройство добро пожаловать на официальный сайт, видео на котором стоит посмотреть обязательно. На русском были отдельные посты на Хабре (1, 2 и 3).
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии40

CornerJS, или директивы «как в AngularJS», только лучше

Время на прочтение4 мин
Количество просмотров13K
image

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

В рабочих проектах это может сводиться к чему-то вроде

function pageChange(){
    if ($(‘.element-carousel').length>0) {$('.element-carousel').initCarousel()}
    if ($('.element-scrollbox').length>0) {$('.element-scrollbox').initScrollbox()}
…


А может и не сводиться, и в каждом условном контроллере (колбэке на смену определенной страницы) мы вызываем код, связанный с определенными элементами.

Знакомо? Думаю, да. Считаете ли вы этот подход неправильным? Если первый ответ – да, то уверен, что и второй тоже да.

Хотите узнать, как можно сделать правильно, аккуратно и красиво?
Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии24

Почему стоит пользоваться PDO для работы с базой данных

Время на прочтение9 мин
Количество просмотров327K

Перевод статьи Why you Should be using PHP’s PDO for Database Access.

Множество PHP-разработчиков привыкли использовать для работы с базами данных расширения mysql и mysqli. Но с версии 5.1 в PHP существует более удобный способ — PHP Data Objects. Этот класс, сокращенно именуемый PDO, предоставляет методы для работы с объектами и prepared statements, которые заметно повысят вашу продуктивность!

Введение в PDO


«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»

Заботу об особенностях синтаксиса различных СУБД она оставляет разработчику, но делает процесс переключения между платформами гораздо менее болезненным. Нередко для этого требуется лишь изменить строку подключения к базе данных.

Эта статья написана для людей, которые пользуются mysql и mysqli, чтобы помочь им в переходе на более мощный и гибкий PDO.
Читать дальше →
Всего голосов 127: ↑115 и ↓12+103
Комментарии165

Потоковое видео средствами ffserver & ffmpeg

Время на прочтение2 мин
Количество просмотров147K

Для организации трансляции нам потребуется:


  • Linux
  • FFmpeg (включает в себя ffserver)

Теория


FFmpeg — это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. Он включает libavcodec, библиотеку кодирования и декодирования аудио и видео и libavformat, библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и «FF», означающего «fast forward».

© Wikipedia

ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg, который может быть запущен на другой машине, и раздаёт его счастливым пользователям.
Каждый получаемый поток называется Feed’ом (далее будет просто фид). Таких потоков может быть несколько, так же как и отдаваемых (выходных).
FFmpeg у нас будет захватывать видео с веб-камеры или читать из файла.
Читать дальше →
Всего голосов 49: ↑41 и ↓8+33
Комментарии34

19 команд ffmpeg для любых нужд

Время на прочтение3 мин
Количество просмотров571K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Всего голосов 222: ↑214 и ↓8+206
Комментарии107

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

Время на прочтение3 мин
Количество просмотров292K
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Читать дальше →
Всего голосов 103: ↑90 и ↓13+77
Комментарии64

Hg Init: Часть 1. Переобучение для пользователей Subversion

Время на прочтение9 мин
Количество просмотров123K
Hg Init: Учебное пособие по Mercurial.


Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

Если вы использовали Subversion, то Mercurial будет непонятным. Эта часть рассказывает о главных отличиях при работе с Mercurial. Если вы никогда не использовали Subversion, то можете просто пропустить эту часть.

Часть 1. Переобучение для пользователей Subversion


В каком же я был смятении, когда программисты в моей компании решили сменить Subversion на Mercurial!

Для начала, я начал приводить всевозможные тупые причины, по которым нам не надо ничего менять. «Мы должны хранить репозиторий на центральном сервере, так безопаснее», — сказал я. Знаете что? Я был неправ. При работе с Mercurial у каждого разработчика на жестком диске хранится полная копия репозитория. Это, на самом деле, безопаснее. В любом случае, почти в каждой команде, использующей Mercurial, центральный репозиторий тоже существует. И вы можете делать резервное копирование этого репозитория со всей необходимой одержимостью. А еще можете устроить трехступенчатую защиту с Сайлонами, Штурмовиками и прелестными лабрадудлами или что там требует ваш IT-отдел.

Читать дальше →
Всего голосов 119: ↑116 и ↓3+113
Комментарии125

Сходство и различие между Mercurial и Git

Время на прочтение6 мин
Количество просмотров118K
По роду своей деятельности я нередко становлюсь свидетелем «священных войн» между коллегами-программистами на тему, какую же систему контроля версий выбрать для того или иного проекта. Роль системы контроля версий особо остро ощущается в случаях разработки и поддержки проектов с длинной историей. Вариантов инструментов много, но я хочу сконцентрироваться на двух, на мой взгляд, наиболее перспективных: Mercurial и Git. Далее попробуем рассмотреть возможности обеих систем с позиции их внутреннего устройства.
Читать дальше →
Всего голосов 107: ↑98 и ↓9+89
Комментарии425

Интерактивная обучалка ветвлению в Git

Время на прочтение1 мин
Количество просмотров80K
Некий Питер Коттл (Peter Cottle) сделал интерактивную обучалку по основам ветвления в Git. Есть несколько простых обучающих уровней, где нужно сделать пару коммитов, а затем merge или rebase, есть и сложные уровни, над которыми придется подумать. Можно также сохранять уровни и делиться ими с друзьями.

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

image
Читать дальше →
Всего голосов 162: ↑156 и ↓6+150
Комментарии38

Веб-контроль Raspberry Pi GPIO

Время на прочтение4 мин
Количество просмотров83K
Доброго времени суток! В этом посте я хочу показать, как управлять электроникой через Интернет используя Raspberry Pi. Выглядеть это будет примерно вот так.



Краткое описание:
  • Серверная программа, которая работает на Raspberry Pi, для того чтобы читать переменные
  • Базы данных MySQL для хранения переменных
  • Веб-страница Apache2, для того чтобы контролировать переменные


Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии11

Демография соц.сетей. Знай свою целевую аудиторию в лицо

Время на прочтение10 мин
Количество просмотров68K
Краткое резюме исследования:

Facebook по прежнему смещен в сторону молодежи, но в аудитории от 45 до 54 лет наблюдается рост в 45% с конца 2012 года. Более 75% американских граждан выпускников колледжей пользуются Facebook; более 67% пользуются Facebook независимо от уровня образования.
Instagram: 68% пользователей Instagram составляют женщины, согласно данным Appdata.
Twitter обладает удивительно молодой аудиторией пользователей, как для большой социальной сети. Он пользуется популярностью среди одержимых новостями пользователей в урбанизированных районах.
LinkedIn является более международной сетью, смещенной в сторону мужской аудитории. 61% ее пользователей составляют мужчины, и 64% находятся за пределами США.
Google+ является наиболее ориентированной на мужчин социальной сетью. 70% пользователей — мужчины.
Pinterest: преобладают пользователи планшетов, и 84% американских пользователей — женщины.
Tumblr может похвастаться подростками и молодыми людьми, которые заинтересованы в самовыражении.



Под катом много диаграмм.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии14

Новый WebStorm 7: все необходимое под рукой

Время на прочтение3 мин
Количество просмотров37K
Привет, Хабр!

Мы выпустили WebStorm 7 — новую версию нашей JavaScript IDE, и с радостью хотим рассказать вам о том, что же нового в ней появилось.

Конечно же, в новом WebStorm 7 вы сможете порадоваться поддержке новых и востребованных технологий, например, JavaScript шаблонов, Stylus, Web Components. К тому же мы значительно переработали и улучшили внутренние инструменты IDE, что должно положительно отразиться на удобстве использования WebStorm и на вашей продуктивности.
Читать дальше →
Всего голосов 87: ↑81 и ↓6+75
Комментарии104

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю № 76 (22—28 сентября 2013)

Время на прочтение6 мин
Количество просмотров33K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Всего голосов 49: ↑43 и ↓6+37
Комментарии5

Революционные проекты, над которыми сейчас работает Google

Время на прочтение3 мин
Количество просмотров52K
Люди любят Google за массу решений, которые сделали нашу жизнь лучше. Например, Google Maps помогает нам разобраться с маршрутом, Gmail существенно упростил работу с почтой, заставив AOL, Yahoo и другие почтовые сервисы стать лучше и удобнее. Теперь генеральный директор Ларри Пейдж решил взять на себя проблемы, которые могут действительно изменить целый мир, а не только ваши ноутбуки. От беспилотного автомобиля, который позволит сократить количество дорожных инцидентов, до биотехнологических исследований, направленных на борьбу со старением, эти невероятные проекты могут изменить наше представление о технологиях и том, как мы их используем в повседневной жизни.


Читать дальше →
Всего голосов 91: ↑72 и ↓19+53
Комментарии31

Информация

В рейтинге
Не участвует
Откуда
Набережные Челны, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность