Pull to refresh
0
0
Евгений @nepx

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

Send message

Алгоритм Эллера для генерации лабиринтов

Reading time 5 min
Views 151K
Это топик-перевод статьи Eller's Algorithm. В ней рассказывается о способе программной генерации лабиринтов. Дальнейшее повествование идет от лица автора.

 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __  
|__   |__       __ __|__   |   __|  |  |  |  |
|__   |__   |__|   __ __|   __ __      |     |
|        |  |  |     |  |__      |__|  |  |  |
|__|__|  |  |   __|   __|__   |   __|__|  |__|
|   __|  |     |__ __ __|  |  |__|  |     |  |
|  |  |  |  |__|  |__   |  |   __|__ __|  |  |
|  |__    __    __ __    __|  |   __   |  |  |
|  |  |  |  |      __|  |   __|  |  |__|  |  |
|  |     |     |__   |  |  |  |  |  |__    __|
|  |  |__|__|__ __|  |     |  |  |      __|  |
|__ __|  |  |  |__   |__|   __|     |   __ __|
|   __|  |   __|__      |__   |__|  |__    __|
|  |  |     |  |     |__|  |   __    __|   __|
|   __|  |__ __|__|      __|  |  |     |  |  |
|   __ __   |      __|__|  |__   |  |  |__|  |
|__ __ __|__ __|__ __ __ __ __|__|__|__ __ __|


Алгоритм Эллера позволяет создавать лабиринты, имеющие только один путь между двумя точками. Сам по себе алгоритм очень быстр и использует память эффективнее, чем другие популярные алгоритмы (такие как Prim и Kruskal), требуя памяти пропорционально числу строк. Это позволяет создавать лабиринты большого размера при ограниченных размерах памяти.

Читать дальше →
Total votes 122: ↑117 and ↓5 +112
Comments 35

Стив Джобс умер

Reading time 2 min
Views 52K
Stevejobs Macworld2005Средства массовой информации сообщают о смерти Стива Джобса, бывшего CEO Apple. Можно по-разному относиться к Apple и Стиву, но отрицать то, что это знаковая фигура в IT-индустрии, создавшая множество трендов, нельзя. Requiescat in pace, Стив.
Приведу перевод сообщения на официальном сайте Apple:
Apple потеряла своего фантастического и изобретательного гения, а мир лишился замечательного человека. Те из нас, кто имел счастье близко знать и работать со Стивом, лишились дорогого друга и вдохновлённого наставника. Стив оставил после себя компанию, которую мог создать только он, поэтому его дух навсегда останется в сердце компании.
Источник — Apple.
В магазинах Apple по всему миру были лишены подсветки все логотипы Apple.

Те, кто хочет поделиться своими сопереживаниями, могут отправить свои мысли и соболезнования по почтовому адресу rememberingsteve@apple.com. Возможно, некоторые будут переданы родным Стива.
Хорошее видео от CNET, которое вкратце визуально пересказывает карьеру Стива.
Воспоминания его коллег по IT-цеху ниже:
Читать дальше →
Total votes 858: ↑783 and ↓75 +708
Comments 622

Map-Reduce на примере MongoDB

Reading time 5 min
Views 61K
В последнее время набирает популярность семейство подходов и методологий обработки данных, объединенных общими названиями Big Data и NoSQL. Одной из моделей вычислений, применяемых к большим объемам данных, является технология Map-Reduce, разработанная в недрах компании Google. В этом посте я постараюсь рассказать о том, как эта модель реализована в нереляционной СУБД MongoDB.

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

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

Итак, что же такого особенного в Map-Reduce?
Читать дальше →
Total votes 66: ↑60 and ↓6 +54
Comments 8

Init.js: Зачем и как разрабатывать с Full-Stack JavaScript

Reading time 13 min
Views 31K

История


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

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

И наконец, в один прекрасный день вы решили: “Сделаем это!”. И вот вы уже пытаетесь разобраться как реализовать бизнес-логику своего приложения, ту киллер-фичу, которая будет двигать продукт вперед. У вас есть идея как это сделать, и вы знаете, что способны на это. И вот вы говорите: “Готово! Работает!” У вас есть успешный прототип! Осталось только упаковать его в веб приложение.

“Окей, сделаем сайт,” говорите вы.

