Как стать автором
Обновить
3
0.2
Хромов Михаил @Mihaelc

Разработчик

Отправить сообщение

Тап жест для скрытия клавиатуры в iOS (Swift 3)

Время на прочтение5 мин
Количество просмотров11K

В данной статье разберем, как скрывать клавиатуру по нажатию на вьюху от самых основ до реализации в одну строчку или совсем без кода.



Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии9

10 причин, по которым ваш дата-проект провалится

Время на прочтение6 мин
Количество просмотров9.9K

Введение


Наука, связанная с обработкой данных, продолжает волновать людей, однако реальные результаты нередко вызывают разочарование у заинтересованных бизнесменов. Как мы можем снизить риски и обеспечить соответствие результатов ожиданиям? Работа в качестве технического специалиста на стыке НИОКР и коммерческих операций дала мне представление о проблемах, которые стоят на этом пути. Я представляю свою личную точку зрения на наиболее распространённые виды провалов и неудач проектов, связанных с информатикой.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

10 вещей, которые обязательно нужно сделать после регистрации ООО

Время на прочтение9 мин
Количество просмотров80K

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

А для тех, кто зарегистрировался в качестве ИП, мы подготовили: 7 советов начинающему ИП, чтобы избежать проблем (что-то вы точно из этого не знаете)
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии54

Как за три месяца продать стартап в Facebook

Время на прочтение3 мин
Количество просмотров3.9K
Евгений Невгень, основатель компании MSQRD, в рамках открытого интервью на Форуме Gotech поделился историей создания бизнеса, который он продал Facebook, и раскрыл секреты формирования команды проекта.

Все началось с увлечения программированием. В 19 лет первым успешным проектом стал благотворительный аукцион встреч MaeSens (в России он известен как GoodWillion). Мне всегда было интересно, как делать правильный работающий дизайн. И мы с партнером Максимом Каменковым основали компанию SplitMetrics – платформу A/B-тестирования страниц приложений в App Store и Google Play. Буквально через месяц после объявления об открытии компании, нашим клиентом стала Rovio.

Все свои проекты с партнерами мы запускаем на Хакатоне, где можно получить быструю обратную связь. Эта стратегия нас никогда не подводила. MSQRD также создавался на Хакатоне. Именно благодаря ему он и появился в таком виде. Тогда мы сделали первую самую упрощенную версию приложения, и людям это очень понравилось. Пришлось пообещать, что через две недели выпустим MSQRD в AppStore. И нам это удалось.
Всего голосов 19: ↑10 и ↓9+1
Комментарии4

История моего стартапа: 500000 пользователей за 5 дней на стодолларовом сервере

Время на прочтение11 мин
Количество просмотров35K
Похоже, все в мире стартапов согласны с тем, что первые версии приложений должны представлять собой минимально жизнеспособный продукт (MVP, Minimal Viable Product), создавая который можно не особо заботиться о его масштабировании с технической точки зрения. Мне много раз доводилось слышать о том, что самое главное в подобных делах – поскорее выпустить нечто работающее. И, до тех пор, пока бизнес-модель нормально функционирует в условиях роста клиентской базы – всё нормально. А тратить время и деньги на то, чтобы сделать систему, которая сможет выдержать внезапный наплыв пользователей, не стоит. Беспокоиться нужно лишь о проверке предположений, об оценке рынка и о раскрутке бизнеса. Масштабируемость – это то, что можно отложить на потом. К несчастью, такая вот слепая вера в шаблонные идеи уже не раз приводила к оглушительным провалам. Pokémon GO, и, в частности, связанные с этим проектом приложения, служат напоминанием об этом.


Читать дальше →
Всего голосов 31: ↑22 и ↓9+13
Комментарии13

Landing Page как замена всего сайта

Время на прочтение5 мин
Количество просмотров16K


Здравствуйте, уважаемые хабрапользователи! Предлагаю поговорить о landing page. Многие из вас слышали, а, наверняка, большинство знают, что это. Но все равно хотелось бы чуть-чуть заострить на этом внимание.

Landing page (Целевая, посадочная страница) — это возможность для продавца или сервиса за несколько секунд рассказать о своих товарах и услугах самое главное, а для потенциального клиента — убедиться в том, что он попал «точно в цель». Одна из задач создания целевых страниц — формирование положительного восприятия рекламы и замена «стандартного» трюка, основанного на различных импликациях, полноценным информационным блоком.
Читать дальше →
Всего голосов 15: ↑8 и ↓7+1
Комментарии25

Разгоняем сборку Swift проекта в Xcode

Время на прочтение6 мин
Количество просмотров16K

image
Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.


Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!


Туториал несет сугубо практический характер с минимумом воды. Обязательно к прочтению для действующих iOS разработчиков.


Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии21

Что плохо умеют российские стартаперы

Время на прочтение4 мин
Количество просмотров14K


Всем известно, что в России самые лучшие программисты. А вот по количеству (и качеству) стартапов мы сильно отстаем.

Можно и нужно гордиться нашими командами, получившими, в том числе, и международное признание. Но нужно отдавать отчет, что в США таких команд в разы больше.

Есть, конечно, объективные причины такого отставания. Количество денег в Silicon Valley намного больше, чем в Российской Федерации. В нашу страну пока не готовы серьезно вкладываться (за определенными исключениями).

Но я выделил еще четыре качества, которые есть у американских стартаперов, но зачастую отсутствуют у российский. И отсутствие этих качеств серьезно мешают появлению новых ИТ-компаний на просторах нашей Родины.
Читать дальше →
Всего голосов 73: ↑39 и ↓34+5
Комментарии66

Нейронные сети на JS. Создавая сеть с нуля

Время на прочтение8 мин
Количество просмотров91K

КПДВ про нейронные сети


Нейронные сети сейчас в тренде. Каждый день мы читаем про то, как они учатся писать комментарии в интернете, торговаться на рынках, обрабатывать фотографии. Список бесконечен. Когда я впервые посмотрел на масштаб кода, который приводит это в движение, я был напуган и хотел больше не видеть эти исходники.


Но врожденные любознательность и энтузиазм довели меня до того, что я стал одним из разработчиков Synaptic — проекта фреймворка для построения нейронных сетей на JS с 3к+ звезд на GitHub. Сейчас мы с автором фреймворка занимаемся созданием Synaptic 2.0 с ускорением на GPU и WebWorker-ах и с поддержкой почти всех основных фич любого приличного NN-фреймворка.


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

Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии43

Vapor — быстрый и безопасный REST на Swift?

Время на прочтение3 мин
Количество просмотров27K
Я как iOS разработчик всегда хотел получить возможность окунуться в мир бэкенда, не прибегая к изучению других языков. Теперь благодаря Vapor мои мечты сбылись и каждый желающий имеет возможность использовать один язык на сервере и клиенте.

image
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии20

Как аккуратно залезть в кишки WebRTC при передаче голоса и видео

Время на прочтение5 мин
Количество просмотров12K
WebRTC — технология интересная, но чуток запутанная. В первую очередь тем, что это не одна технология, а комбайн. Захват видео с камеры и звука с микрофона. Установка peer-to-peer подключения между двумя браузерами с протыканием NAT по мере возможности. Передача звука и видео по этому подключению, с пониманием, что передаются realtime данные: кодеки, пропускная способность, потеря кадров, вот это всё. Ну и, наконец, воспроизведение полученного в окне другого браузера. Или не браузера, это уже как зайдет. Ах да, еще — realtime передача пользовательских данных по той же схеме для игр, датчиков и всего того, где недопустимы лаги tcp websocket. Мы в Voximplant постоянно копаемся в кишках технологии, чтобы у клиентов были качественные звук и видео во всех случаях, а не только по локальной 100-мегабитке. И нам было очень приятно почитать на прошлой неделе интересную статью, которая рассказывает, как в этих кишках правильно копаться. Предлагаем вам тоже почитать адаптированный перевод, специально для Хабра!
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии3

Electron: от мотивации до публикации

Время на прочтение11 мин
Количество просмотров40K

— Хотел бы я иметь приложение, которое умеет что-то такое, что мне надо. Жаль такого нет.
— А почему бы тебе его самому не написать?
— Это сложно, мне потребуется куча времени, чтобы понять теорию, приступить к практике и, скорее всего, ничего хорошего не выйдет. А вообще я frontend-разработчик и привык к HTML, CSS и JS. Этот стек не позволяет писать десктопные приложения.
— Electron!

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии46

«Производительность – это фича». Интервью с Марко Чеккони, Stack Overflow

Время на прочтение10 мин
Количество просмотров18K


На протяжении многих лет одним из главных вопросов, связанных с приложениями на .NET, был вопрос производительности. Одна из самых первых статей на эту тему датирована еще 2001-м годом.

Тема не теряла актуальности более 10 лет, и в 2011 люди все еще задают вопросы в поисках лучшего инструмента для профилировки.

О том, что все это значит для современной .NET-разработки и какие инструменты для обеспечения максимальной производительности использует крупнейшее сообщество разработчиков в мире, мы решили поговорить с перфоманс-инженером Stack Overflow Марко Чеккони.

