Pull to refresh
0
0
Send message

Архитектурный дизайн мобильных приложений

Reading time 9 min
Views 98K
Признак плохого дизайна №1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»


Ведущий iOS-разработчик Redmadrobot Егор BepTep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

Читать дальше →
Total votes 43: ↑33 and ↓10 +23
Comments 26

Примеры тестовых заданий для iOS-разработчиков

Reading time 3 min
Views 46K
Я воспринимаю тестовые задания как хороший и адекватный метод отбора людей (для противников этого мнения есть голосовалка в конце поста), ведь работодатель может оценить конкретно то, что и будет делать сотрудник за своим рабочим местом. И поэтому зачастую с энтузиазмом принимаюсь за их выполнение, не смотря на то, что делать их приходится по ночам. К тому же, задания обычно небольшие и их можно расценивать как написание прототипов — а прототипы писать я тоже люблю. В общем опыт положительный, а положительный настрой — великое дело.



Здесь я хотел бы поделиться примерами тестовых заданий от разных работодателей: маленьких и больших, зарубежных и отечественных. Названия компаний приводиться не будут. Каждый пример задания будет сопровождаться ссылкой на репозиторий где лежит мой вариант решения. С кодом этим, можно делать все, что угодно: использовать в проектах, исправлять, посылать пул реквесты.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 16

Солнечное затмение с воздуха и из космоса

Reading time 5 min
Views 28K

Фото: Павла Алексеева.

В то время, как большинство жителей России разрывало последние дискеты и демонстрировало небу свои флюорографии, я несся над Норвежским морем на высоте 11 км со скоростью 750 км/ч и пытался удержать в руках всю фототехнику, которую опрометчиво набрал в полет. В мордовском поселке Рузаевка радиолюбитель R4uab наводил антенну со своего гаража на спутник Роскосмса "Метеор-М №2". Астронавт Саманта Кристофоретти парила в невесомости Международной космической станции, пытаясь запечатлеть редкое астрономическое явление. И все только для того, чтобы мы могли увидеть затмение иначе чем просто яркий месяц в небе.
Читать дальше →
Total votes 73: ↑69 and ↓4 +65
Comments 34

Как управлять командой — история одного успеха

Reading time 4 min
Views 63K
Привет Хабр!

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

Под катом вас ждет небольшое путешествие в противоположную точку зрения.

Disclaimer: Статья не претендует на полноту или истину в последней инстанции. Автор тоже ни на что не претендует, а просто делится своими наблюдениями, как есть.
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Comments 42

Изучение TDD через интенсивную практику

Reading time 11 min
Views 26K
Примечание от переводчика: мой опыт знакомства с разработкой через тестирование во многом схож с тем, что описывает автор (хотя и начался на несколько лет позже). Я начинал изучать TDD самостоятельно, на работе, исправляя баги и создавая новые модули с нуля. Эффект от применения TDD произвёл на меня настолько мощное впечатление, что породил желание делиться умением применять эту технику с другими. Я также проводил Code Retreat-ы внутри и вне своей компании. И я вижу те же проблемы в своих тренингах — очень сложно взять и «впихнуть» понимание сути TDD в чужие головы.

Поэтому в данной статье я вижу свежий взгляд на проблему, который, возможно, даст новый толчок в изучении TDD мне и моим коллегам. Думаю, она пригодится и прочим интересующимся разработкой через тестирование. Буду рад увидеть Ваши комментарии.


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

TL;DR?


Многие сторонники TDD рекомендуют подход под названием «интенсивная практика», но я догадываюсь, что у Вас не будет возможности тратить много рабочего времени на практику. Я советую людям «применять TDD осознанно», но до сих пор не знал хорошего способа достаточно доступно объяснить смысл этих слов, что снижало ценность моего совета. Вы можете начать применять оба подхода (интенсивный и осознанный) одновременно, если начнёте исправлять баги через тесты. Даже если Вы до сих пор не умеете проектировать софт на экспертном уровне, то, по крайней мере, Вы уже можете учиться как эксперт. И исправление багов через тесты даст Вам естественную и не слишком рискованную возможность делать это. У Вас будет возможность практиковаться в TDD усердно и осознанно. Если у Вас есть возможность исправлять баги на работе в одиночку, то Вы можете использовать эти практики, не привлекая лишнего внимания, которое обычно возникает при разговорах об «интенсивной практике». Просто говорите всем, что Вы исправляете баги. Это всем понравится.

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

Подробности
Total votes 25: ↑18 and ↓7 +11
Comments 9

Приложение, которое помогает избегать нежелательных лиц

Reading time 2 min
Views 26K
image


Один из разработчиков данного приложения — Брайан Мур, переехал жить в Нью-Йорк и несколько раз встречался со своей бывшей подругой, если говорить точнее, то 4 раза за полгода.

