Обновить
1
0
Владимир Пестов@KozzyKoder

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

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

Сердитый Гражданин

Время на прочтение3 мин
Охват и читатели12K


Хорошо бы превратить телефон в палочку-выручалочку, наделенную безграничной властью. Каждая уважающая себя корпорация сейчас делает проекты по дополненной реальности – но nokia city lens и goolge glass по сути лишь выводят подсказки к объектам.

А что, если мы сможем менять свое окружение одним кликом на своем смартфоне? Именно так летом родился наш проект “Сердитый Гражданин” – видишь коммунальную проблему, фоткаешь ее на телефон и… все, она автоматически решается сама в установленный законом срок.

Когда мы запускали проект этим летом, все звучало подозрительно просто:

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

Оптимизация запросов в SQLite. Используем rowid

Время на прочтение2 мин
Охват и читатели31K
Во время недавней оптимизации запросов в базу данных наткнулся на описание работы SQLite с rowid. Если вкратце: в каждой таблице есть int64 столбец rowid, значение которого является уникальным для каждой записи в таблице. Посмотреть значение можно по имени «rowid» и в запросе * оно не показывается.

Записи хранятся как B-дерево по rowid. И это делает очень быстрым поиск и выборку по rowid. В два раза быстрее чем по primary key или по индексированному полю. Как я понял, поиск по индексированному столбцу — это поиск по B-дереву, в результате которого мы находим rowid. И уже имея rowid — ищем нужную запись.

Напрашивается очевидный вопрос: как сделать чтобы rowid и наш PRIMARY KEY совпадали?
Читать дальше →

Проект Дневники Инженера: challenge accepted!

Время на прочтение2 мин
Охват и читатели4.3K
imageКогда из разработчика становишься консультантом или коучем, то сразу появляются следующие вопросы:
  • А почему ты перестал быть программистом?
  • Как ты можешь учить, если сам не кодишь?
  • Неиграющий тренер?
  • ваш вопрос

Что самое главное — вопросы такого типа нельзя считать на 100% троллингом, все они обоснованы. Чтобы как-то ответить на эти вопросы и было решено стартовать этот проект. Проект частично будет обучающим (будет рассмотрены техники XP и гибкого тестирования), частично развлекательный, частично направленный на развитие сообщества и так далее. Больше подробностей под катом.
Читать дальше →

SQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных

Время на прочтение13 мин
Охват и читатели5.6K
Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.

О том, как снять это ограничение, рассказано под катом.
Читать дальше →

Кто использует Node.js: Trello (Часть 1)

Время на прочтение6 мин
Охват и читатели11K
Довольно часто встречаю вопросы типа: «А кто вообще из крупных/известных/заметных IT компаний использует в производстве Node.js?». 19 января 2012 года в блоге компании Fog Creek, основанной небезызвестным Джоелом Спольски (Joel Spolsky), была опубликована статья «The Trello Tech Stack». Странно, что на Хабре это как-то обошли вниманием. Поэтому, чтобы исправить этот недостаток, а заодно показать пример использования Node.js в крупном проекте, я сделал перевод этой статьи.

Сама статья довольно объемная, поэтому разбита на две части:

Часть 1
  • CoffeeScript
  • Клиент
    * Backbone.js
    * HTML5 History API
    * Mustache
  • Pushing and Polling
    * Socket.io and WebSockets
    * AJAX запросы

Часть 2
  • Сервер
    * node.js
    * HAProxy
    * Redis
    * MongoDB
  • Итак, нравится ли нам это?

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

О портировании мобильных приложений на платформы Windows Phone и Windows 8

Время на прочтение5 мин
Охват и читатели12K
Многие компании задумываются о разработке мобильных клиентов для своих сервисов для Windows Phone и Windows 8. В большинстве случаев мобильные клиенты для iOS/Android уже написаны и задача компании — портировать их на мобильные платформы Windows. О том, с какими вопросами / проблемами / особенностями могут столкнуться компании и разработчики мне бы хотелось поговорить в этой статье.
Сделайте также!

Самая частая постановка задачи, с которой нам приходилось сталкиваться, звучит таким образом: вот клиент для Android/iOS, сделайте так же.

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

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

Жизнь и смерть информационных технологий

Время на прочтение6 мин
Охват и читатели44K
В этой заметке хотелось бы поговорить о технологиях, устройствах и других интересных фишках из мира ИТ, которые не стали популярными, уступили или вскоре уступят свое место под солнцем в процессе эволюции.

Почему нумерация дисков в Windows начинается с буквы С?


Вопрос «What are the Windows A: and B: drives used for?» не так давно был задан на популярном Q&A-сайте www.superuser.com, который в данный момент лидирует по количеству голосов.

Один из лучших комментариев звучит так: «Знание ответа на этот вопрос заставляет меня чувствовать себя таким старым...» (Knowing the answer makes me feel so old...).

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

Управление разработкой в стиле BDSM

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

Честно говоря, написание этого текста преследовало вполне корыстные цели: он является некоторой лакмусовой бумажкой для отправки людям, с которыми предстоит сотрудничать.

И, расставив все точки над i, нужно либо кидаться с головой в бездну страстей, либо окончательно размежеваться. Итак, немного о том, почему бывают факапы и чем их нельзя исправить.
Часть первая: Bondage

Инженерный подход к подготовке специалистов по программной инженерии

Время на прочтение15 мин
Охват и читатели37K
Статья посвящена использованию методологий и инструментов, применяемых в программной инженерии, для организации процессов воспитания и обучения студентов по IT-специальностям. Предложено использовать модель зрелости процессов (CMM) для образования, системы управления версиями, системы отслеживания ошибок, формальные онтологии, проектную методологию и коллективные формы изучения дисциплин.



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

Плагины для ReSharper 7.1

Время на прочтение2 мин
Охват и читатели9K
Только недавно мы выпустили ReSharper 7.1, но уже пора поздравить плагинописателей, которые сумели подготовить свои плагины для новой версии. Большинство выпущенных плагинов являются OSS-проектами, над которыми авторы работают в свободное время, так что нам бы хотелось поблагодарить их за поддержку нашей экосистемы. Вот небольшой обзор плагинов, которые уже готовы для работы с R# 7.1.

Если интересно...

Онлайн-инструменты для кодеров

Время на прочтение2 мин
Охват и читатели289K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

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

Законы Мерфи в IT

Время на прочтение6 мин
Охват и читатели49K
Не так давно мне довелось беседовать с разработчиком, не понимавшим, почему полностью резервированная связь между ЦОДами не может гарантировать 100% доступность сервиса.
Читать дальше →

Microsoft терпит неудачу?

Время на прочтение12 мин
Охват и читатели330K
На SlashDot и других западных площадках активно обсуждается интересная статья Charlie Demerjian «Microsoft has failed». Она написана сложным английским, но поднимает актуальные вопросы, не ограничиваясь, к примеру, вопросами удобства или неудобства плиточного интерфейса. Хоть про автора говорят, что часто пишет слишком мрачно, но на мой взгляд, материал — в стиле доброго сарказма неравнодушного человека, и вполне достоин публикации и обсуждения на хабре. Переведена 1в1, без изменений.

Microsoft терпит неудачу?


Nov 14, 2012
Charlie Demerjian @ semiaccurate.com

У Microsoft большие проблемы: 2 основные продуктовые линейки терпят неудачу, и поиски виноватых ускоряются. В этот раз за провал Windows 8 винят Стива Синофского (Steve Sinofsky), но настоящая проблема заключается в модели поведения, которую иллюстрируют такие действия.
Microsoft сильно не соответствует реалиям сегодняшнего дня: те немногие рынки, на которых она играет, испаряются с поражающей воображение скоростью. Давно известная привычка компании отгораживаться от остального мира, игнорируя мнения окружающих, работает неплохо до тех пор, пока нет достойной альтернативы, и такая стратегия была для компании основополагающей настолько давно, что ничего другого не осталось. Модель работает, но с ростом стен безразличия растет раздражение клиентов, тем самым увеличивая ценность возможных альтернатив. Этот цикл повторяется до тех пор, пока альтернатив нет. Как только они появляются, то всё рушится с устрашающей быстротой.
Читать полностью

[ANN]ounce книг 11'2012

Время на прочтение5 мин
Охват и читатели19K
Подобные анонсы книг выходят у меня не так и часто, но от этого они не становятся менее полезными. Как обычно, я подготовил список новинок компьютерной или околокомпьютерной литераторы на русском и английском языках, которые вышли недавно в свет, или же появятся в какое-то ближайшее время.
Это не список рецензий, а всего лишь перечень книг, которые я сам с удовольствием прочитаю в ближайшее время. Так что мое мнение основано скорее на имени автора и какого-то «средневзвешенного» мнения народа в наших с вами интернетах, и оно вполне может измениться после более близкого знакомство с этими творениями. Тем не менее, все они, как минимум, заслуживают нашего с вами внимания и достойны добавиться в бесконечный список книг на полке “to-read”.


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

Сайт для программиста [на Node.js]. Просто. Стильно. Бесплатно

Время на прочтение5 мин
Охват и читатели94K

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

Меня аккаунт Вконтакте, и даже в Фейсбуке в качестве своего сайта не устраивает. Слишком много лишнего, навязанный формат и прочие неудобства.

Если бы я не был веб-разработчиком, мне пришлось бы плакать и грызть кактус. К счастью, я им являюсь, поэтому решил сделать себе сайт сам. Чтобы выкладывать на нём статьи вроде этой, небольшие хобби-проекты, и чтобы было что указать в поле «сайт» профиля на Хабре.

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

Некоторые знания HTML и JS вам пригодятся. Опыт работы с Node.js не обязателен.

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

Dart: веб-компоненты в действии

Время на прочтение3 мин
Охват и читатели12K

Веб-компоненты — новый веб стандарт, разрабатываемый Google. Некоторые считают, что он должен стать трендом в ближайшее время. И я, попробовав его в деле, пожалуй соглашусь с таким мнением.
Подробное описание стандарта: habrahabr.ru/post/152001

Разработчики дарта не стали ждать и начали реализовывать поддержку веб-компонентов уже сейчас. После того как я об этом узнал, мой интерес к дарту усилился в двойне. Изучив статью с примерами, мне показалось что с веб-компонентами можно творить чудеса:

  • количество кода уменьшается,
  • из кода убираются DOM-манипуляции,
  • в коде остается только логика.
Читать дальше →

О вреде part time занятости

Время на прочтение3 мин
Охват и читатели45K
Part Time — это зло.
Не абсолютное, конечно, зло, но в 90% случаев это так.

Под part time я имею ввиду «параллельную» работу над разными задачами в рамках разных проектов и/или в одном проекте но в рамках различных областей компетенций. «Параллельная» в кавычках т.к. по имеет место переключение между задачами до их их полного завершения.

Давайте попробуем разобраться в причинах и последствиях такого широко распространенного явления.
Читать дальше →

Разомнем мозг при помощи Forth?

Время на прочтение5 мин
Охват и читатели46K
image

Порой возникает желание размять свой погрязший в объектно-ориентированном программировании мозг чем-то новеньким и необычным. Конечно, на помощь в этой ситуации может прийти любой функциональный язык программирования, например, Haskell, Erlang, Lisp или OCaml. Но сейчас даже ими уже вряд ли кого-то можно удивить. Нет, хочется чего-то совершенно другого. В такой ситуации на помощь к нам спешит Forth — стековый язык программирования.

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

Цикл Дэвида Колба в жизни

Время на прочтение5 мин
Охват и читатели73K
image

Если Вы часто сталкиваете в работе со следующими фразами, то это статья для Вас:
• Почему ты, не разобравшись, сделал такую ерунду?
• Хватит задавать вопросы, прочитай вот этот маленький параграф и всё поймешь! — Я прочитал, но ничего не понял, объясни по-человечески.
• А вы знаете, нам всё надо делать по другому, так как в книге Х, в главе Y, есть утверждение Z противоречащее пункту 14.5.3 нашего ТЗ.
• Когда ты уже начнешь работать? – Я проектирую систему, мне надо ещё три недели.
• У меня есть идея, как сделать нашу жизнь лучше! Вася, послушай меня, тебе надо сделать: а, б, в, г …
Читать дальше →

Git & Github глазами очевидца

Время на прочтение1 мин
Охват и читатели19K
imageСлово «Git» среди разработчиков, как правило, вызывает две диаметрально противоположные реакции. Один при его звуке начинает возбужденно делиться историями и опытом. Другой – говорит, что Git – это весьма опасный и сложный в изучении инструмент, вокруг которого в последнее время поднялась незаслуженная шумиха. Так кто же прав? Анализу этого вопроса и была посвящена встреча Git & Github в Киевском офисе EPAM Systems.
Читать дальше →

Информация

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