Как стать автором
Обновить
0
0

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

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

Дайджест интересных материалов для мобильного разработчика #296 (22 — 26 апреля)

Время на прочтение3 мин
Количество просмотров5.2K
Очередной выпуск расскажет вам про новые иконки Google Play, главные вопросы Swift, о бесплатной музыке для проектов, покупке Realm и восторге от Интернета вещей.

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

Потенциальные атаки на HTTPS и как от них защититься

Время на прочтение6 мин
Количество просмотров20K
Половина сайтов использует HTTPS, и их число стабильно увеличивается. Протокол сокращает риск перехвата трафика, но не исключает попытки атак как таковые. О некоторых их них — POODLE, BEAST, DROWN и других — и способах защиты, мы расскажем в нашем материале.

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

Agile Lite: специально против выгорания

Время на прочтение7 мин
Количество просмотров20K
Гибкая методология разработки — отличная идея, которую слишком усложнили. Agile Lite — попытка упростить ситуацию. Вам не нужны книги или семинары, чтобы объяснить Agile Lite. Нужен только небольшой текст с несколькими пунктами. Вот этот текст.

Agile Lite довольно прост. Его можно применить к любому проекту при условии, что работа разбивается на более мелкие задачи (issue). Как и другие гибкие методологии, он использует короткие циклы разработки  — спринты. Но в отличие от них, Agile Lite явно признает распространённость выгорания в индустрии разработки программного обеспечения и пытается смягчить его напрямую путём внедрения цикла «три недели разработки/одна неделя отдыха.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии13

Мгновенная настройка привычных файловых ассоциаций

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

Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь.


Сначала проблематика. Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужные ассоциации, бывает, и вовсе теряются при установке (или даже деинсталяции) программ: снесёшь, бывало, GIMP, а ico-файлы перешли во владение от привычного просмотрщика файлов к стандартной Photo Gallery. Почему? Зачем? Неизвестно… А если нашёл новый редактор или, по разным причинам, свежая инсталляция? А если компьютер не один? В общем, кликать мышками в диалогах — развлечение такое себе.


Вместо этого я сохранил два файлика на Dropbox и теперь привести компьютерный мир к привычному состоянию можно почти мгновенно. И чего ждал столько лет… Далее рецепт для Windows и macOS.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии10

Прозрачность — панацея от баттхёртов

Время на прочтение7 мин
Количество просмотров4.9K
Я уже пытался лечить «механический» scrum (часть 1, часть 2, часть 3), а в этой статье постараюсь выписать универсальное лекарство от «подгорания». Само по себе «подгорание», «бурление» и т.п. — это хорошо, это значит вам не все равно (а ведь безразличие — это шаг к унынию, или, как принято в IT — к выгоранию). На тему вреда выгорания написано и снято много материалов, например: вот, вот, вот или вот.

Одна распространенная мудрость гласит: «Баттхёрты — двигатель прогресса». Но часто бывает так: пригорело => быстро принимается поверхностное решение, маскирующее проблему => решение воплощается в жизнь => пригорать продолжает. Другими словами, вместо того, чтобы разобраться и поставить диагноз, мы сразу приступаем к лечению. Попытаюсь это проиллюстрировать примерами.

Читать дальше →
Всего голосов 34: ↑21 и ↓13+8
Комментарии4

Процесс разработки и тестирования с Docker и Gitlab CI

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

Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева из Inventos "Процесс разработки и тестирования с Docker + Gitlab CI"


Те, кто только начинает внедрять процесс разработки и тестирования на базе Docker + Gitlab CI часто спрашивают базовые вопросы. С чего начать? Как организовать? Как тестировать?


Этот доклад хорош тем, что структурировано рассказывает о процессе разработки и тестировании с использованием Docker и Gitlab CI. Сам доклад 2017 года. Думаю что из этого доклада можно почерпнуть основы, методологию, идею, опыт использования.



Кому интересно, прошу под кат.

Всего голосов 17: ↑17 и ↓0+17
Комментарии11

Непростой принцип единственной ответственности

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

Предыстория


За последние пару лет я поучаствовал в немалом количестве собеседований. На каждом из них я спрашивал соискателей о принципе единственной ответственности(далее SRP). И большинство людей о принципе ничего не знают. И даже из тех, кто мог зачитать определение, почти никто не мог сказать как они используют этот принцип в своей работе. Не могли сказать, как SRP влияет на код, который они пишут или на ревью кода коллег. Некоторые из них также имели заблуждение, что SRP, как и весь SOLID, имеет отношение только к объектно ориентированному программированию. Также, зачастую люди не могли определить явные случаи нарушения этого принципа, просто потому что код был написан в стиле, рекомендованном известным фреймворком.
Redux — яркий пример фреймворка, гайдлайн которого нарушает SRP.
Читать дальше →
Всего голосов 57: ↑43 и ↓14+29
Комментарии81

