Все разработчики мобильных приложений сталкивались с проблемой точности времени. Часто для ее решения прибегают к различным методам, например, получают время с собственного сервера. Однако, существует гораздо более простой и удобный способ — использование NTP (Network Time Protocol). В этой статье мы разберемся, что такое NTP, как он может быть полезен для мобильных разработчиков, какие библиотеки существуют для работы с ним и в каких кейсах его использование особенно актуально.
Android developer в author.today
Обход блокировок на OpenWRT с помощью v2rayA (xray-core) и баз GeoIP, Geosite Antifilter
В данном гайде будем устанавливать пакет v2rayA на OpenWRT на примере стабильной 23.05.0. Рекомендуется роутер минимум с 128 МБ RAM (256 предпочтительно) и памятью более 16 Мб (установка занимает около 30МБ памяти)
v2rayA — это простой в использовании и мощный клиент ориентированный на Linux. Несмотря на название актуальная версия использует xray-core, хотя есть возможность использовать и v2ray-core. Имеет веб-интерфейс для управления настройками и импорта конфигураций, подписок. Поддерживает всё, что поддерживает xray-core:
Shadowsocks (в т.ч. 2022), ShadowsocksR, Trojan, Vless (включая XTLS-Reality), Vmess, Juicity, Tuic
Руководство будет включать:
1. Установку из репозитория
2. Настройку v2rayA и обход блокировок с помощью Antifilter GeoIP, Geosite
Стартап-визы и визы удаленных работников: актуальное на сегодня
Если вы в свете недавних событий окончательно приняли решение эмигрировать, то возможно мой опыт поможет в этом. Я получал стартап-визы в три страны - Италию, Францию, Испанию, так что считаю, что немного понимаю в теме и имею моральное право дополнять ссылки на официальные требования своим субъективным кратким обзором-мнением. Надеюсь это будет полезно.
Я собрал актуальные на сегодня, варианты разных стран: стартап-виз, и виз удаленных работников. Программ на самом деле в десять раз больше, я просто хотел осветить спектр возможностей. И прежде всего нужно сказать спасибо пандемии, которая демаргинализировала удаленную работу. В конце статьи я позволил себе немного порассуждать и поделиться наблюдениями по теме.
Важно: я не визовый помогала и я строго за то, что иммиграционные процессы нужно проходить самостоятельно.
Наверное важно упомянуть, что я пишу именно про получение резиденции в странах (или начале пути к ней), а не просто физическом пребывании в качестве туриста на птичьих правах. Это довольно очевидный факт, но его почему-то не все рассматривают. А без ВНЖ зачастую сложно получать госмедстраховку, визы в другие страны на месте (!), отдавать детей в школу и др.
?? Италия: Стартап-виза, получал в 2018. Официальная информация: Italia Startup Visa. Программа была приостановлена в 2021, но в январе возобновили прием заявок. Дедлайн 17 марта. Шансы получить - 80-90%. В ближайшие дни я подробно напишу про наш процесс, выложу заявку, переписку с комитетом стартап-визы и тд. Писал подробно об этом год назад:
Перейти с Linux на macOS и не сойти с ума
Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.
Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.
Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.
Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.
Единая точка выхода в web, I2P, TOR и обход блокировок
Преамбула… Даная статья была написана ещё летом но, по независящим от автора причинам, немножко подзадержалась...
Однажды, жарким летним вечером, после очередной введённой в консоли браузера команды вида :set content.proxy socks://localhost:9050
, автор сего опуса понял, что дальше так жить нельзя и пора приводить выход во всякие скрытосети, а заодно и обход блокировок имени известной организации к какому-то единому, для любого софта вообще и браузера в частности, «общему знаменателю». А как приводить? Разумеется так, чтобы прокси сервер сам «понимал», через какой вышестоящий прокси отправлять и принимать трафик в зависимости от введённого адреса. Вторая цель, вытекающая из первой, вышестоящие прокси могут работать либо как http, либо как socks и оба протокола должны поддерживаться входным прокси. Ну и сам софт должен быть более менее актуальным, что б в случае ошибок или «хотения фич», не приходилось грустно смотреть на одинокую репу на гитхабе, а то и вообще на каком-нибудь сорсфорже.
Итак цели поставлены!
Легкая работа со сложными алертами. Или история создания Balerter
Все любят алерты.
Конечно, гораздо лучше получить уведомление когда что-то произошло (или починилось), чем сидеть, смотреть на графики и искать аномалии.
И инструментов для для этого создано немало. Alertmanager из экосистемы Prometheus и vmalert из группы продуктов VictoriaMetrics. Уведомления zabbix и алерты в Grafana. Самописные скрипты на bash и Telegram боты, которые периодически дергают какой-то URL и говорят, если что-то не так. Много всего.
Мы, в нашей компании, тоже использовали разные решения, пока не уперлись в сложность, или, скорее, невозможность создания сложных, составных алертов. Чего нам хотелось и что в итоге сделали - под катом. TLDR: Так появился open source проект Balerter.
20 инструментов Android-разработчика, о которых вы могли не знать
Набор полезных, но не очень известных инструментов и библиотек Android.
Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь!
Энергопотребление Android-приложений
Ваши пользователи жалуются на то, что приложение очень быстро сажает заряд телефона? Запущенный фоновый сервис внезапно останавливается? Сообщения от FCM не доходят до пользователя? Что связывает эти три серьезных вопроса? Ответ прост — неверно выстроенная работа с энергопотреблением приложения.
Давайте разберемся в основных моментах, связанных с этой темой. Возможно, это позволит вам в будущем избежать ошибок, с которыми сталкивалось большинство разработчиков мобильных приложений.
В интернете огромное количество разрозненной информации, собрать которую в единое общее руководство было одной из основных целей этой статьи.
Что такое Полный геном и зачем он нужен
Внимание! Мы подарим Полный геном одному из наших читателей, кто выполнит все задания. Подробнее — в конце статьи.
Архитектура MVVM в мобильных приложениях на Flutter
Я начала изучать Flutter и недавно потратила целый день пытаясь внедрить архитектуру Model-View-ViewModel в свое приложение на Flutter. Обычно я пишу под Андроид на Java, MVVM реализую с помощью AndroidViewModel и LiveData/MutableLiveData. То есть опыт программирования и применения паттерна есть, приложение — простой таймер. Так что ничто не предвещало столь больших временных затрат на простую задачу.
Поиски статей и инструкций по MVVM во Flutter (без использования RxDart) дали один пример причем без ссылки на полный исходник, так что хочу немного облегчить для интересующихся изучение этого паттерна во Flutter.
Полное руководство по правильному использованию анимации в UX
The ultimate guide to proper use of animation in UX автора Taras Skytskyi.
В настоящее время трудно впечатлить или даже удивить анимацией интерфейса. Она показывает взаимодействие между экранами, объясняет, как использовать приложение или просто направляет внимание пользователя. Изучая статьи об анимации, я узнал, что почти все они описывают только конкретные варианты использования или общие факты об анимации, но я не сталкивался с какой-либо статьей, где все правила, касающиеся анимации интерфейсов, были бы четко и практически описаны. Но, в этой статье я не буду писать ничего нового, я просто хочу собрать все основные принципы и правила в одном месте, так что другим дизайнерам, которые хотят запускать анимированные интерфейсы, не нужно было искать дополнительную информацию.
Визуализация комментариев на ютубе: ролики, каналы, жанры, кросс-жанры
25 занимательных Android библиотек. Весна 2018
Технический долг и места его обитания
Эта статья — вольный пересказ доклада, который я посетил на конференции GOTO Berlin 2017: A Crystal Ball to Prioritize Technical Debt.
Изображения из доклада и права на них принадлежат автору @AdamTornhill.
Каждый разработчик в принципе понимает, что такое технический долг. Что в его проекте этот долг наверняка присутствует. Если повезет, он вспомнит несколько кусков кода, которые давно просятся быть переписанными.
Но как формализовать понятие технического долга, чтобы объяснить его другим? И, тем более, объяснить это менеджеру так, чтобы получить одобрение на рефакторинг? Как найти все места в проекте, которые нужно по-хорошему переписать, и как определить, какие из них должны быть переписаны в первую очередь?
Если эти вопросы неоднократно у вас возникали, прошу под кат.
Создание архитектуры программы или как проектировать табуретку
К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».
Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.
Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Что если добавить немного магии в рабочий процесс?
В качестве предисловия
Ты сидишь перед монитором, разбираешь утреннюю почту, и вдруг воздух вокруг начинает дрожать.
— Что происходит?!
Все резко темнеет, и несколько долгих мгновений ничего не видно и не слышно. Только собственный стук сердца. В следующий миг свет возвращается…
— Где я? Что это за место?
Начав говорить, твое внимание привлекает человек в робе с капюшоном, надвинутым на глаза.
— Приветствую, %UserName%, ты в оплоте магов! Мы знаем, что ты способен пользоваться Источником Силы. Я расскажу тебе о нем. Источник содержит пять Сил — Земля, Воздух, Вода, Огонь и Дух. Земля олицетворяет устойчивость, Воздух — свободу, Вода — изменение, Огонь — мощь, Дух — дисциплину. В большинстве случаев для выполнения необходимого действия вполне достаточно какой-либо одной части из пяти. Так потоки Огня позволяют зажечь свечу и контролировать горение пламени. Но более сложные задачи требуют плетения потоков из большего числа Сил. Для примера, тому, кто захотел бы воздействовать на погоду, потребовалось бы сплести одновременно потоки Воздуха, Воды и Духа. Но для того, чтобы начать обучение, тебе придётся пройти испытание...
Eclipse как технологическая платформа для 1C:Enterprise Development Tools
В данной статье, обзорной по своему характеру, мы попробуем рассмотреть некоторые основы архитектуры Eclipse как платформы для построения интегрированных средств разработки и дать начальное представление о компонентах Eclipse, образующих фундамент технологической платформы для «нового Конфигуратора» 1C: Предприятие, 1C:Enterprise Development Tools. Разумеется, такое рассмотрение неизбежно будет во многом поверхностным и довольно ограниченным, в том числе и потому, что мы ориентируемся не только на Eclipse-разработчиков в качестве целевой аудитории. Впрочем, надеемся, что даже опытные разработчики Eclipse смогут найти в статье интересную для себя информацию. Например, мы расскажем об одном из «секретов Eclipse», относительно новом и малоизвестном пока проекте Eclipse Handly, который был основан и поддерживается фирмой 1C.
Шаблоны проектирования с человеческим лицом
Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.
Как сказано в Википедии:
В программной инженерии шаблон проектирования приложений — это многократно применяемое решение регулярно возникающей проблемы в рамках определённого контекста архитектуры приложения. Шаблон — это не законченное архитектурное решение, которое можно напрямую преобразовать в исходный или машинный код. Это описание подхода к решению проблемы, который можно применять в разных ситуациях.
Будьте осторожны
- Шаблоны проектирования — не «серебряная пуля».
- Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
- Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.
В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Кроме того, внедряется поддержка других языков.
Влияние ambient-музыки на процесс написания кода
Человек работающий и музыка
Влияние музыки на все живое вообще и на человека в частности на данный момент изучено достаточно хорошо. Давно известно, что классические произведения помогают людям успокоиться и снять стресс, а энергичная музыка разных жанров может улучшить результаты вашей спортивной тренировки.
Существует большое количество научных работ на эту тему, особенно в сфере медицины и психологии (применение музыки в лечении больных, влияние музыки на различные органы человека и т.п.). Конечно, ко многим исследованиям стоит относиться скептически, так как есть опасность уйти в лженауку, но и авторитетных трудов на эту тему более чем достаточно.
На том же Хабре есть масса отличных статей о том, как музыка влияет на рабочий климат офиса, на концентрацию работника и т.п. Но данный материал немного о другом.
90+ бесплатных ресурсов для самостоятельного обучения онлайн
Хочу поделиться списком полезных образовательных ресурсов, среди которых каждый найдет для себя что-то интересное и новое. Главное рассмотрим в начале — IT и иностранные языки. А следом будет подборка сервисов и ютуб-каналов, связанных с наукой, образованием в целом, бизнесом и творчеством.
Information
- Rating
- 3,435-th
- Location
- Брянск, Брянская обл., Россия
- Date of birth
- Registered
- Activity