Марко Чеккони, инженер Stack Overflow из Лондона. Много пишет о разработке софта, кодинге, архитектуре и командной работе.

– Вы работаете в Stack Overflow, можете назвать основные «болевые точки» вашего проекта с точки зрения производительности?

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

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

– Ваше решение построено полностью на С#, или есть части на других языках, типа C++, Java, Python или других?
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии27

Что происходит с командами при использовании BaseCamp, Trello, YouTrack, Smartsheet, Slack, YouGile. Обзор часть 1

Время на прочтение6 мин
Количество просмотров27K
Привет, Хабровчане! В статье расскажу про опыт использования систем планирования/управления/взаимодействия, каждой из которых пользовались в компании RedHelper не менее 6 месяцев. Упор будет делаться не на функции систем, а на то, что меняется в команде при использовании инструмента автоматизации.

BaseCamp Trello YouTrack Smartsheet Slack YouGile

Обзор BaseCamp Trello YouTrack Smartsheet Slack YouGile

В конце — обзор собственного инструмента YouGile, который для нас сегодня оказался универсальным местом планирования и общения. Сначала сделали “на коленке” для себя, с очень простой идеей — Agile Board, где каждая задача это чат. Сейчас запущен для публичного тестирования.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии39

Как разработчику открыть свой бизнес. Планирование

Время на прочтение7 мин
Количество просмотров34K
image

Терпеть не могу вводные статьи. В них много воды и почти нет смысла. Я постараюсь сделать вводную статью хотя бы немного информативной. Подробнее о себе я расскажу в следующих.

Это не история успеха


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

Для новичков всегда ставятся некие распорки, которые им помогают приспособиться. Этакие маленькие колесики для велосипеда. По мере приспособления, распорки убираются — в них больше нет необходимости.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+49
Комментарии39

Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 2.1

Время на прочтение7 мин
Количество просмотров20K

Введение


Здраствуйте, дорогие хабровчане! Сегодня у нас в основном будут маленькие изменения, но изменений много. В этой части мы будем:


  • Создавать свой логгер
  • Записывать в лог запросы и время их обработки
  • Исправлять ошибки, которые мы допустили в первой части.
  • Разбираться с авторизациеей
  • Разбираться с некоторыми классами
  • Конфиги!
Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии8

Два аспекта «децентрализованных» одностраничных приложений

Время на прочтение6 мин
Количество просмотров5.2K
В статье мы попытаемся описать два совершенно не связанных с собой аспекта децентрализованных одностраничных приложений. Это соединение двух пользователей и сохранение паролей в одностраничном приложении при помощи браузера.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии1

В копилку инструментов для прототипирования: Make My App

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



Если кратко суммировать все преимущества, прототипирование позволяет:

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

На сегодняшний день на рынке представлено такое изобилие решений для прототипирования всевозможных видов софта, что сориентироваться среди них непросто. На Хабре можно найти обзоры о множестве подобных программ. Как и многие другие разработчики, мы долгое время держались проверенного решения — небезызвестного Moqups — жалея времени тестировать многочисленные альтернативы. На Make My App — инструмент, о котором пойдет речь в обзоре, мы вышли случайно, благодаря рекомендации со стороны: в списках мы этот продукт не находили. Ниже представляем небольшой обзор, по которому можно составить общее представление о функционале приложения.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии9

11 видов кэширования для современного сайта

Время на прочтение7 мин
Количество просмотров95K


Автор данной статьи не встречал структурированной обзорной информации о важных этапах кэширования, поэтому ему хотелось бы поделиться наработанным опытом в этой области, соединить воедино всю основную информацию по данному вопросу, а также рассмотреть плюсы и минусы каждого вида кэширования.
Читать дальше →
Всего голосов 30: ↑19 и ↓11+8
Комментарии18

Почему хороший дизайн начинается раньше, чем первые картинки

Время на прочтение4 мин
Количество просмотров8.9K
Мы привыкли, что дизайн — это внешний вид, интерфейс, стиль. Это то, что можно посмотреть или потрогать. И когда продукт некрасивый или неудобный, принято винить дизайнеров. Их просят всё переделать, провести АБ-тесты, поиграть со шрифтами и цветами, но сервис не становится лучше, а прибыль не растёт.

От качества работы дизайнеров зависит многое, но дизайн — лишь часть продукта. В этой статье я хочу поделиться мнением о том, какие проблемы могут привести к плохому дизайну помимо самого дизайна, а так же почему хороший дизайн начинается гораздо раньше, чем рисование кнопочек и картинок.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии1

Информация

В рейтинге
2 853-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность