Pull to refresh
2
0
Send message

Искуственный интеллект, кто же мы?

Reading time4 min
Views5.6K

Введение

Проблема создания искусственного интеллекта активно обсуждается уже последние несколько лет, проводятся эксперименты, задействуются суперкомпьютеры, тратятся достаточные средства на изучение проблемы. В этой статье я не смогу ответить на вопрос, хорошо это или плохо, и что же стоит ожидать от взбунтовавшейся машины, но постараюсь прояснить текущее положение дел.
[Вступление]
Читать дальше →
Total votes 124: ↑104 and ↓20+84
Comments180

Великолепная подборка инди-игр*. Часть третья

Reading time6 min
Views5.9K
*или чем занять все выходные на полгода вперёд.

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

Chalk

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

Бесплатная.
Windows.


Clean Asia

Clean AsiaДругой инновационный шутер, Clean Asia позволяет вам контролировать либо Майкла Р. Дола на корабле-привлекателе, либо Мики И. Дола на корабле-отражателе. Ваша цель? Уничтожение злобных глазных яблок, которые одурманили людей Азии(отсюда название). Но на самом деле, этот странный сюжет придуман лишь для обёртки находчивой игровой механики, которая заставляет вас разбивать на куски врагов, а затем использовать эти куски в роли пуль.

Бесплатная.
Windows.

Читать дальше →
Total votes 93: ↑57 and ↓36+21
Comments14

Как сделать самую лучшую посадочную страницу: чеклист из 50 пунктов

Reading time5 min
Views98K
Мы в Alconost предоставляем услуги создания и ведения контекстной рекламы и, по долгу службы, иногда занимаемся разработкой посадочных страниц (landing pages). Мы были очень рады найти и перевести статью, в которой автор изложил все требования, которым такая страница должна соответствовать. Но есть в этой статье и большой минус. Пунктов аж 50, каждый можно отметить в чеклисте, но после доступен лишь результат в баллах, которым можно разве что похвастаться перед друзьями.

Мы против таких способов анализа информации. Потому каждый желающий может скачать подготовленную нами гуглотаблицу, ответить на вопросы “Да” или ”Нет”, отфильтровать ответы и получить результат и план действий.

Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.



Читать дальше →
Total votes 84: ↑68 and ↓16+52
Comments30

Великий исход IT & Media-народа в Чианг Май

Reading time3 min
Views16K
image

Некоторые старички Хабра до сих пор помнят мой пост «Хотите ли вы коворкинг в Тайланде?». За 3 года в Чиангмае произошли большие и интересные перемены: здесь появилась критическая масса инициативных русских ИТ-специалистов, которые жаждут перемен.

Недавно в Чиангмае русскими был организован CNX Business Club — общественная организация, бескорыстно помогающая специалистам в области IT & Media обосноваться в городе, претендующем на звание одного из IT-центров Юго-Восточной Азии. Расскажу поподробнее, чем привлекателен город.
Читать дальше →
Total votes 102: ↑89 and ↓13+76
Comments190

Необходимые ресурсы для геймдизайнеров

Reading time3 min
Views82K
В данном топике я хочу представить подборку ресурсов, имеющих непосредственное отношение к дизайну и разработке игр. В первую очередь, эта информация будет полезна начинающим или будущим геймдизайнерам, которые только задумываются о выборе профессии, но, возможно, и профессионалы своего дела найдут что-то полезное или интересное для себя. Кроме того, я предполагаю, что читатели хорошо владеют английским языком, что в наше время для айтишников, настоящих или будущих, подразумевается практически по умолчанию.
Итак, поехали.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments25

Быстрая сборка С++ библиотек под Андроид

Reading time2 min
Views9.5K
Привет хабрасообщество!

Многие задают вопрос: «У нас есть куча библиотек на С++, которые мы хотим собрать под Андроид. Как это сделать?». Ниже по шагам описан возможно самый простой способ это сделать.

Читать дальше →
Total votes 46: ↑36 and ↓10+26
Comments8

Windows Phone 7 XNA: гнем пиксели или нет шейдерам

Reading time8 min
Views4.4K
Привет дорогой друг.

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



Читать дальше →
Total votes 37: ↑27 and ↓10+17
Comments2

Как не утонуть в мегабайтах javascript кода? // Доклады с Форума Технологий Mail.Ru 2011: текст доклада, видео, презентации