И тогда ему в голову пришла идея: А что если используя тот же мобильный инструментарий, который используется для доступа к местоположению во многих социальных приложениях для встречи с друзьями, использовать в подобном приложении, но чтобы избегать людей.
Читать дальше →
Total votes 43: ↑34 and ↓9 +25
Comments 25

Алгоритм Улучшенной Самоорганизующейся Растущей Нейронной Сети (ESOINN)

Reading time 6 min
Views 33K

Введение


В моей предыдущей статье о методах машинного обучения без учителя был рассмотрен базовый алгоритм SOINN — алгоритм построения самоорганизующихся растущих нейронных сетей. Как было отмечено, базовая модель сети SOINN имеет ряд недостатков, не позволяющих использовать её для обучения в режиме lifetime (т.е. для обучения в процессе всего срока эксплуатации сети). К таким недостаткам относилась двухслойная структура сети, требующая при незначительных изменениях в первом слое сети переобучать второй слой полностью. Также алгоритм имел много настраиваемых параметров, что затрудняло его применение при работе с реальными данными.

В этой статье будет рассмотрен алгоритм An Enhanced Self-Organizing Incremental Neural Network, являющийся расширением базовой модели SOINN и частично решающий озвученные проблемы.
Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 10

Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой

Reading time 8 min
Views 264K
Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.
Содержание и видео всех лекций курса
Total votes 172: ↑166 and ↓6 +160
Comments 47

Геймификация студии с помощью подручных средств

Reading time 7 min
Views 30K
Сам термин «геймификация», вы, наверняка, слышали — он в последнее время снова стал модным. Означает примерно следующее: перенос игровых механик на неигровые процессы. Отчего последние (по задумке) становятся увлекательнее и охотнее воспринимаются теми, кто в них вовлечен.

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

image
Читать дальше →
Total votes 76: ↑67 and ↓9 +58
Comments 13

Индустриальная революция. Часть 4. Как построить свою мечту

Reading time 5 min
Views 27K
imageНиже приводится перевод новой части увлекательной статьи «In the Next Industrial Revolution, Atoms Are the New Bits» журнала Wired. В прошлый раз я рассказал о Rally Fighter, виртуальных мини-фабриках и 3D-принтере за 1000$; а сегодня вы узнаете, как можно трансформировать свою великую идею в великий продукт, другими словами, как построить свою мечту!

Чтобы увидеть, как создавались инновации в 20 веке, посмотрите фильм «Озарение гения» («Flash of Genius»). Фильм, основанный на реальных событиях, начинается в шестидесятые, и рассказывает грустную историю изобретения стеклоочистителей лобового стекла автомобиля, работающих с паузой. Изобретатель, профессор Боб Кирнс, – закрывается в своей мастерской, пока не получает работающий прототип. Вместо того, чтобы продать технологию автогигантам, Кирнс решает основать собственную компанию для того, чтобы самостоятельно производить стеклоочистители. Ford подписывает контракт по установке своего изобретения на одну из новых моделей. Это значит, что Кирнсу нужна фабрика! Он берет в аренду огромное здание и наполняет его сборочными линиями, погрузчиками, и другой тяжелой техникой – классическая сцена индустриального века.
Читать дальше →
Total votes 51: ↑45 and ↓6 +39
Comments 20

Нечеткий динамический текстовый поиск? Не так уж и страшно

Reading time 19 min
Views 13K
Владимир Румянцев - приключения Питерского... кота
Существует устойчивое мнение, что нечеткий поиск в динамике (онлайн)
малодоступен в силу своей невероятной сложности.
Далее мы будем развеивать это досадное заблуждение и покажем,
что построить свою собственную поисковую систему со сносной производительностью
на не таких уж и маленьких данных доступно каждому.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 14

Речевые технологии. Голосовая биометрия для чайников на примере работы в контактном центре

Reading time 8 min
Views 26K
image

Всем привет.
Недавно я написал вот такую статью про распознавание слитной речи, а сейчас хотел бы написать про голосовую биометрию, т.е. подтверждение личности человека по голосу и узнавание человека по голосу.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 7

Попытка сделать дайджест новостей из мира Python

Reading time 3 min
Views 18K
Постоянно читаю на хабре Дайджест новостей о php и ловлю себя на мысли, что очень бы хотел читать что-то похожее о python на постоянной основе. Понятное дело, что в одиночку это дело неподъемное, но хочу попытаться — а может читатели и пожелают помочь. Для удобного создания дайджестов я написал небольшое приложение на Dajngo и выложил его код на github — есть он и в web, но за ссылкой лучше в личку стукнуться. Там есть еще два прошлых выпуска и лента по мере добавления новостей, ну и права дам на админку, если нужно.

