В последнее время в рунете вообще и здесь, на хабре, в частности, периодически разгораются споры на тему: «будет или не будет выпущен апдейт на новую мобильную ОС <имярек> для уже выпущенных устройств?» Споры эти то затихают, то снова разгораются по мере того, как то Google, то Microsoft анонсируют выпуск новых версий своих мобильных ОС. Я занимаюсь мобильными устройствами (далее — МУ) профессионально далеко не первый год и знаю эту кухню изнутри. Поэтому многие вещи, вызывающие жаркие споры, лично мне кажутся очевидными и вообще не имеющими смысла к обсуждению. Хочу поделиться с уважаемым хабросообществом некоторыми знаниями, чтобы кое-кто смог поумерить пыл и взглянул на жизнь более трезвым взглядом.
BuZZ @BuZZ
User
50 действительно хороших инди игр
1 min
29KTranslation
Некоторое время назад здесь находился замечательный пост-перевод о 50 инди-играх, в которые действительно стоит сыграть. В настоящий момент он устарел, но ему на замену пришёл целый цикл постов об инди-играх — «Великолепная подборка инди-игр»:
+85
Papers — персональный каталогизатор научных статей
3 min
9.5KЗдравствуйте.
Наверное, каждый из нас, кто когда-либо занимался какими-то научными или околонаучными исследованиями, упирался в проблему систематизации и коллекционирования источников. Не секрет, что большинство современных научных статей и книг изобилуют ссылками на источники и более подробные объяснения какого-либо материала. Этим «убиваются» сразу два «зайца»:
- Проверяемость. Любое неочевидное утверждение подкрепляется авторитетным источником
- Обучаемость. Если читатель что-то не понимает, он всегда может ознакомиться с литературой, представленной по ссылкам.
Когда пишут статью, стараются следовать подобным критериям. Хорошо, если статья небольшая, и источников всего 10-20. А если пишется цикл статей? Или одна большая статья/книга? Как не запутаться в источниках? Как удобно их хранить в одном месте с быстрым поиском? На помощь приходит специальная программа для Mac OS — Papers.
+37
Установка Windows 8 Developer Preview для ленивых
3 min
51K Задача: поставить Windows 8 Developer Preview поиграться.
Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.
Классические решения:
К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!
Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.
Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.
Классические решения:
- Поставить в виртуалку. Это медленно, нужен дополнительный софт и без хардварной виртуализации ничего не заработает.
- Поставить на другой жёсткий диск. Увы, в ноутбук второй винт не вставишь, да и нету его у меня.
- Выделить отдельный раздел на винте. А это ставить лишний софт, танцевать с бубнами вокруг разделов… Лениво!
К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!
Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.
+146
Правильно ли использовать сотрудников только по назначению?
2 min
1.4KДочитал книгу Тома Демарко и Тимоти Листера «Человеческий фактор. Успешные проекты и команды» или просто «Peopleware». Обидно то, что абсолютное большинство менеджеров эту книгу не читали и даже о ней не слышали.
Хороший отзыв на сайте оставил один из читателей:
Книгу пересказывать не буду — это займет много времени, рекомендую просто почитать, но вот как дополнение хочется рассмотреть еще одну проблему, которую я постоянно наблюдаю в наших компаниях, а именно использование сотрудников (ресурсы) ТОЛЬКО по назначению. Почему это плохо, спросите вы? Ответ простой: если ресурсы использовать только по назначению, то убивается всякое желание к креативу и развитию, а это, как вы должны понимать, частая причина смены места работы.
Хороший отзыв на сайте оставил один из читателей:
Рекомендую прочитать, а потом перечитать.Полностью поддерживаю.
Книгу пересказывать не буду — это займет много времени, рекомендую просто почитать, но вот как дополнение хочется рассмотреть еще одну проблему, которую я постоянно наблюдаю в наших компаниях, а именно использование сотрудников (ресурсы) ТОЛЬКО по назначению. Почему это плохо, спросите вы? Ответ простой: если ресурсы использовать только по назначению, то убивается всякое желание к креативу и развитию, а это, как вы должны понимать, частая причина смены места работы.
+39
Новый курс по веб-разработке для начинающих на русском MSDN
2 min
33KНа русском MSDN опубликован обновленный курс по веб-разработке для начинающих c помощью ASP.NET и бесплатной среды разработки WebMatrix. Новый курс состоит из 16 статей на русском языке, которые дадут достаточно знаний для создания своих первых сайтов и получения навыков веб-разработки.
Содержание курса:
- Глава 1. Начало работы с WebMatrix и веб-страницами ASP.NET
- Глава 2. Использование кода веб-страниц ASP.NET
- Глава 3. Более сложный пример на ASP.NET
- Глава 4. Знакомство с синтаксисом Razor. Рекомендации по программированию
- Глава 5. Знакомство с синтаксисом Razor, серверный код и ASP.NET
- Глава 6. Знакомство с синтаксисом Razor. Обработка ошибок
- Глава 7. Работа с формами
- Глава 8. Работа с данными
- Глава 9. Отображение данных
- Глава 10. Работа с изображениями
- Глава 11. Работа с видео
- Глава 12. Кэширование и оптимизация производительности
- Глава 13. Анализ трафика и посещаемости
- Глава 14. Оптимизация веб-страниц для поисковых систем
- Глава 15. Использование пакетного менеджера
- Часть 16. Разработка ASP.NET WebPages и Razor в Visual Studio
+25
Моделирование большого количества взаимодействующих друг с другом частиц
6 min
30KTutorial
Рассмотрим ситуацию, когда необходимо обрабатывать столкновения между объектами. Как вы в этом случае поступите? Вероятно, самым простым решением будет проверить каждый объект с каждым другим объектом. И это правильное решение, и все будет замечательно до тех пор пока объектов не много. Как только их станет порядка нескольких тысяч, вы заметите, что все стало как-то медленно работать. А если частиц несколько десятков тысяч или сотен? Тогда все замрет. Вот здесь уже интересно, на какие хитрости и оптимизации вы пойдете, чтобы решить такую проблему.
Для простоты, будем рассматривать 2D случай, частицы круглые, радиус частиц у всех одинаковый.
1. Обзор алгоритмов
1.1. Полный перебор
1.2. Sweep & Prune
1.3. Регулярная сеть
2. Некоторые оптимизации
2.1. Sweep & Prune
2.2. Регулярная сеть
3. Сравнение скорости выполнения
4. Приложение (программа и исходный код)
5. Заключение
Для простоты, будем рассматривать 2D случай, частицы круглые, радиус частиц у всех одинаковый.
Содержание
1. Обзор алгоритмов
1.1. Полный перебор
1.2. Sweep & Prune
1.3. Регулярная сеть
2. Некоторые оптимизации
2.1. Sweep & Prune
2.2. Регулярная сеть
3. Сравнение скорости выполнения
4. Приложение (программа и исходный код)
5. Заключение
+143
Что менеджер проектов должен знать о тестировании
5 min
13KЯ 8 лет занимаюсь тестированием. Ручным и автоматизированным, в роли тестировщика и тест-менеджера, как сотрудник компании и как представитель аутсорса. И почти на всех проектах сталкиваюсь с одной и той же проблемой: руководители проектов не понимают, зачем им нужно тестирование.
Если задать среднестатистическому РМ'у простой вопрос: «Зачем на этом проекте тестирование?», то чаще всего ответом будет «Ты же тест-менеджер, ты и должна ответить на этот вопрос».
Но ведь приходя в парикмахерскую вы не говорите мастеру «вы сами знаете, что мне нужно»? И в продуктовом магазине вы не просите продавца накидать вам в корзину то, что вам нужно? Вы можете советоваться, вы можете узнавать «а как можно?», спрашивать варианты, но решение всегда за вами. В чём отличие тестирования? Может, в том, что слишком мало менеджеров проектов понимают, зачем оно им?
В этой статье я постараюсь выступить в роли продавца, который показывает клиенту: «а что вообще бывает?» Многие вещи будут описаны, возможно, слишком подробно, слишком просто… Не серчайте, мне просто очень хочется быть понятой :)
Если задать среднестатистическому РМ'у простой вопрос: «Зачем на этом проекте тестирование?», то чаще всего ответом будет «Ты же тест-менеджер, ты и должна ответить на этот вопрос».
Но ведь приходя в парикмахерскую вы не говорите мастеру «вы сами знаете, что мне нужно»? И в продуктовом магазине вы не просите продавца накидать вам в корзину то, что вам нужно? Вы можете советоваться, вы можете узнавать «а как можно?», спрашивать варианты, но решение всегда за вами. В чём отличие тестирования? Может, в том, что слишком мало менеджеров проектов понимают, зачем оно им?
В этой статье я постараюсь выступить в роли продавца, который показывает клиенту: «а что вообще бывает?» Многие вещи будут описаны, возможно, слишком подробно, слишком просто… Не серчайте, мне просто очень хочется быть понятой :)
+43
Опыт регистрации ИП для ведения бизнеса связанного с ИТ
3 min
31KОднажды решив зарегистрироваться как ИП я столкнулся к несколькими неожиданными проблемами, о которых в интернете не могу найти практически никакой информации. Знакомая бухгалтер, консультирующая меня, тоже не слышала о подобных проблемах, поэтому решился на написание данного топика, чтобы помочь коллегам не попасть в подобную ситуацию.
Основные пункты «обязательной программы» регистрации много раз разжеваны в интернете, но пройдемся по ним заново, используя собственный опыт. Я специально не буду давать ссылки на программы, формы бланков и постановления, так как они быстро устаревают и смысла выкладывать их я не вижу. К тому же принятое заявление в Тамбове, могут не принять в другой налоговой и т.д.
Еще в моем случае нет наемных работников, это важно для прохождения «квеста».
Основные пункты «обязательной программы» регистрации много раз разжеваны в интернете, но пройдемся по ним заново, используя собственный опыт. Я специально не буду давать ссылки на программы, формы бланков и постановления, так как они быстро устаревают и смысла выкладывать их я не вижу. К тому же принятое заявление в Тамбове, могут не принять в другой налоговой и т.д.
Еще в моем случае нет наемных работников, это важно для прохождения «квеста».
+56
Свой инструмент нужно знать в лицо: обзор наиболее часто используемых структур данных
8 min
60KНекоторое время назад я сходил на собеседование в одну довольно большую и уважаемую компанию. Собеседование прошло хорошо и понравилось как мне, так и, надеюсь, людям его проводившим. Но на следующий день, в процессе разбора полетов, я обнаружил, что в ходе собеседования ответ на как минимум один вопрос был неверен.
Вопрос: Почему поиск в python dict на больших объемах данных быстрее чем итерация по индексированному массиву?
Ответ: В dict хранятся хэши от ключей. Каждый раз, когда мы ищем в dict значение по ключу, мы сначала вычисляем его хэш, а потом (внезапно), выполняем бинарный поиск. Таким образом, сложность составляет O(lg(N))!
На самом деле никакого бинарного поиска тут нет. И сложность алгоритма не O(lg(N)), а Amort. O(1) — так как в основе dict питона лежит структура под названием Hash Table.
Причиной неверного ответа было то, что я не удосужился досконально изучить те структуры, которые лежат в основе работы с коллекциями моего любимого языка. Правда, по результатам опроса нескольких знакомых разработчиков, оказалось что это не только моя проблема, очень многие вообще не задумываются, как работают коллекции в их любимых ЯП. А ведь используем мы их каждый день и не по разу. Так родилась идея этой статьи.
+167
В ожидании ExtJS 4: Динамическая загрузка и новая система классов
11 min
6.1KTranslation
От переводчика: Sencha Inc, производитель известного RIA-фреймворка Ext JS, заговорила о грядущей четвертой версии 22 ноября прошлого года. Релиз обещанного планировался на 28 февраля.
Что бы подогреть интерес комьюнити (ведь API, по словам разработчиков, изменилось значительно), была обещана публичная альфа- или бета-версия «в течении пары недель». Прошло два месяца, но обещанного пока нет.
Понимая, что была совершена маркетинговая ошибка – слишком рано заявили о новом продукте и сорвали сроки его презентации – разработчики решили немного схитрить, выкладывая обещанную «бету» по частям: пакет за пакетом.
Вашему вниманию предлагается перевод первой статьи из официального блога фреймворка, посвященной попытке эмуляции «взрослого» ООП средствами JavaScript в реализации Ext JS 4.
Статья, в первую очередь, будет интересна тем, кто уже пользовался предыдущими версиями фреймворка – автор рассчитывает на то, что читатель уже знаком с архитектурой Ext JS.
Что бы подогреть интерес комьюнити (ведь API, по словам разработчиков, изменилось значительно), была обещана публичная альфа- или бета-версия «в течении пары недель». Прошло два месяца, но обещанного пока нет.
Понимая, что была совершена маркетинговая ошибка – слишком рано заявили о новом продукте и сорвали сроки его презентации – разработчики решили немного схитрить, выкладывая обещанную «бету» по частям: пакет за пакетом.
Вашему вниманию предлагается перевод первой статьи из официального блога фреймворка, посвященной попытке эмуляции «взрослого» ООП средствами JavaScript в реализации Ext JS 4.
Статья, в первую очередь, будет интересна тем, кто уже пользовался предыдущими версиями фреймворка – автор рассчитывает на то, что читатель уже знаком с архитектурой Ext JS.
+21
jqGrid — Динамические таблицы на jQuery. Сложный Поиск
6 min
85KВведение
На мой взгляд, jqGrid — самый успешный и удобный на данный момент плагин для jQuery, работающий с таблицами БД через AJAX запросы и PHP (Так же существует версия для ASP.NET).
Все подробности в данной статье я опущу, акцентируя ваше внимание лишь на вопросе, как сделать сложный поиск по таблице, используя этот плагин.
+41
Мгновенный поиск в 75 гигабайтах
8 min
34KРечь пойдет о том, как был реализован быстрый поиск по большим объемам данных на этой страничке. Там можно искать пароль по хешу, для игрового сервера PvPGN, и генерировать эти же хеши.
Поиск написан на чистом PHP, без использования модулей и сторонней БД. В принципе, таким образом можно наращивать объемы до многих терабайт, было бы место — скорость от этого не сильно пострадает.
Далее от начала до конца описан весь процесс, который включает в себя брутфорс, создание хеш таблицы, её сортировка и, собственно, поиск.
Поиск написан на чистом PHP, без использования модулей и сторонней БД. В принципе, таким образом можно наращивать объемы до многих терабайт, было бы место — скорость от этого не сильно пострадает.
Далее от начала до конца описан весь процесс, который включает в себя брутфорс, создание хеш таблицы, её сортировка и, собственно, поиск.
+101
Первые шаги с Unity: DI/IoC & AOP
7 min
70KВведение
Если Вы когда-нибудь слышали такие слова, как IoC, DI, AoP, но не имеете четкого понимания этих терминов, надеюсь, эта статья поможет в них разораться на примере работы с Microsoft Unity контейнером.
+29
Знакомство с АОП
10 min
127KПарадигмы программирования
В современном мире IT-разработки существует довольно большое множество различных подходов к написанию программ. Так, например, кому-то нравиться представлять программу в виде последовательности действий, а кто-то считает, что программа должна представлять собой множество объектов, общающихся друг с другом. Совокупности этих идей и понятий образуют своего рода стиль написания программы, который принято назвать – парадигма программирования.
У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
- инструкция (императивное программирование, FORTRAN/C/PHP),
- функция (функциональное программирование, Haskell/Lisp/F#/Scala),
- прототип (прототипное программирование, JavaScript),
- объект (объектно-ориентированное программирование, С++/Java),
- факт (логическое программирование, PROLOG).
Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.
В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.
+97
PMP сертификация за 3 месяца
2 min
52KPMP традиционно входит в десятку самых востребованных IT сертификаций на западе. Эта мода потихоньку перебирается и в страны СНГ, некоторые компании уже начинают робко писать в вакансиях «PMP credential is a plus». Помимо повышения ценности ПМа на рынке труда, подготовка и сдача PMP сами по себе дают полезные знания и опыт.
Под катом — пошаговая инструкция получения PMP на базе PMBOK4.
Под катом — пошаговая инструкция получения PMP на базе PMBOK4.
+31
А MVC ли это?
6 min
25KДобрый день!
Сегодня я хочу поделиться с Вами мыслями относительно архитектуры информационных систем, в частности, разнообразных подходов к распределению логики, данных и отображения, традиционно причисляемых к MVC.
За последние две недели, в беседах с десятком знакомых программистов я выяснил, что все представляют себе MVC совершенно по-разному. Доходит до диаметрально противоположных взглядов, но по какой-то причине, все настаивают, что это MVC и что он должен выглядеть именно так, и находятся в полной уверенности, что все его так и видят.
Сегодня я хочу поделиться с Вами мыслями относительно архитектуры информационных систем, в частности, разнообразных подходов к распределению логики, данных и отображения, традиционно причисляемых к MVC.
За последние две недели, в беседах с десятком знакомых программистов я выяснил, что все представляют себе MVC совершенно по-разному. Доходит до диаметрально противоположных взглядов, но по какой-то причине, все настаивают, что это MVC и что он должен выглядеть именно так, и находятся в полной уверенности, что все его так и видят.
+67
Unity3d и развеивание некоторых мифов
8 min
94KНедавно я прочитал очередную статью про Unity3d на Хабре, в очередной раз были интересные комментарии — и грамотные, и грамотные не совсем.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
+63
Каркас сайта в один клик
1 min
5.6KДизайнерская компания Volkside сделала подарок веб-разработчикам, выпустив бесплатный букмарклет Wirify, с помощью которого можно отобразить каркас (wireframe) любого сайта одним щелчком мыши. Полезная вещь, чтобы быстро оценить некоторые аспекты дизайна сайта: модульную систему вёрстки, визуальную иерархию, свободное пространство, симметрию, золотое сечение, правило третей и т.д.
+95
5 способов, которыми игры пытаются вызвать зависимость
10 min
188KTranslation
Итак, в новостях снова пишут, что кто-то еще умер из-за игромании. Да, опять Корея.
Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
+270
Information
- Rating
- Does not participate
- Registered
- Activity