Reading time7 min
Views16K
Доклад Андрея Сумина (хабрапрофиль) «Как не утонуть в мегабайтах JS-кода?» — очередной в серии расшифровок с Форума Технологий Mail.Ru 2011. Подробности о том, как работает система расшифровки докладов — см. в статье «Изнанка» Форума технологий Mail.Ru: Хай-тек в event-management. Там же, а также на сайте Форума (http://techforum.mail.ru) — ссылки на расшифровки других докладов.


(Скачать видеоверсию для мобильных устройств — iOS/Android H.264 480?368, размер 170 Mb, видеобитрейт 500 кбит/с, аудио — 64 кбит/с )
(Скачать видеоверсию большего разрешения H.264 624?480, размер 610 Mb, видеобитрейт 1500 кбит/с, аудио — 128 кбит)
(Скачать слайды презентации, 4.7Мб)

Скажу сразу, в этом посте не будет даже упоминаний про последние, внедренные браузерами «фишки». Более того, первый раз эту тему я освещал в 2007 году. Я расскажу про некоторые приемы организации кода, которые вот уже 5 лет помогают мне и моим коллегам успешно разрабатывать проекты с большим количеством JS-кода.
Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments36

Когда использовать Parallel.ForEach, а когда PLINQ

Reading time13 min
Views74K

Введение


Обычно, при оптимизации программы для многоядерных компьютеров первым шагом является выяснение возможности разделения алгоритма на части, выполняющиеся параллельно. Если для решения задачи необходимо параллельно обрабатывать отдельные элементы из большого набора данных, то первыми кандидатами станут новые возможности параллельности в .NET Framework 4: Parallel.ForEach и Parallel LINQ (PLINQ)

Parallel.ForEach


Класс Parallel содержит метод ForEach, представляющий собой многопоточную версию обычного цикла foreach в C#. Подобно обычному foreach, Parallel.ForEach выполняет итерации над перечислимыми данными (enumerable), но с использованием множества потоков. Одна из более часто используемых перегрузок Parallel.ForEach выглядит следующим образом:

public static ParallelLoopResult ForEach<TSource>(
			 IEnumerable<TSource> source,
			 Action<TSource> body)

Ienumerable указывает на последовательность, по которой нужно выполнить итерации, а Action body задает делегат, вызываемый для каждого элемента. Полный список перегрузок Parallel.ForEach можно найти здесь.

PLINQ


Родственный с Parallel.ForEach PLINQ представляет собой модель программирования для паралелльных операций над данными. Пользователь определяет операцию из стандартного набора операторов, включающих в себя проекции, фильтры, агрегирование и т.д. Подобно Parallel.ForEach PLINQ достигает параллельности, разбивая входную последовательность на части и обрабатывая элементы в разных потоках.
В статье выделяются различия между этими двумя подходами к параллельности. Разбираются сценарии использования, в которых лучше всего использовать Parallel.ForEach вместо PLINQ и наоборот.

Выполнение независимых операций


Читать дальше →
Total votes 79: ↑73 and ↓6+67
Comments9

Простая минималистская реализация сложных JavaScript приложений

Reading time12 min
Views8.6K
Я хочу описать простой минималистский подход к разработке сложных JavaScript приложений. Из внешних библиотек будут использоваться только jQuery и мой js-шаблонизатор, причём из jQuery используются только $.ready(), $.ajax() и $.proxy() — т.е. суть не в библиотеках (их тривиально заменить на предпочитаемые вами), а в самом подходе.

В основе подхода лежат две идеи:
  1. JavaScript виджеты — небольшие модули, каждый из которых «владеет» определённой частью веб-странички (т.е. всё управление этой частью странички происходит исключительно через методы этого модуля, а не через прямую модификацию DOM — инкапсуляция). Виджет отвечает исключительно за функциональность, но не за внешний вид; поэтому прямая модификация части DOM, которым «владеет» виджет, снаружи виджета допускается — но только для чисто дизайнерских задач (для архитектуры и общей сложности приложения нет принципиальной разницы между коррекцией внешнего вида через CSS или jQuery).
  2. Глобальный диспетчер событий. Взаимодействие между виджетами осуществляется путём посылки сообщений глобальному диспетчеру (слабая связанность, паттерн Mediator/Посредник), а уже он принимает решение что с этим сообщением делать — создать/удалить виджеты, дёрнуть методы других виджетов, выполнить дизайнерский код, etc. В отличие от динамического подхода к обработке событий (когда обработчики конкретного события добавляются/удаляются в процессе работы) статический диспетчер сильно упрощает понимание и отладку кода. Безусловно, есть задачи, для которых нужны именно динамические обработчики событий, но в большинстве случаев это избыточное усложнение, поэтому всё, что можно, делается статическими обработчиками.

Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments42

Скромное руководство по прохождению интервью: часть 1

Reading time5 min
Views29K
Пост подготовлен с целью помочь программистам при подготовке к собеседованиям по программированию. Здесь рассматриваются все основные темы, которые, как минимум, желательно знать перед собеседованием. Использован собственный опыт, опыт и рассказы коллег, специализированная литература.
Некоторые рассмотренные здесь темы могут вообще не пригодиться некоторым программистам, а могут и быть обязательными, решать вам. Мой совет – старайтесь как можно больше изучать темы/разделы/аспекты указанные здесь.
И так, в качестве обязательных знаний:
  • Структуры данных
  • Алгоритмы и «концепции»
  • Язык программирования

Читать дальше →
Total votes 124: ↑109 and ↓15+94
Comments125

Масштабируемые JavaScript приложения

Reading time22 min
Views40K
Более месяца назад в статье FAQ по JavaScript: задавайте вопросы был задан вопрос «Подскажите примеры хорошего подхода организации JS кода к сайту на достаточно высоком уровне. Как можно узнать подробнее практики реализации например gmail?».

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

Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
Читать дальше →
Total votes 206: ↑202 and ↓4+198
Comments108

Information

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