На поддержку музы: как устроены пожертвования для стримеров

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


Сегодня можно найти стримы на любой вкус от уроков программирования, до мейкапа, готовки и многочасовых разговоров блоггеров «за жизнь». Стриминг — это полноценная индустрия с многомиллионной аудиторией, в которую рекламодатели вкладывают немалые деньги. И если рекламные предложения доступны в основном стримерам с большой аудиторией, то заработать на донатах может даже начинающих стример. В этой статье я расскажу, как из простого развлечения стриминг превратился в многомиллионную индустрию, а топовые стримеры — в миллионеров.
Всего голосов 44: ↑39 и ↓5+34
Комментарии7

Почему программные задачи всегда занимают больше времени, чем вы думаете

Время на прочтение6 мин
Количество просмотров21K
Каждый в IT-индустрии знает, насколько сложно оценить срок выполнения проекта. Трудно объективно оценить, сколько времени займёт решение трудной задачи. Одна из моих любимых теорий заключается в том, что здесь имеет место просто статистический артефакт.

Предположим, вы оцениваете проект в 1 неделю. Предположим, есть три одинаково вероятных результата: либо он займёт 1/2 недели, либо 1 неделю, либо 2 недели. Медианный результат фактически такой же, как и оценка: 1 неделя, но среднее значение (aka average, aka expected value) составляет 7/6 = 1,17 недель. Оценка фактически откалибрована (беспристрастна) для медианы (которая равна 1), но не для среднего.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии24

Как развлечь себя с помощью vk api

Время на прочтение4 мин
Количество просмотров50K
В какой-то момент моей жизни я понял, что для счастья мне нужно создать 10 страниц-копий самого себя во Вконтакте и добавиться одновременно всеми в друзья к людям из френдлиста моей основной страницы. Для подробностей реализации идеи — прошу под кат.

Читать дальше →
Всего голосов 86: ↑77 и ↓9+68
Комментарии35

Опасные производства: мы следим за тобой, %username% (аналитика видео)

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

Один товарищ — без каски, второй — без перчатки.

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

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

Конкретно:

  • Очень легко распознавать людей без каски. Даже лысых. Увидели человека без каски — сразу алерт оператору или начальнику цеха.
  • То же самое касается очков и перчаток на опасных производствах, страховки на поясе (правда, мы смотрим только на карабин пока), светоотражающих жилетов, респираторов, шапочек для волос и других СИЗ. Сейчас система обучена распознавать 20 типов СИЗов.
  • Можно точно считать людей на объекте и учитывать, когда и сколько их было.
  • Можно подавать тревогу при заходе человека в опасную зону, причём эта зона может настраиваться по факту запуска-остановки станков.

И так далее. Самый простой пример — цветовая дифференциация укладчиков кирпичей и заливщиков бетона по цвету каски. Для помощи роботу. В конце концов, жить в обществе с отсутствием цветовой дифференциации, значит не иметь цели.
Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии44

Общение внутри компании — работа каждого

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


Продуманная стратегия внутреннего общения — основа высокой продуктивности коллектива


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

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

Джеймс Хартер и Эми Адкинс из Института Гэллапа в статье для Harvard Business Review пишут: «Часто общение составляет основу здоровых отношений, включая таковые между работником и руководителем. [Постоянное общение] — лично, по телефону или в электронном виде — связано с более высоким уровнем вовлеченности». А чем выше вовлеченность, тем лучше прибыли. В Институте недавно выяснили, что компании с высокой вовлеченностью сотрудников по дивидендам на акцию опережают конкурентов на 147%.

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

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

Julia. Веб-сервисы

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


Продолжаем рассматривать технологии Julia. И сегодня речь пойдёт о пакетах, предназначенных для построения веб-сервисов. Не секрет, что основная ниша языка Julia — высокопроизводительные вычисления. Поэтому, довольно логичным шагом является непосредственное создание веб-сервисов, способных выполнять эти вычисления по запросу. Безусловно, веб-сервисы — не единственный способ коммуникации в сетевой среде. Но, поскольку, именно они сейчас наиболее широко используются в распределённых системах, то рассмотрим именно создание сервисов, обслуживающих HTTP-запросы.


Отметим, что в силу молодости Julia, имеется набор конкурирующих пакетов. Поэтому попробуем разобраться как и для чего их использовать. Попутно сравним реализации одного и того же JSON-веб-сервиса с их помощью.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

AI-интерфейсы и где они обитают

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

