Pull to refresh
63
0
Андрей Шевченко @demoded

User

Send message

Хабраиндекс для статей по программированию под Android

Reading time2 min
Views94K
Читать дальше →
Total votes 220: ↑204 and ↓16+188
Comments43

Основные UI паттерны разработки Android приложений

Reading time3 min
Views26K
Поскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments15

«Живые графы» — выращивание графов на клеточных автоматах с примерами на Silverlight

Reading time15 min
Views15K
Введение


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

Да и простого любопытствующего обывателя, не отягощённого подробностями органической химии, подобные вопросы не обходят стороной.

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

живой граф

Такой предельно упрощённой и наглядной моделью могут оказаться «Живые графы» — конечные автоматы на графе, каждый узел которого содержит некое исполняющее устройство (автомат) с конечным числом состояний и с набором примитивных правил, управляющих созданием или изменением новых связей между узлами.

Читать дальше →
Total votes 96: ↑86 and ↓10+76
Comments49

Опубликован весь архив Computer Science клуб при ПОМИ РАН

Reading time2 min
Views6K
Добрый день!

Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.


Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.

UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.

Под катом перечень курсов и несколько вопросов касательно вебинаров.
Читать дальше →
Total votes 231: ↑227 and ↓4+223
Comments78

Декодирование JPEG для чайников

Reading time9 min
Views272K

[FF D8]


Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:


Jpeg file in hex editor


Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла: Google favicon


Последующее описание упрощено, и приведенная информация не полная, но зато потом будет легко понять спецификацию.


Даже не зная, как происходит кодирование, мы уже можем кое-что извлечь из файла.


[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.


Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.

Читать дальше →
Total votes 413: ↑408 and ↓5+403
Comments140

Компиляция. 8: оптимизация

Reading time15 min
Views3.2K
После приятного отдыха продолжаем писать компилятор для нашего джей-скрипа.
В предыдущем посте реализовали взятую с потолка эвристику для назначения регистров, и заодно начали оптимизировать код. А ещё перед этим читатели обнаружили баг в реализации присваивания.

Далее в посте:

  1. Починка бага
  2. Чистка копирований
  3. Что получилось?
  4. Сворачивание констант
  5. Реализация
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments6

Компиляция. 7: назначение регистров

Reading time18 min
Views5.4K
File names are infinite in length, where infinity is set to 255 characters.
--Peter Collinson: The Unix File System

Итак, у нас есть программа на п-коде, и в её распоряжении неограниченное количество регистров (т.е. 255). Число регистров у реального процессора куда меньше (предположим, четыре). Что будем делать?

Далее в посте:

  1. Разбор п-кода
  2. Время жизни
  3. Реализация
  4. Простые оптимизации
  5. Расщепление версий
  6. Работа с памятью
  7. Что получилось?
Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments11

Компиляция. 6: промежуточный код

Reading time17 min
Views11K
Первый этап — разбор синтаксиса нашего джей-скрипа — пройден; подбираемся к генерации кода.

Начнём с генерации п-кода (промежуточного переносимого псевдокода) — нечто вроде «абстрактного машинного языка». Его выбирают так, чтобы
  • его было легко генерировать;
  • его было легко обрабатывать.
Обработка п-кода — это, как правило, его переработка в исполнимый машинно-зависимый код. Тем не менее, можно ограничиться лишь генерацией п-кода, и объявить его готовой скомпилированной программой. Запуск такой программы будет, по сути, интерпретацией п-кода. У этого подхода всё больше и больше сторонников; так что и мы для начала ограничимся компиляцией в п-код.

Далее в посте:

  1. Выбор кода
  2. Компиляция
  3. Выполнение
  4. Backpatching
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments14

Компиляция. 5: нисходящий разбор

Reading time10 min
Views25K
До сих пор занимались восходящим синтаксическим разбором. Какие ещё есть варианты?
Отложим бизона в сторону, и вернёмся к теории.

Далее в посте:

  1. Идея
  2. Воплощение
  3. Холивар
  4. Бэктрекинг
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments26

Data acquisition, часть 3

Reading time6 min
Views1.4K
В предыдущих моих постах (часть 1, часть 2) я описал то, как получить данные из интернета как HTML, как настроить простой сервис для регулярной загрузки данных, как скорректировать HTML и загрузить его в CLR-объект. В этом посте мы обсудим то, как хранить и обновлять данные в базе. Также я приведу полное описание процесса скрейпинга.

Если интересно...
Total votes 24: ↑16 and ↓8+8
Comments7

Data acquisition, часть 2

Reading time7 min
Views2.2K
В первой части моего рассказа про data acquisition, я написал про то, какой инструментарий используется для получения HTML из интернета. В этом посте я более детально расскажу про то, как из этого HTML получать нужные данные, и как эти данные трансформировать в нужный нам формат.
Если интересно...
Total votes 39: ↑26 and ↓13+13
Comments24

Data acquisition, часть 1

Reading time8 min
Views4.2K
Одно из приемуществ всеобщего удешевления аппаратуры и интернета в том, что сбор информации из разных источников в интернете почти ничего не стоит и может производиться без особых проблем. Задача получения и обработки больших объемов данных является коммерчески превлекательной ввиду спроса на считывание («скрейпинг») веб-сайтов со стороны заказчиков (обычно это описывается термином ‘social media analysis’, т.е. анализ социальных медиа). Ну и в принципе это достаточно интересно – по крайней мере по сравнению с рутинной разработкой сайтов, отчетов, и т.д.

В этой статье я начну рассказ про то, как можно реализовать сбор и обработку данных с использованием платформы .Net. Было бы интересно послушать про то как делать то же самое в стеке Java, поэтому если кто-то хочет присоединиться к данной статье в качестве соавтора – милости прошу.

Если интересно...
Total votes 47: ↑35 and ↓12+23
Comments27

Пишем игры для Windows Phone

Reading time8 min
Views3.6K

Не так давно публике была представлена платформа Windows Phone. Платформа очень интересная в плане разработки, т.к. присутствует поддержка .Net Framework, мультизадачность и XNA Framework, причем отличия у XNA от десктопной версии минимальны.

Вначале ложка дегтя: выяснилось, что пока на Windows Phone не будет полноценной поддержки собственных шейдеров, но обещается ряд предустановленных с широкими возможностями настройками. Что-ж, не будем огорчаться, всему свое время.
Для работы нам понадобится Windows Phone Developer Tools
Читать дальше →
Total votes 131: ↑106 and ↓25+81
Comments18

10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн

Reading time4 min
Views54K
Интересная на мой взгляд статья, которая показывает, что одни и те же принципы никогда не устаревают. Конечно, все они уже часто проскакивали в той или иной форме на множестве ресурсов, но мне бы хотелось предложить вам их видение Ученым с большой буквы, Альбертом Эйнштейном.
Читать дальше →
Total votes 200: ↑172 and ↓28+144
Comments63

FunkyPost.com: Социальная почта

Reading time2 min
Views628
image

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

Что же можно сделать, для облегчения доставки грузов в России и за ее пределами?

Идея:

FunkyPost — это место встречи курьеров и отправителей грузов.
Миллионы людей по всему Миру сейчас летят в самолетах, едут в поездах, путешествуют на машинах. Огромное количество транспорта находится в движении.
Сколько из них могло бы перевозить Ваш груз?

Любой человек, отправляясь в командировку, отпуск или поезду к бабушке может передать по дороге груз и заработать небольшие деньги. С другой стороны любой пользователь может отправить посылку дешевле чем по почте, в самые далекие уголки планеты.
Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments92
2

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity