Pull to refresh
4
Karma
0
Rating
Александр Фокин @alexander_fokin

Android Developer

  • Followers 2
  • Following 1
  • Posts
  • Comments

Гугл финанс перестал транслировать данные российских акций — что делать? (UPD: починили)

ProgrammingData MiningAPIGoogle APIFinance in IT
Tutorial

С 5 июня 2021 года сайт гугла, и самое главное гугл таблицы - перестали отдавать данные с Московской биржи. 

При попытке получить любые котировки с префиксом MCX, например для Сбербанка, формулой из гугл таблиц =GOOGLEFINANCE("MCX:SBER") теперь всегда возвращается результат #N/A.

А при поиске любой российской бумаги на сайте Google находятся любые рынки, кроме Московской биржи.

В этой статье я рассказываю как получать в гугл таблицу биржевые данные с помощью API Московской биржи.

Google Finance давай, до свидания!
Total votes 23: ↑22 and ↓1+21
Views13K
Comments 22

Винный гид России. Аналитика

Data MiningOpen data

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

Надеюсь, моя статья будет интересна любителям вина. Особенно российского.

Месяц назад Роскачество презентовало очередной выпуск ежегодника "Винный гид России". Он посвящен (внезапно!) российским винам. Но не всем, а лишь находящимся в ценовом сегменте до ±1000 рублей и широко представленным в обычных продуктовых сетях. В общем, винные снобы могут сразу пройти мимо, речь пойдет о самом что ни на есть масс-маркете.

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

1. Какова картина в целом? Большинство вин откровенно плохи? Или наоборот прекрасны?

2. Не хочу запоминать и искать конкретные вина. Какие винодельни стабильно показывают достойное качество?

3. Как цена влияет на качество? Есть ли разница между вином за 150 рублей и за 500? А за 500 vs 1000?

Но раз есть сайт с данными, значит их можно спарсить и ответить на все свои вопросы самостоятельно.

Так что все те, кому интересен мир российского вина, и кто не воротит нос при фразе "вино дешевле 1000 за бутылку", добро пожаловать под кат!

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

Читать далее
Total votes 32: ↑29 and ↓3+26
Views9.5K
Comments 50

Нужно ли стартапу в 2021 выдавать опционы сотрудникам? Разбираем что это и как оформить

Icon Partners corporate blogStart-up developmentProduct ManagementFinance in IT
Recovery mode

В 21 веке, где ни одного программиста не удивишь теннисным столом, PS5 и ящиком снеков в офисе, нужно задумываться о новых способах мотивации. Ни один стартап не может позволить себе конкурировать с зарплатами талантливых сотрудников, в том числе программистов, гигантов технологического рынка. Чтобы заинтересовать сотрудника в свой проект, чтобы он также как и владелец переживал за развитие компании — нужно делиться. Делиться временем. Делиться хорошим вознаграждением за проделанную работу. И делиться акциями или правильнее «опционами на акции». За время и деньги все понятно. С опционами разберемся.


image

Читать дальше →
Total votes 2: ↑2 and ↓0+2
Views4K
Comments 3

Отображение текста в Android

red_mad_robot corporate blogDevelopment of mobile applicationsDevelopment for Android

Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в работе с текстом приходится задумываться о реализации различных дизайнерских решений или улучшении производительности при отрисовке экрана.


Я расскажу об устройстве TextView и некоторых тонкостях работы с ним. Основные советы были взяты из докладов прошедших Google I/O.

Читать дальше →
Total votes 41: ↑41 and ↓0+41
Views25K
Comments 8

Свойства против методов

ProgrammingJavaPerfect codeDesigning and refactoringKotlin


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

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Views4.9K
Comments 4

Атопический дерматит (нейродермит): что сломалось и как лечить

Гельтек-Медика corporate blogBiotechnologiesHealth
image
Одно из возможных проявлений атопического дерматита

Знаете, чему учат студентов-медиков, когда они в первый раз попадают на курацию по кожно-венерологическим заболеваниям? Правильно общаться с пациентом и корректно его осматривать. Типичный студент, увидевший кожу с неприглядными корочками или покраснениями, сразу отодвигается на полтора метра и делает круглые глаза. А потом чуть ли не палочкой пытается тыкать в пациента, стараясь не приближаться. Людей это расстраивает, особенно с учётом того, что большинство пациентов там вовсе не болеет чем-то страшным и заразным.

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

  1. Базовая причина связана с генетическими дефектами, которые мы пока не можем чинить, несмотря на все успехи генотерапии.
  2. Есть куча непонятных факторов, которые могут запускать этот процесс.

В итоге можно попытаться загнать заболевание в постоянную ремиссию. Сегодня мы поговорим:

  1. Что это за патология, с которой сталкивается около 20 % людей.
  2. Что ломается в организме у атопиков.
  3. Как это связано с аллергией.
  4. Что лучше мазать на кожу.
  5. Почему антидепрессанты могут сильно помочь.

Под катом будет несколько фотографий повреждённой кожи, но не ужас-ужас, как вы и просили.
Читать дальше →
Total votes 96: ↑91 and ↓5+86
Views54K
Comments 149

Заповеди тимлида Авито

Авито corporate blogDevelopment ManagementPersonnel Management

Мы уже публиковали свои внутренние документы с ожиданиями от инженеров и менеджеров продукта в плейбуке на Гитхабе. Пришло время поделиться ещё одним — кодексом тимлида.


Читать дальше →
Total votes 80: ↑79 and ↓1+78
Views19K
Comments 33

Поддержание аккуратной истории в Git с помощью интерактивного rebase

Флант corporate blogProgrammingGit
Translation

Interactive rebase — один из самых универсальных инструментов Git'а. В этой статье от автора Git-клиента Tower рассказывается, как корректировать сообщения при коммитах и исправлять свои ошибки.

Читать далее
Total votes 55: ↑54 and ↓1+53
Views16K
Comments 44

Как безболезненно мигрировать с RxJava на Kotlin Coroutines+Flow

SimbirSoft corporate blogDevelopment of mobile applicationsDevelopment for Android
Для выполнения асинхронных операций в Android-приложениях, где нужна загрузка и обработка любых данных, долгое время использовали RxJava — и о том, как перейти на RxJava 3, мы уже писали в нашем блоге. Сейчас на смену фреймворку постепенно приходят инструменты Kotlin — Coroutines+Flow. Актуальность этой связки подтверждается тем, что Google сделал Kotlin приоритетным языком для Android-разработки. 

Корутины позволяют тратить меньше системных ресурсов, чем RxJava. Кроме того, поскольку они являются частью Kotlin, Android предоставляет удобные инструменты для работы с ними — например, viewModelScope и lifecycleScope. В этой статье мы рассмотрим use cases, распространенные в Rx Java, и то, какие возможности вы получите при переходе на Flow.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Views7.1K
Comments 2

Кастомный ItemDecoration для RecyclerView

Development of mobile applicationsDevelopment for Android
Translation
Tutorial

Как-то раз мне нужно было создать собственный ItemDecoration, и я обнаружил, что в Интернете. почти нет ответов на этот вопрос. Надеюсь, что эта стать будет кому-нибудь полезна.

Читать далее
Total votes 5: ↑5 and ↓0+5
Views2.5K
Comments 2

Mathematics Driven Design: размеры и отступы

Web designWebsite developmentInterfacesMobile applications designGraphic design

Здравствуйте, меня зовут Дмитрий Карловский и я… дизайнер. Дизайнер от слова design (проектирование), а не от слова style (дизайн). Я разрабатываю высокоуровневый фреймворк $mol. Одна из основных концепций которого — Лего. То есть это набор очень маленьких кирпичиков с простым и универсальным интерфейсом коммуникации. Комбинируя эти кирпичики в разных комбинациях можно строить приложения любой сложности.


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


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



Далее я расскажу, почему всё именно так, и никак иначе...

Читать дальше →
Total votes 18: ↑8 and ↓10-2
Views3.5K
Comments 20

Kotlin Android Extensions deprecated. Что делать? Инструкция по миграции

Development for Android
Возможно, вы уже слышали, что Kotlin Android Extensions — плагин для Kotlin теперь deprecated.
kotlinx.android.synthetic is no longer a recommended practice. Removing in favour of explicit findViewById

Безусловно, это было очень удобно, особенно если у вас проект полностью на Kotlin. Однако, мир меняется и теперь нужно искать альтернативы. В этой статье мы кратко рассмотрим, что такое плагин Kotlin Android Extension, какие были проблемы с ним и что теперь нам, Android-разработчикам делать. Частично, использовался материал этой статьи. Итак, поехали.
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Views13K
Comments 10

История одного pet-проекта

Конференции Олега Бунина (Онтико) corporate blogDevelopment of mobile applicationsMobile applications monetizationMobile App AnalyticsConferences
Если помните, в детстве были такие книжки, где ты читаешь, а в конце есть вариант развилки — пойти направо или налево, убить кого-то или помиловать. В зависимости от вашего выбора в книжке было написано: «Перейдите на такую-то страницу и на такую-то строчку». У Александра Зимина появилась идея для pet-проекта – сделать маркетплейс с дизайном Netflix или онлайн-кинотеатров и где было бы много таких игр.

Александр учился в Высшей Школе Экономики на факультете ФКН и руководил встречами CocoaHeads, пока не уехал из России. Участвовал в разных европейских и американских стартапах, но в то же время успел поработать и full-time в лондонском Badoo. Сейчас Александр участвует в проектах в доле. В своем докладе на конференции App Live 2019 Александр рассказал о том, что помогло ему сделать проект прибыльным, и какой путь он прошёл для этого. Его рассказ — от идеи до результата, — мы расшифровали и публикуем сегодня.


Читать дальше →
Total votes 41: ↑39 and ↓2+37
Views7.9K
Comments 1

Автоматический Code Improvement при коммите в Android Studio

Development for Android
Sandbox

Работать с гитом в Android Studio, как известно, можно двумя способами.


Первый способ классический — использовать консоль. Плюсом такого подхода являются в первую очередь надежность. GUI может залагать и например, зависнуть на этапе rebase так, что abort/continue/переключение на другую ветку не поможет. Консольные команды вам в помощь, они всегда безотказны.


Второй способ — использовать GUI, предоставляемый Android Studio. Плюсы очевидны — меньший порог входа, более понятно, что вообще можно делать. А также есть различные плюшки от самой студии для удобства работы с гитом. Об одном из них и пойдет речь. Кстати, используя GUI, тоже можно оставлять в покое мышку и использовать hotkey

Читать дальше →
Total votes 3: ↑3 and ↓0+3
Views965
Comments 0

Как спроектировать пошаговое заполнение данных в мобильном приложении

Surf corporate blogProgrammingDevelopment of mobile applicationsDevelopment for Android
Привет! Меня зовут Вита Соколова, я Android Team Lead в Surf.

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

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


Читать дальше →
Total votes 8: ↑8 and ↓0+8
Views3.9K
Comments 5

«Холодный» запуск Android-приложения

Development for Android
Translation
Всем приветъ! Давно ничего не писал.

Это будет серия постов о процессе «холодного» запуска Android приложения, с момента нажатия на иконку и до создания процесса приложения.

image
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Views5.6K
Comments 2

За двумя мобильными сервисами: HMS и GMS в одном приложении

Кошелёк corporate blogDevelopment for Android


Привет, Хабр! Меня зовут Андрей, я делаю приложение «Кошелёк» для Android. Уже больше полугода мы помогаем пользователям смартфонов Huawei оплачивать покупки банковскими картами бесконтактно — через NFC. Для этого нам потребовалось добавить поддержку HMS: Push Kit, Map Kit и Safety Detect. Под катом я расскажу, какие проблемы нам пришлось решать при разработке, почему именно так и что из этого вышло, а также поделюсь тестовым проектом для более быстрого погружения в тему.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Views3.4K
Comments 2

Как устроен Push Kit от Huawei

Huawei corporate blogDevelopment of mobile applicationsDevelopment for AndroidDevelopment for e-commerceMobile App Analytics

Привет, Хабр! В мае прошлого года, оставшись без сервисов и API гугла, мы основательно взялись за работы над своей платформой Huawei Mobile Services. Это наш давний проект, к которому мы вернулись после введения американских санкций. Проблема «отрезанных» сервисов постепенно сошла на нет. Мы добавили недостающие компоненты: почтовый клиент, свои карты и другие сервисы и HMS Core — набор API, SDK и прочих сервисов для разработки и улучшения приложений. В этот набор входит Push Kit — облачная служба для рассылки уведомлений — и не только. Под катом расскажем, как устроен этот инструмент, чем выделяется и как его можно использовать.

Читать далее
Total votes 12: ↑11 and ↓1+10
Views7.5K
Comments 12

Kotlin. Автоматизация тестирования (часть 1). Kotest: Начало

Мир Plat.Form (НСПК) corporate blogIT systems testingWeb services testingKotlin
Sandbox
Tutorial

Kotlin. Автоматизация тестирования (часть 1). Kotest: Начало


Kotest


Хочу поделиться опытом создания системы автоматизации функционального тестирования на языке на Kotlin.
Основой для создания / конфигурирования / запуска / контроля выполнения тестов — будет набирающий популярность молодой фреймворк Kotest (в прошлом Kotlin Test).
Проанализировав все популярные варианты для Kotlin — выяснилось, что есть всего два "нативных":



Либо бесконечное кол-во из Java мира: Junit4/5, TestNG, Cucumber JVM или другие BDD фреймворки.
Выбора пал на Kotest с бОльшим кол-вом "лайков" на GitHub, чем у Spek.


Руководств по автоматизации тестирования на Kotlin, особенно в сочетании с Kotest — немного.
Думаю, что написать цикл статей про Kotest, а также про организацию проекта авто-тестов, сборку, запуск и сопутствующие технологии — хорошая идея.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Views5.7K
Comments 4

Превращаем EditText в SearchEditText

Development for Android
image

Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям отдельно взятой задачи. Одним из способов решения этой проблемы является написание собственного «кастомного» SearchView, чем мы сегодня и займемся. Поехали!

Примечание: создаваемое view (далее – SearchEditText), не будет обладать всеми свойствами стандартного SearchView. В случае необходимости, вы можете без труда добавить дополнительные опции под конкретные нужды.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Views2.4K
Comments 2

Information

Rating
Does not participate
Location
Томск, Томская обл., Россия
Date of birth
Registered
Activity