Новости в основном с PythonWeekly и на английском так как активность рускоязычного сообщества примерно с 2011 года по субъективным ощущениям небольшая. Хотя, вполне возможно я просто плохо ищу источники и вы подкажете мне где можно находить хорошие материалы о python на русском. Также для подбора материалов я использую информацию о трендах github, pypi и pep8.ru — отличный но почему-то приостановивший свое развитие ресурс.

Под катом собственно дайджест. Очень жду комментариев о том как улучшить оформление, состав, тематику, группировку новостей. Даешь python в массы.
Читать дальше →
Total votes 89: ↑87 and ↓2 +85
Comments 27

Хостинг на AWS (EC2, EBS, S3) для чайников

Reading time 4 min
Views 138K
На хабре уже проскакивали периодически заметки посвященные AWS (Amazon Web-Services) — так что тема не новая. Однако, если для меня лично (да и для многих моих знакомых как выяснилось) — этот термин был знаком — однако каких-либо деталей я не знал. Попробую на основании только-что полученного опыта рассказать немного подробней, а так же изложить основные шаги по организации хостинга сервера на AWS и его преимущества. Как и несколько ссылок, которые могут оказаться полезными.
image
Читать дальше →
Total votes 101: ↑98 and ↓3 +95
Comments 62

Бесплатный облачный PHP-MySQL хостинг для небольшого сайта на основе Amazon AWS

Reading time 8 min
Views 86K
Данная инструкция не претендует на абсолютную точность, какую-либо новизну и предназначена для делающих самые первые шаги. Поэтому не судите особо строго.

Боевая задача.


Предположим нам хочется захостить небольшой проектик где-нибудь в надежном и не особо тормозящем месте. А поскольку сайт небольшой, то не будем заморачиваться и захотим от хостинга что-нибудь самое простое. Для наших целей вполне хватит PHP, MySQL и доступа по FTP.
Для решения этой задачи идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
  • Виртуальный сервер в формате micro на основе Linux с доступом по SSH.
  • 30Гб места в Elastic Block Storage плюс 1Гб под бэкапы.
  • 15 Гб трафика в месяц.
  • Выделенный внешний IP адрес.

Причем все это при желании можно зарегистрировать и подготовить к работе за полчаса, но понадобится кредитная карта, которую примет Amazon (и снимет 2 доллара) и сотовый телефон под рукой (домашний не подойдет).

Читать дальше →
Total votes 155: ↑140 and ↓15 +125
Comments 88

Насилие над DHTML и вывод JavaScript на десктоп. Реставрация старых игр. Сборка web-приложений

Reading time 12 min
Views 24K

Реставрация старых игр


Привет Хабра! Это статья первая из цикла статей о игровом движке StalinGrad. Начну повесть о нем из далека, рассмотрев предпосылки для его создания. В статье речь пойдет о том, как делать игры, конвертировать JS -> APK, и прочих трудностях и проблемах.

Пример до реставрации и после (а еще для Android`a):

Читать дальше →
Total votes 93: ↑82 and ↓11 +71
Comments 14

Макросы с переменным числом параметров

Reading time 2 min
Views 17K
Недавно пришлось мне разбираться с одним Open Source проектом. Нужно было разобраться с одной ошибкой. Ошибка была плавающей и проявлялась исключительно на стенде, после получаса раб. Да и то не всегда. Поэтому было принято решение логировать определенные участки кода.
Читать дальше →
Total votes 35: ↑22 and ↓13 +9
Comments 26

Команда Джеффри Хинтона победила в конкурсе компьютерного зрения ImageNet с двукратным преимуществом

Reading time 3 min
Views 32K
Конкурс ImageNet состоялся в октябре 2012 года и был посвящен классификации объектов на фотографиях. В конкурсе требовалось распознавание образов в 1000 категорий.

Команда Хинтона использовала методы deep learning и сверточных нейронных сетей, а также инфраструктуру, созданную в Google под руководством Jeff Dean и Andrew Ng. В марте 2013 года Google инвестировал в стартап Хинтона, основанный при университете Торонто, тем самым получив все права на технологию. В течение шести месяцев был разработан сервис поиска по фотографиям photos.google.com.
Читать дальше →
Total votes 84: ↑80 and ↓4 +76
Comments 36

Методы распознавания отпечатков пальцев и реализация средствами Python

Reading time 12 min
Views 51K
В текущем семестре появился в расписании предмет «Методы и средства защиты компьютерной информации», частью которого являются лабораторная работа по биометрии, а точнее по распознаванию отпечатка пальца. Так же, недавно, на Хабре была статья про устройства предназначенные для сканирования. Решил написать здесь про алгоритмы распознавания.
Читать дальше →
Total votes 118: ↑115 and ↓3 +112
Comments 20

Information

Rating
Does not participate
Registered
Activity