Pull to refresh
16
0
Анна @xbitstream

Программистка, архитекторка, ахахахка

Send message

Как создавать анимации в Jetpack Compose

Reading time25 min
Views20K

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

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

Как россиянину получить ВНЖ в Армении?

Reading time5 min
Views116K

Продолжение рассказов из Армении. Для начала какой смысл вообще получать ВНЖ в Армении, ведь гражданин РФ может находиться там в течение 180 дней без необходимости пересечения границы? Однако все не так просто, смысл есть. Начиная с 24 февраля 2022 года, довольно внушительное количество западных банков перестали открывать счета россиянам или приостановили сотрудничество по текущем счетам. К санкциям против граждан РФ также присоединились всевозможные платежные системы, брокеры, крипто-биржи, фриланс площадки и так далее. В большинстве случаев от россиянина требуют сменить место жительства, и в качестве подтверждения требуют вид на жительства иностранного государства.

Если в истории с банками Армении из предыдущего поста, возникают все большие сложности при открытии счета, то процесс получения ВНЖ в Армении и его варианты можно смело назвать доступными. Это, конечно же не история, когда можно сделать ВНЖ дистанционно, не вылезая из дома, но в сравнении с той-же Грузией, Сербией, Турцией и Кипром, мне показалось проще и по процедуре и по шансам на одобрение.

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

Читать далее
Total votes 51: ↑48 and ↓3+45
Comments25

Как получить гражданство Армении (армянский паспорт) россиянину в 2023 году?

Reading time9 min
Views77K

В Российской Федерации существует стереотип со времен СССР, который можно выразить известным изречением: «Курица не птица, Болгария не заграница». Этим выражением россияне ошибочно оценивают уровень развития стран бывшего соцлагеря и бывшего СССР. Однако время идет вперед, в условиях конкуренции и независимости многие страны значительно преуспели в стабильном развитии при сохранении хороших отношений со всем миром. Многие столицы бывших советских республик Ереван, Тбилиси, Баку превратились в современные мегаполисы органично сочетающие последние достижения урбанизации с первозданной природной.

Читать далее
Total votes 27: ↑14 and ↓13+1
Comments30

[Личный опыт] Жизнь в Швеции: полное благополучие, тесты на IQ и тысячи вакансий в IT

Reading time7 min
Views88K

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

Читать далее
Total votes 66: ↑55 and ↓11+44
Comments253

Крепостное право в ИТ

Reading time7 min
Views160K

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

Крепостными становятся, обычно, ИТ-специалисты, работающие в штате клиентов. Соответственно, это ИТ-директора, программисты (обычно 1С) и сисадмины. Есть ли такое в ИТ-компаниях – не знаю, тут интересно вас послушать.

Кратко напишу, что это за дичь.

Читать далее
Total votes 226: ↑190 and ↓36+154
Comments319

Культ сокобана

Reading time8 min
Views15K

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

Читать далее
Total votes 50: ↑49 and ↓1+48
Comments34

Чествуем игривое волшебство Джона Хортона Конвея

Reading time5 min
Views4.5K

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

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

Кодогенерация DTO: зачем она нужна и как её настроить

Reading time12 min
Views19K
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси экспериментальную кнопку с двумя свойствами — надписью на кнопке и ориентировочным временем ожидания такси. Тогда в сетевом слое надо написать примерно такую DTO-модель:

struct OrderButtonExperimentDTO: Decodable {
   let buttonTitle: String
   let estimationMinute: Int
}

Правильно написанная модель позволяет разрабатывать разные слои приложения независимо — но нужно следить за актуальностью самой модели на каждом слое. Например, если в коде выше ожидалось не estimationMinute, а estimationMinutes, то клиент не сможет декодировать полученные из сети данные и пользователь не увидит время ожидания. Такую ошибку легко совершить, в n-й раз перепечатывая названия переменных под каждый слой — а разработчики и правда должны рутинно это делать при любом изменении (или расширении) исходного формата данных. Ещё сложнее заметить ошибку на код-ревью.

Поэтому мы решили добавить механизм, который сам бы составлял и переписывал код моделей DTO в зависимости от исходного формата.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments6

Лучшие оптические иллюзии 2021 года

Reading time3 min
Views22K

В сериале «Доктор Хаус» (Сезон 6, серия 3) есть эпизод, где он лечит соседа Уилсона, вредного ветерана, от фантомных болей в ампутированной руке при помощи картонной коробки и зеркала. Есть даже специальный вид терапии: Mirror therapy, изобретенная Вилейануром Рамачандраном (тут реальное видео из реальной терапии).

Японские экспериментаторы Yutaro Sato, Kento Imai и Kenri Kodaka из Nagoya City University пошли дальше. Эксперимент очень прост и каждый может повторить его дома. Теперь у вас есть возможность обмануть свой мозг и испытать на своей шкуре, каково быть человеком-резиной.

Испытуемый кладет руку так, что она закрывается зеркалом и глаза видят только «лизуна» (резиновую слизь). То есть как бы мы подменяем реальную руку другим объектом, а потом подключаем сенсорные ощущения. Экспериментатор пощипывает реальную руку и одновременно пощипывает слизь в том месте, где глаза видят эту слизь вместо настоящей руки. Потом он немного оттягивает реальную кожу на реальной руке, а резиновую слизь тянет и тянет далего за пределы тянучести реальной руки и мозг верещит от необычности происходящего, но потом привыкает.

Оптическая иллюзия «Slime Hand» заняла 7-е место на всемирном конкурсе оптических иллюзий Best Illusion of The Year Contest. Под катом — остальные призёры.

Канал в телеграм Cognitive Illusions, от которого зависнет не только ваш комп/смартфон, но и разум.
Читать дальше →
Total votes 73: ↑67 and ↓6+61
Comments50

Какой контент поможет быстро протестировать объемный звук — обсуждаем сцены из широко известных фильмов

Reading time4 min
Views5.8K

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

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

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments23

Как определить C и C++-программистов по коду, который они пишут

Reading time4 min
Views39K

Так уж случилось, что я пишу код для разных IoT-железок, связанных с электричеством, типа зарядных станций автомобилей. Поскольку аппаратных ресурсов, как правило, вполне достаточно, то основным фокусом является не экономия каждого байта и такта процессора, а понятный и надежный код. Поэтому в проекте разрабатывают под Embedded Linux и в качестве основного языка используют C++ в его современном варианте - C++17, активно поглядывая на фичи из стандарта 20-го года и новее.

Иногда запускаются новые проекты на той же платформе, с теми же процессами и с переиспользованием многих уже существующих компонентов, и тогда в эти проекты мы ищем программистов, с учетом вышесказанного - программистов на C++. В embedded, тем не менее, чистый C все еще очень популярен, и нередко собеседоваться на вакансию C++ Developer'а приходят именно сишники. Логика у человека простая: языки, на первый взгляд, довольно близкие, базовый синтаксис одинаков, про ООП кандидат что-то слышал, и значит, основная база уже есть и он сможет легко освоить C++ за 21 день в процессе работы, поэтому можно наплести про "с C++ тоже работал", начать писать на "Си с классами" и все получится.

Но нет, не получится.
Total votes 110: ↑86 and ↓24+62
Comments404

Где сядешь — там и слезешь. Тенденциозные вопросы программистам и их последствия

Reading time4 min
Views15K

Когда будут устранены все проблемы в программе?

Как нам удалось это сделать?

Когда ты уже сделаешь задачу?

Вы будете на нас тренироваться?

Почему программа постоянно тормозит?

Когда вы начнёте нормально работать?

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

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

Читать далее
Total votes 42: ↑36 and ↓6+30
Comments21

Tuist: Xcode-проект на стероидах

Reading time9 min
Views16K


Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках.


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


Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается.


Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments8

10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить

Reading time4 min
Views25K

Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.

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

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

Погнали!
Total votes 23: ↑18 and ↓5+13
Comments5

Память в Swift от 0 до 1

Reading time10 min
Views78K

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

Читать далее
Total votes 25: ↑24 and ↓1+23
Comments16

Миграция с LiveData на Kotlin’s Flow

Reading time10 min
Views22K

LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный для Android. Он был простым, чтобы облегчить начало работы, а для более сложных случаев реактивных потоков рекомендовалось использовать RxJava, используя преимущества интеграции между ними.

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

Причины массового обжорства SSD на Macbook с процессорами M1

Reading time3 min
Views64K

Мир сошел с ума. Где только не писали о проблеме повышенного аппетита на ресурс SSD-накопителей у новых моделей Macbook Air и Macbook Pro с процессорами M1. Тема обсуждалась на всех популярных технических форумах. И несмотря на массовость проблемы, все обсуждения сводились к тому, что Apple не считает это проблемой. А значит и проблемы нет. И в какую дичь люди готовы поверить для самоуспокоения вместо того, чтобы взглянуть в лицо фактам и выяснить причины стремительного выработки ресурса несъёмного SSD-накопителя.

Читать далее
Total votes 93: ↑82 and ↓11+71
Comments73

Все английские времена в одной простой схеме

Reading time3 min
Views219K

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

Как это часто бывает, по-настоящему понимаешь какую-то тему, только когда начинаешь рассказывать о ней другим («метод Фейнмана»). Несколько друзей, позавидовав моим «успехам», попросили помочь разобраться с английским. Тут и обнаружилось, что хотя я уже успешно использую английский в повседневной работе, обучать ему кого-то ещё — это совершенно отдельный навык.

Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

Читать далее
Total votes 69: ↑66 and ↓3+63
Comments130

Практическое использование автогенерации музыки

Reading time2 min
Views3.9K

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

В данной статье описывается реализация авто-аккомпанимента для аккордовых прогрессий.

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

Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor

Reading time8 min
Views24K
Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется поговорить про расширения редактора и рассказать про один из моих проектов, который я решил выложить в OpenSource.

Юнити — прекрасный инструмент, но в нём есть небольшая проблема. Новичку, чтобы сделать простую комнату (коробку с окнами), необходимо либо осваивать 3д моделирование, либо пытаться что-то собрать из квадов. Недавно стал полностью бесплатным ProBuilder, но это так же упрощённый пакет 3д моделирования. Хотелось простой инструмент, который позволит быстро создавать окружения вроде комнат со окнами и правильными UV при этом. Достаточно давно я разработал один плагин для Unity, который позволяет быстро прототипировать окружения вроде квартир и комнат с помощью 2д чертежа, и сейчас решил выложить его в OpenSource. На его примере мы разберём, каким образом можно расширять редактор и какие инструменты для этого существуют. Если вам интересно – добро пожаловать под кат. Ссылка на проект в конце, как всегда, прилагается.


Total votes 20: ↑20 and ↓0+20
Comments2

Information

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

Specialization

Mobile Application Developer, Software Architect
Lead
From 6,000 $
SWIFT
Kotlin
Designing application architecture
Development management