Недавно мы написали на Хабр колонку о том, как выпустили собственную онлайн-игрушку. Одной из фишек, над которой мы серьезно заморочились, стала AI-генерация аватарок для своего персонажа «на лету» по фотографии (пока работает в прототипе и частью игры не является). При этом технология сама по себе интересна и может быть применима далеко не только у нас. Как обещали, рассказываем про неё подробнее и даем пощупать прототип вживую!


Под катом также можно найти: почему сделали выбор в пользу нетипичной системы обучения ИИ — без разметки данных, и почему считаем это научной инновацией; наши факапы при создании AI-аватаров, которые не нужно повторять; как и где сегодня используется Domain Adaptation.


image
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии8

3 Амиго — способ коммуникации, для создания качественного продукта

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

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


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


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



Вы также наверняка знакомы со спорами на тему "баг это или фича". Клиенты обнаружили недоработки, и product owner приходит в команду с замечаниями. А тестировщик с разработчиком защищаются, объясняя это тем, что в изначальной постановке и речи не было о реализации этой фичи. И такие моменты потом заводятся в backlog.


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

Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии1

Создаём датчик контроля качества воздуха на InfluxDB, Grafana, Docker и Raspberry Pi

Время на прочтение9 мин
Количество просмотров21K
Когда-нибудь думали о мониторинге качества воздуха в доме или за его пределами: там, где живёте и работаете? Этот проект, который мы окрестили balenaSense, представляет собой установку для снятия показаний температуры, влажности, барометрического давления и качества воздуха, а также панель мониторинга, к которой вы можете получить доступ из любого места, чтобы увидеть сводную статистику и отслеживать тенденции.


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

Медицина перебирается в веб, чаты и мобильные приложения. Разговор с BestDoctor

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

Есть странное слово «телемедицина», и у меня оно ассоциируется только с сеансами Кашпировского по телевизору и заряжанием воды от экрана. На самом деле это просто термин для технологий, которые могут сделать медицину удаленной.

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

А пока медтех стартапы занимаются вещами относительно попроще. Например, делают сервисы для консультаций и записей в клиники. BestDoctor — наши сегодняшние собеседники — предлагает такой сервис компаниям взамен классического ДМС. О том, что это такое, насколько трудно разрабатывать медицинский продукт и нанимать на него людей, нам рассказали CTO Филипп Кузнецов и HR Полина Русакова.

Традиционно расскажем об оценке компании на «Моём круге»: BestDoctor попал в наш рейтинг лучших работодателей в IT (в категории small-компаний) со средней оценкой 4,6. Сотрудники ценят его за отличные отношения в коллективе, простор для профессионального роста и за современность используемых технологий, но выше всего — за то, что BestDoctor делает мир лучше.
Всего голосов 21: ↑20 и ↓1+19
Комментарии9

Grid или Flexbox?

Время на прочтение8 мин
Количество просмотров50K
Мишель Баркер, автор материала, перевод которого мы сегодня публикуем, говорит, что недавнее обсуждение в Twitter, начатое Крисом Койером, заставило её задуматься о том, как веб-разработчики делают выбор между технологиями CSS Grid Layout и CSS Flexbox Layout при разработке макетов.



Крис Койер в своём твите задал аудитории вопрос о том, как те, кто знает о том, что такое Grid и Flexbox, предпочитают объяснять разницу между этими технологиями.

Среди ответов на этот вопрос, что, по словам Мишель, вполне ожидаемо, можно было отметить ценные идеи Рэйчел Эндрю и Джен Симмонс.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии6

Подборка: 5 полезных сервисов для написания статей на английском

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


Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контента. Надеюсь, список поможет изучающим английский и тем, кто публикует англоязычные материалы на Хабре.
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии29

WebRTC и видеонаблюдение: как мы победили задержку видео с камер

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

С первых дней работы над системой облачного видеонаблюдения мы столкнулись с проблемой, без решения которой на Ivideon можно было ставить крест – это был наш Эверест, восхождение на который отняло уйму сил, но сейчас мы, наконец-то, воткнули ледоруб в макушку кроссплатформенного ребуса.

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

Весьма значимо, что пользователь хочет смотреть видео с минимальной задержкой. Практически единственная возможность показать видео с низкой задержкой в браузере – использовать WebRTC (web real-time communications). WebRTC представляет собой набор технологий для peer-to-peer передачи видео и звука в браузерах, изначально рассчитанный на передачу и воспроизведение видеопотока с низкой задержкой. Для этого, помимо прочего, используется протокол UDP.

Прежде, чем рассказать вам, что даёт пользователю новый движок, мы напомним, зачем и почему поддерживаем HLS-технологии, и ради чего решили двигаться дальше.
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Тольятти, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность