Pull to refresh
-1
0
Send message

5 признаков хорошей иллюстрации для малышей

Reading time2 min
Views36K
image

Являясь отцом, вдохновленным фантазером, иллюстратором хотел бы поделиться с родителями и товарищами по цеху некоторыми мыслями и наблюдениями по поводу детских иллюстрированных книг для самых маленьких. И хотя книжную иллюстрацию сложно отнести к IT, все же, в этой статье опишу важные принципы, которые могут быть полезны всем разработчикам визуальных продуктов для малолетней аудитории.

Книга для ребенка – это путь к познанию мира. Выбор родителями книги для ребенка, это ответственная часть его воспитания, так как детская книга берет на себя важную познавательную, этическую и эстетическую функции. Поэтому и художник прямым образом участвует в воспитании ребенка. Своими иллюстрациями он развивает эстетический вкус ребенка, влияет на формирование его мировоззрения.

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

Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments41

Железо на службе у алгоритма (продолжение)

Reading time29 min
Views80K
Борис Бабаян о прошлом, настоящем и будущем вычислительной техники


Борис Бабаян


Почти три месяца прошло с момента публикации первой части этой работы. Всё это время вызревала вторая часть и… наконец, созрела!

Как и в предыдущей части, повествование построено от лица Бабаяна. Большинство своих комментариев я оформил в виде врезок либо ссылок на интернет-страницы.

Поехали!
Total votes 91: ↑84 and ↓7+77
Comments50

ShareXMod — шарит что угодно и как угодно

Reading time2 min
Views52K
image

Спустя нескольких часов поиска и тестирования порядка 15 программ для расшаривания скриншотов и файлов в Windows, я кажется нашёл на мой взгляд самое функциональное, удобное, и плюс ко всему ещё и freeware & open-source решение. Подумал, что почувствую себя большим эгоистом, если не поделюсь им с кем-то ещё. Итак, встречайте!

ShareXMod — приложение позволяющее прозрачным и удобным способом расшаривать файлы и скриншоты (+редактирование/аннотации) с использованием более 20 различных сторонних сервисов. Не пугайтесь большого окошка на картинке, вся функциональность приложения реализуется в фоновом режиме, в свёрнутом в трей состоянии.
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments76

Планировка помещений онлайн

Reading time1 min
Views1.3K
floorplaner-logo

Floor Planner beta — очень занятный сервис для планировки помещений. Вы можете учитывать в планировке всё что угодно, начиная от стен и пола, заканчивая диваном и сервизом тарелок.
Читать дальше
Total votes 66: ↑60 and ↓6+54
Comments44

Музыкальные плееры в Андроиде

Reading time6 min
Views213K
В какой-то момент мне надоело постоянно записывать диски, что бы послушать их в машине в дороге. Конечно, сменить магнитолу, которая поддерживает флешки/карты/блютус, вариант, но жалко было расставаться с верным «Пионером», который по качеству звучания даст фору многим современным недорогим аппаратам. Зато у меня есть HTC Desire, который с помощью несложных манипуляций был подключен к магнитоле через линейный вход и музыка всегда со мной, будь я в машине или налегке с наушниками, всегда можно слушать с того места, где остановился. И настала проблема выбора — чем же играть музыку?!

8 плееров, кто же лучший?
Total votes 49: ↑34 and ↓15+19
Comments128

Лучшие музыкальные плееры для вашего телефона под управлением Android

Reading time5 min
Views313K
Представляю вам вольный перевод статьи "Round Up: Great Android Music Players"

Давайте посмотрим правде в глаза. Думаю, большинство обладателей телефонов с операционной системой Android согласятся с тем мнением, что плеер, поставляемый в комплекте с операционной системой является сухим и безжизненным на фоне плееров iPhone или iPad.

Одно из величайших особенностей платформы с открытым кодом является написание новых приложений. Открытость платформы создает конкуренцию, а конкуренция является важным фактором для конечного пользователя, т.к. она заставляет производителей приложений снижать их стоимость (если они платные) и повышать качество продукции. К счастью, появилась конкуренция и среди плееров для Android. Сегодня мы рассмотрим лучшие плееры для Android и скажем, что их выделяет на фоне других плееров.
Под катом обзор плееров, их скриншоты и QR-коды
Total votes 61: ↑53 and ↓8+45
Comments107

Боевой арсенал Erlang разработчика

Reading time4 min
Views22K
Доброе время суток, уважаемая аудитория хабра.

В данной публикации я хотел описать свой опыт перехода с корпоративного Java на Erlang.

Погружения в Erlang в первом приближении

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

После довольно продолжительного времени Java/Python разработки, я решил кардинально изменить сферу деятельность и открыл для себя Erlang.
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments19

Обзор языка Idris

Reading time11 min
Views22K
Agda is too mainstream!

«Предвидение»

Материалов о языке Idris на русском практически нет, попробую это исправить кратким обзором. Также постараюсь сделать текст понятным для начинающих, не-функциональных и незнакомых с зависимыми типами программистов, и потому тем, кто знаком с подобными языками, может быть проще отмотать в конец или сразу прочесть официальную документацию. Писать серьёзное введение в язык и теорию не берусь, но надеюсь показать, о чём это вообще.

Итак, Idris — чистый функциональный язык программирования общего назначения с зависимыми типами.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments8

И снова игра «Жизнь»

Reading time1 min
Views26K
image Тема игры «Жизнь», не раз поднималась на хабре. Описывались различные модификации игры, я хочу представить еще одну. Модификация игры довольно тривиальна, но дает больше возможности в наблюдении, чем оригинал.

В классических правилах придуманных Джоном Конвеем, каждая клетка игрового поля, может быть только в двух состояниях: либо клетка пуста, либо заполнена фишкой.
Подобно эволюции в природе, где развитие шло от одноклеточных к многоклеточным, логично представить развитие игры «Жизнь», где в клетке может находиться больше одной фишки.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments10

Реактивное программирование под Android

Reading time10 min
Views90K
Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — четыре принципа нынче популярного реактивного программирования. Именно следуя им создаётся backend больших систем с одновременной поддержкой десятков тысяч соединений.

Отзывчивость, простота, гибкость и расширяемость кода — принципы, которые можно закрепить за реактивным UI.

Наверняка, если совместить реактивные backend и UI, то можно получить качественный продукт. Именно его мы и попытались сделать, разрабатывая 2GIS Dialer — звонилки, которая работает через API и при этом должна оставаться быстрой и удобной.


Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments58

Наследование грамматик в Sprache (или еще один настраиваемый калькулятор выражений для .NET)

Reading time13 min
Views12K
Статья демонстрирует технику создания парсеров с использованием наследования грамматик. Наследование позволяет описывать новые грамматики на основе уже существующих путем добавления новых правил или переопределения унаследованных, что существенно упрощает реализацию новых парсеров. Изменения в базовой грамматике автоматически становятся доступными во всех порожденных грамматиках. Основная область применения такой техники — поддержка нескольких диалектов или версий языков.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments2

Пример IoT: Делаем bitcoin-монитор из экрана от Nokia, платы от Netduino и облака

Reading time10 min
Views16K
Моего интерна и меня попросили выступить в Дурбанском технологическом университете перед студентами третьего курса для того чтобы вдохновить их возможностями использования Netduino и/или Windows Phone в их проектах.

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



Просим прощения за ужасный GIF. Вы можете назвать это трекером изменения цены на биткоин. Граф отражает изменение, а светодиод меняет цвет на зеленый при росте цены и на красный, когда цена падает. (На экране вы можете обнаружить опечатку – вместо USD должно выводиться BTC).
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments11

Эффективная оценка медианы

Reading time5 min
Views33K
Итак, у Вас есть какой-то поток данных. Большой такой поток. Или уже готовый набор. И хочется определить какие-то его характеристики. Алгоритм определения минимального и максимального значения могут придумать даже не программисты. Вычисление среднего уже чуть сложнее, но тоже не представляет никаких трудностей — знай подсчитывай себе сумму да инкрементируй счетчик на каждое новое значение. Среднеквадратичное отклонение — все то же самое, только числа другие. А как насчет медианы?

Для тех, кто забыл, что это такое, напоминаю — медиана (50-й перцентиль) выборки данных — это такое значение, которое делит эту выборку пополам — данные из одной половины имеют значение не меньше медианы, а из второй — не больше. Ценность её заключается в том, что её значение не зависит от величины случайных всплесков, которые могут очень сильно повлиять на среднее.

Строго говоря, из определения следует, что для вычисления точного значения медианы нам нужно хранить всю выборку, иначе нет никаких гарантий, что мы насчитали именно то, что хотели. Но для непрерывных и больших потоков данных точное значение все равно не имеет большого смысла — сейчас оно одно, а через новых 100 отсчетов — уже другое. Поэтому эффективный метод оценки медианы, который не будет требовать много памяти и ресурсов CPU, и будет давать точность порядка одного процента или лучше — как раз то что нужно.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments22

Как улучшить свой стиль программирования?

Reading time6 min
Views139K

Исповедь 1


Я — разработчик. От своих работодателей я постоянно слышу, что работаю медленно и часто всё усложняю без веской причины. И что мне пора бы что-то с этим сделать. Во избежание.

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →
Total votes 235: ↑202 and ↓33+169
Comments248

7 мифов о Linq to Database

Reading time5 min
Views26K
Linq появился в 2007 году, тоже же появился первый IQueryable-провайдер — Linq2SQL, он работал только с MS SQL Server, довольно сильно тормозил и покрывал далеко не все сценарии. Прошло почти 7 лет, появилось несколько Linq-провайдеров, которые работают с разными СУБД, победили почти все «детские болезни» технологии и, уже пару лет как, Linq to Database (обобщенное название для популярных провайдеров) готов к промышленному применению.

Тем не менее далеко не все применяют Linq to Database и объясняют это не только тем, что проект старый и переписать на linq довольно сложно, но и приводят в качестве аргументов различные мифы. Эти мифы кочуют из одной компании в другую и часто распространяются через интернет.

В этом посте я собрал самые популярные мифы и опровержения к ним.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments21

Улучшаем производительность: boxing в .NET, которого можно избежать

Reading time5 min
Views24K
Мы в своем проекте занимаемся разработкой сервера на C#. Этот сервер должен выдерживать очень высокие нагрузки, по этой причине мы стараемся написать код как можно оптимальней. C# редко ассоциируют с высокой производительностью, но если с умом подходить к разработке, то можно достичь очень даже неплохого уровня.

Одним из недешевых процессов с точки зрения производительности является boxing и unboxing. Напоминалку о том, что это такое, можно найти тут. Недавно я решил посмотреть весь IL код наших проектов и поискать инструкции box и unbox. Нашлось достаточно много участков, boxing'а в которых можно избежать легким движением руки. Все случаи, приводящие к ненужному boxing'у, очевидны, и допускаются по невнимательности в моменты концентрации на функциональности, а не на оптимизации. Я решил выписать наиболее часто встречающиеся случаи, чтобы не забывать о них, а затем автоматизировать их исправление. В данной статье и перечислены эти случаи.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments35

Игровой сервер на Scala + Akka

Reading time7 min
Views40K
image

Когда-то давно я уже поднимал тему применения Scala в игровом сервере. Тогда это был совсем простой пример использующий только Scala. С тех времен много воды утекло. Scala и Akka развиваются, но статей по ним что-то не прибавляется. А тема очень интересна. В общем хочется продолжить цикл статей про сервер на Scala. В этой статье будет описана общая архитектура решения. А так же что дает использование Scala и Akka. Примеры кода.
Узнать как
Total votes 44: ↑43 and ↓1+42
Comments32

Рефакторить или не рефакторить?

Reading time9 min
Views46K
Мне нравится рефакторинг. Нет, не так. Я люблю рефакторинг. Не, даже не так. Я чертовски люблю рефакторинг.
Я не переношу плохой код и плохую архитектуру. Меня коробит, когда я пишу новую фичу, а в соседнем классе творится полный бардак. Я просто не могу смотреть на печально названные переменные. Иногда перед сном я закрываю глаза и представляю, что можно было бы улучшить в проекте. Иногда я просыпаюсь в три часа ночи и иду к ноутбуку, чтобы что-нибудь поправить. Мне хочется, чтобы на любой стадии разработки код был не просто кодом, а произведением искусства, на которое приятно смотреть, с которым приятно работать.

Если вы хоть немного разделяете мои ощущения, то нам есть о чём поговорить. Дело в том, что со временем что-то внутри меня начало подсказывать, что рефакторить всё подряд, везде и всё время — не самая лучшая идея. Поймите меня правильно, код должен быть хорошим (а лучше бы ему быть идеальным), но в условиях суровой реальности не всегда разумно постоянно заниматься улучшением кода. Я вывел для себя несколько правил о своевременности рефакторинга. Если у меня начинают чесаться руки что-нибудь улучшить, то я оглядываюсь на эти правила и начинаю думать: «А действительно ли сейчас тот момент, когда нужно нарефакторить?». Давайте порассуждаем о том, в каких же случаях рефакторинг уместен, а в каких — не очень.

Читать дальше →
Total votes 72: ↑63 and ↓9+54
Comments66

25+ видеоуроков по Android для начинающих

Reading time2 min
Views413K

Приветствую вас, уважаемый хабрачеловек!
Предлагаю вашему вниманию бесплатно серияю видеоуроков в котрых рассмотренно базовые понятия разработки под Android.
Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments33

Выжать все соки или используем Raspberry pi на всю катушку

Reading time11 min
Views265K
Всем привет!

Долой унылые речи о том, что это мой первый пост и все такое. Пожалуй лучше я расскажу о том, как выжать все соки из маленькой малютки под названием Raspberry PI (далее RPI), ценой $ 35. Я уверен на 146,6% что здесь уже были посты подобного рода, и этот пост не претендует на твердую пять. Скорее это просто вступительное слово о том: «Как я занял себя делом на пару унылых вечеров». Собственно мы получим в итоге Raspberry PI который можно использовать:
  1. как домашний web-сервер (если ты какой-нибудь PHP-разработчик, и тебе не чуждо веселье);
  2. как мультимедийную приставку с популярным XBMC Media Center (или супер-пупер-крутую-шняжку к телевизору за скромные 1800$);
  3. и как ночную торрент качалку, с web-интерфейсом (для ленивых);

Для тех кому стало интересно прошу под кат (Внимание! Трафик).
Читать дальше →
Total votes 66: ↑53 and ↓13+40
Comments34

Information

Rating
Does not participate
Registered
Activity