А только потом вы понимаете, что для этого нужно выбрать язык программирования; нужно выбрать (современную) платформу; нужно выбрать какие-то (современные) фреймворки; нужно настроить (и купить) хранилище, базы данных и хостинг; нужно обеспечить интерфейс для администрирования; нужно обеспечить контроль доступа и систему управления контентом.

Перед вами десятки и десятки архитектурных решений, которые необходимо принять. И вы не хотите ошибиться: требуются технологии, которые позволят вести быструю разработку, поддерживают постоянные итерации, максимальную эффективность, скорость, устойчивость и многое другое. Вы хотите быть бережливым (lean) и гибким (agile). Вы хотите использовать технологии, которые помогут вам быть успешным как в краткосрочной, так и в долгосрочной перспективе. А выбрать их далеко не всегда так просто.

“Я перегружен”, говорите вы и чувствуете себя перегруженным. Энергия уже не та, что была в начале. Вы пытаетесь собраться с мыслями, но работы слишком много. Прототип медленно блекнет и умирает.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Comments 29

Трудный путь новичка в топ 5 русского App Store

Reading time 5 min
Views 5K
Приветствую всех. Являясь большим поклонником продукции одной известной фруктовой компании, решил попробовать свои силы в разработке под iOS. И вот хочу поделиться своим опытом и трудностями, с которыми я столкнулся, во время написания и публикации своего, фактически первого, приложения в App Store. Может быть, мой опыт окажется кому то полезным. А трудностей было предостаточно. В процессе публикации в App Store приложение было 2 раза отклонено и третий раз висело 6 дней в статусе «In Review». В итоге моя настойчивость победила, приложение опубликовали и оно попало в пятерку русского App Store в категорию Top Free iPhone Navigation Apps. И так все по порядку.
Читать дальше →
Total votes 94: ↑82 and ↓12 +70
Comments 118

От Дублина до Сингапура: история разработки iPad приложения

Reading time 5 min
Views 4.7K
Привет хаброчеловек!

На днях я выпустил детское приложение-раскраску для iPad Colorific. Разработка затянулась на год, но теперь, когда основная работа завершена, я хочу поделиться некоторыми вынесенными из всей этой истории уроками.



«Баловаться» с Cocoa я начал примерно полгода спустя после того, как у меня появился белый iMac G5 20" в 2005 году. Тогда я потратил на него я почти всю свою месячную зарплату. После 4-х лет на Slackware и Debian Linux макось (на тот момент Tiger) была как глоток свежего воздуха. Дальше баловства дело не заходило. Написал пару утилит для себя на Cocoa, поэксперементировал с AppleScript и отложил это дело в долгий ящик.

В следующий раз я открыл XCode, когда Apple зарелизил свой SDK. Я был полон энтузиазма, ведь они пошли примерно тем путем, о котором я говорил друзьям. Мне всегда не нравилась «анархия» в J2ME разработке, и казалось, что Apple должен пойти по пути Brew от Qualcomm, только сделать это не так «топорно». Собственно всё — среда разработчика XCode, Instruments и App Store казались мне просто идеалом того, как дожен выглядеть мобильный SDK. У меня был совсем небольшой опыт на заре J2ME, и мы даже не могли мечтать о такой инфраструктуре.

Читать дальше →
Total votes 72: ↑57 and ↓15 +42
Comments 39

iOs-разработчик берется за Android

Reading time 8 min
Views 20K
Недавно мы выпустили Android-версию для нашей платформы для создания приложений, использующих определение местоположения — Meridian.



Не став использовать один из кросс-платформенных инструментов, подобных Titanium, мы написали ее с нуля на Java.

Мы решили, что важно сохранить родной материал родным и максимально уважать особенности каждой платформы. Некоторым таким особенностям легко следовать, например, добавлению верхних закладок в окно интерфейса. Другие свойственны только для Android, например: обработка Intents, завершение работы старых Activities, реализация Search Providers, а также строгость к ссылкам с целью помощи сборщику мусора.

Теперь наша платформа использует HTML5 для брендинга и отображения контента, отсюда мы получили большую часть интерфейса совершенно бесплатно. Но множество кода, написанного на Objective-C, потребовалось перевести в Java, например: навигацию по карте, направление, и изменение местоположения.

Итак, мы засучили рукава, установили Android SDK и принялись за работу.
Читать дальше →
Total votes 83: ↑71 and ↓12 +59
Comments 36

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity