Pull to refresh
9
0
Денис @KamiSempai

Android/iOS Разработчик

Send message

Как натянуть сову на глобус: разбираем, как децентрализованный стейблкоин DAI может защитить ваши деньги

Reading time11 min
Views21K

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

Читать далее
Total votes 45: ↑42 and ↓3+39
Comments20

Иностранные хостеры с возможностью оплаты из России

Reading time4 min
Views91K

Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. В последнее время мне в обратную связь начало поступать очень много вопросов, каким образом можно оплачивать зарубежный хостинг, так как Visa и MasterCard Российских банков перестали работать не в России.

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

Сразу хочу предупредить, что SWIFT-перевод будет идти несколько дней, за отправку платежа ваш банк может брать комиссию, плюс по дороге что-то могут "откусить" банки-посредники, однако чаще всего это будут незначительные суммы. Однозначным плюсом в этом случае является отсутствие конвертации: если у вас на счету есть доллары, то вы можете отправить платеж прямо в этой валюте, и получатель получит тоже доллары.

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

Читать далее
Total votes 52: ↑52 and ↓0+52
Comments75

Реактивные приложения с паттерном RxPM. Прощайте​ MVP и MVVM

Reading time12 min
Views40K

Уже продолжительное время я размышляю над паттерном RxPM и даже успешно применяю его в «продакшене». Я планировал сначала выступить с этой темой на Mobius, но программный комитет отказал, поэтому публикую статью сейчас, чтобы поделиться с Android-сообществом своим видением нового паттерна.


Все знакомы с MVP и MVVM, но мало кто знает, что MVVM является логическим развитием паттерна Presentation Model. Ведь единственное отличие MVVM от PM – это автоматическое связывание данных (databinding).


В этой статье речь пойдет о паттерне Presentation Model с реактивной реализацией биндинга. Некоторые ошибочно называют его RxMVVM, но корректно будет называть его RxPM, потому что это модификация шаблона Presentation Model.


Этот паттерн удобно использовать в проектах с Rx, так как он позволяет сделать приложение по-настоящему реактивным. Кроме того, он не имеет многих проблем других паттернов. На диаграмме ниже представлены различные варианты и классификации шаблонов представления:



Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments42

«Студийные» приложения Netflix на Android и iOS теперь с Kotlin Multiplatform

Reading time4 min
Views4.3K
Примечание от переводчика: при словах «мобильные приложения Netflix» вспоминаются их основные приложения для просмотра видеоконтента, но компания ведёт и «киностудийную» разработку — для тех, кто этот контент создаёт. И их пост посвящён использованию Kotlin Multiplatform во втором случае.

В последние годы Netflix разрабатывает сервис Prodicle для индустрии производства телесериалов и фильмов. Мир съёмок живёт на высоких скоростях, а его запросы существенно различаются в разных странах, регионах и даже проектах. Его специфика означает, что мы делаем софт с упором на запись, в распределённом окружении, причём на съёмочной площадке интернет-соединение окажется очень надёжным менее чем в трети случаев, а право на ошибку у нас ограничено. Поэтому мы, будучи маленькой инженерной командой, обнаружили, что оптимизация надёжности и скорости выпуска продукта просто необходима нам, чтобы успешно отвечать растущим запросам наших клиентов.


Поскольку сетевое соединение часто оказывается ненадёжным, мы обратились к мобильным решениям для персистентности на клиентской стороне и поддержки офлайна. А потребность выпускать быстро привела к экспериментам с мультиплатформенной архитектурой. И теперь мы зашли тут ещё на шаг дальше, использовав Kotlin Multiplatform, чтобы писать платформонезависимую бизнес-логику один раз на Kotlin и компилировать её в Kotlin-библиотеку для Android и нативный Universal Framework для iOS с помощью Kotlin/Native.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments0

На какие языки переводить свою игру в 2019

Reading time7 min
Views16K


«Игра хорошая, но без русского языка ставлю единицу» – частый отзывов в любом сторе. Учить английский, конечно, хорошо, но может помочь и локализация. Перевел статью, на какие языки ориентироваться, что переводить и стоимости локализации.

Сразу ключевые тезисы:

  • План-минимум перевода: описание, ключевые слова + скриншоты.
  • Топ 10 языков для перевода игры (если она уже на английском): французский, итальянский, немецкий, европейский, испанский, упрощенный китайский, бразильский португальский, русский, японский, корейский, турецкий.
  • Наибольший трехлетний рост показали турецкий, малайзийский, хинди, упрощенный китайский, тайский и польский языки (по данным LocalizeDirect).
  • Перевод на языки FIGS+ZH+ZH+PT+RU – «новый черный» в локализации.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments18

Управление текстом и локализация в веб-приложении

Reading time4 min
Views2.9K

Доброго времени суток, хабравчане!


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



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

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments12

Модели акторов 40 лет

Reading time9 min
Views21K
Высоконагруженные системы, построенные по модели акторов – это тренд сегодняшнего времени. Вот далеко неполный перечень статей на хабре, в которых, в той или иной степени, упоминается данная модель или одна из ее реализаций, например,1, 2, 3, 3, 4, 5, 6, 7. Есть хорошая статья в википедии, рассказывающая про акторы. К сожалению, после ее прочтения, у меня осталось много вопросов, ответы на которые я смог найти только в первоисточниках. Результаты этого обзора я и хочу представить Вашему вниманию.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments20

Приложение для iOS и Android на Kotlin + Flutter UI

Reading time5 min
Views38K
image

Вступление


Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Kotlin знаком давно, а со Swift особого опыта не было и хотелось получить большую часть кода общего для обеих платформ. Следовательно, сразу встал вопрос, а как писать UI для iOS. Быстрый взгляд на рынок подсказал, что есть Flutter, который позволяет писать UI для двух платформ одновременно. Собственно, так и началась эта история.

В статье описан опыт сборки Flutter в качестве UI и Kotlin для основной логики. Важно: под катом много картинок и инструкция, как собрать проект
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments21

Ошибки начинающего менеджера проекта

Reading time4 min
Views8.3K

Приветствую Вас, читатели habr.com!


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

Читать далее.
Total votes 23: ↑18 and ↓5+13
Comments4

Nmap. Начало использования

Reading time5 min
Views402K
image
Вы когда-нибудь интересовались откуда атакующий знает какие порты открыты в системе? Или как узнать, какие приложения запущены на сервере, не спрашивая об этом администратора? Вы можете сделать все это и даже больше вместе с небольшим инструментом под названием Nmap.

Читать дальше →
Total votes 144: ↑103 and ↓41+62
Comments71

Курс MIT «Безопасность компьютерных систем». Лекция 21: «Отслеживание данных», часть 2

Reading time14 min
Views4.5K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3
Лекция 18: «Частный просмотр интернета» Часть 1 / Часть 2 / Часть 3
Лекция 19: «Анонимные сети» Часть 1 / Часть 2 / Часть 3
Лекция 20: «Безопасность мобильных телефонов» Часть 1 / Часть 2 / Часть 3
Лекция 21: «Отслеживание данных» Часть 1 / Часть 2 / Часть 3
Total votes 13: ↑13 and ↓0+13
Comments1

Material Design: Shape – советы по улучшению GUI приложения Android (и не только) с помощью изменения форм элементов

Reading time9 min
Views15K


От переводчика


Здравствуйте. Этот перевод я делаю потому как сам недавно начал разбираться с Shape в Android, решил пошарить по material.io, и нашел там этот сборник советов по использованию. Мне он показался интересным, полезным, и познавательным, поэтому я решил поделиться им с российским сегментом разработчиков мобильных приложений.

Мне кажется что эта тема достаточно важная, ведь использование разных форм для элементов интерфейса делает приложение интереснее, и может быть даже серьезнее.

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

Надеюсь что вы сможете извлечь пользу из прочитанного, и возможно улучшить качество своих приложений.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments1

Как уйти на пенсию до 40 лет с миллионом долларов на счету в банке

Reading time10 min
Views240K

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




Карл Дженсен испытал то, что он называет «пробуждением», примерно в 2012-м году.

Он работал программистом в пригороде Денвера, писал код для медицинского оборудования. Работа была напряжённой: ему приходилось документировать каждый шаг для Управления по санитарному надзору за качеством пищевых продуктов и медикаментов США (FDA), а ошибка в коде могла навредить или даже убить пациента.

Дженсен зарабатывал порядка $110 000 в год, у него был определённый соцпакет, но, казалось, что всё это не окупает стресса. Он не мог расслабиться с семьёй после работы; бывало, что целые дни он проводил, обнимаясь с унитазом. Он похудел на 5 кг.

После одного особенно брутального рабочего дня, Дженсен погуглил вопрос «как мне рано уйти на пенсию?», и глаза его открылись. Он посовещался с женой и составил план: в следующие пять лет они экономили значительную часть доходов, серьёзно урезали расходы, пока не собрали порядка $1,2 млн.

Во вторник 10 марта 2017 года Дженсен позвонил своему боссу и предупредил об увольнении после 15 лет работы в компании. Однако он не увольнялся, а уходил на пенсию. Ему было 43.
Читать дальше →
Total votes 124: ↑91 and ↓33+58
Comments643

Как управлять командой и собой: 15 книг для менеджера проекта

Reading time3 min
Views23K
image

Преподаватели курса Project management in IT — менеджеры из «МегаФона», OneTwoTrip, Redmadrobot составили список книг на лето, которые пригодятся каждому проджекту. Узнайте, зачем современному менеджеру древний военный трактат, что общего между котами и разработчиками и где ошибались CEO General Motors и Zappos.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments7

Два раза в одну реку или (Не)много о профессиональном выгорании

Reading time17 min
Views103K
Саббатикал — это оплачиваемый или частично оплачиваемый длительный отпуск продолжительностью от трёх месяцев до года (и более) с гарантированным сохранением места за сотрудником.

— Саш, очевидно, работа не приносит тебе удовольствия, — Слава проговаривал бесспорные вещи. Четвертую неделю вместо работы я мчался на очередной детский турнир по футболу. Когда у тебя трое детей, можно 120% своего времени занять их увлечениями. — У меня есть к тебе предложение. Давай отправим тебя в отпуск на год? Я за это время закрою собой бизнес. Доходы, по-прежнему, пополам. Потом ты вернешься с новыми силами, и, может быть, я на год в отпуск схожу.

Честно говоря, я недолго думал над этим предложением. От работы реально подташнивало, и перспектива на год избавиться от этого источника тошноты манила как никогда раньше. Мы ударили по рукам.
Читать дальше →
Total votes 138: ↑132 and ↓6+126
Comments156

Domain-Driven Design: стратегическое проектирование. Часть 1

Reading time14 min
Views105K


Здравствуйте, хабрапользователи! В этой статье речь пойдет о предметно-ориентированном проектировании программного обеспечения с использованием, в первую очередь, стратегических шаблонов. Вторую часть – про тактическое проектирование – читайте здесь.

Данный подход использовал Вон Вернон в своей книге «Реализация методов предметно-ориентированного проектирования». Цель написания этой книги: дать возможность разработчикам совершить полет на самолете DDD (в детстве автор зачастую путешествовал со своей семьей на небольших самолетах). Вид с высоты дает более широкое представление о проблемах моделирования, не давая застрять в различных технических деталях. Наблюдая ландшафт DDD таким способом, можно осознать преимущества как стратегического, так и технического проектирования. Подробнее – под катом!
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments64

Договоры — это как отладка

Reading time7 min
Views29K
7.2. Как форс-мажор указана забастовка в отрасли и регионе, это лучше вычеркнуть, т.к. неясно, в какой отрасли и в каком регионе.

Чтобы быть плохим юристом, не надо обладать специальными навыками: достаточно здравого смысла, чтобы разбираться в документах. Чтобы быть приемлемым юристом — ещё нужна хорошая память для того, чтобы помнить, что и где в нормативах и прецедентах. А чтобы быть отличным — ещё иметь огромную практику и нездоровое чувство юмора. Хотя последнее необязательно, конечно.

Каждый наш договор страхует юрист-отладчик, который как брекпоинтами размечает точки рисков. Сейчас покажу пару примеров того, что он видит и чувствует.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments91

Библиотека для совершения покупок внутри приложений (Android In-App Billing v.3)

Reading time3 min
Views34K

Checkout («касса», «кассовый аппарат») — это библиотека для совершения покупок внутри приложений на базе Android In-App Billing v.3. Основная цель — уменьшить время разработчика, затрачиваемое на внедрение платежей в Андроид приложения. Проект был вдохновлён библиотекой Volley, и проектировался для того, чтобы быть максимально простым в использовании, быстрым и гибким.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments22

Как сделать хороший ролик для App Store и Google Play

Reading time8 min
Views15K


Видео — это мощное средство для продвижения вашего приложения, и с выходом iOS 11 его роль становится ещё важнее. Мы в Alconost сформулировали рекомендации, которых следует придерживаться при создании видео для iOS App Store и Google Play Store. Между двумя указанными сторами есть важные отличия, о которых вам следует знать, чтобы увеличить отдачу от использования видео. Мы расскажем, как сделать ролик для страницы приложения в App Store с учётом всех новшеств iOS 11 и чем отличаются ролики для Google Play.
Total votes 10: ↑10 and ↓0+10
Comments2

Легкая работа со списками — RendererRecyclerViewAdapter (часть 2)

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

Сегодня мы разберем:

  • как можно упростить поддержку DiffUtil в этой реализации;
  • как добавить поддержку вложенных RecyclerView.

Если прошлая статья тебе пришлась по душе, думаю, понравится и эта.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity