1. Cтарый набор со 160 иконками в формате PNG перестает обновляться.
2. Ему на замену приходят новые эмодзипаки: РАЗ и ДВА. 400 эмодзи в высоком разрешении. Первый набор про мобильную разработку, второй про техсферу в целом.
Если грузить эмодзи в форматах PNG или WEBP качество будет страдать. Чтобы это исправить, в телеге придумали собственный формат TGS для анимированных стикеров и эмодзи (по сути переупакованный плагином SVG). Грузим статику под видом анимации и на выходе получаем уже не стыдный материал. Также у телеги обнаружилось ограничение на 200 эмодзи в одном паке, поэтому теперь их два.
Новинки:
Apple:
Microsoft:
Производители техники:
Клепатели смартфонов:
Игровые студии:
Крипта и эквайринг:
Языки:
IDE-шки:
#emoji@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
У эмодзипака появился свой сайт! Работает во всех браузерах
Так как сделано все на коленке за два вечера, могут наблюдаться тормоза с отображением на мобилках. Первый раз иконки грузятся поочередно, потом из кэша.
Главная фича – возможность кликнуть на эмодзи и получить название продукта. Например, тебе не понятно, что за голубой хомчик
michaelbel.github.io/MobileDevEmoji
#emoji@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Настроить айфон
В день, когда эппл насыпет нам новых яблочек, поделюсь настройками iOS, которые улучшают мой пользовательский опыт.
Настройки → Звуки и вибрация → Отклик клавиатуры → Тактильные сигналы →🐗
Поразительно, что такая великолепная вещь как виброотклик клавы при наборе текста появилась в iOS только в 2022 году! Я когда перешел с андроида, недоумевал как можно без этой штуки печатать текст.
Настройки → Универсальный доступ → Касание → Тактильное касание → Быстро
Лонгтап во всей системе станет быстрым. Наша жизнь ускоряется, нет сил ждать целую секунду пока интерфейс одумается.
Настройки → Экран и яркость → Поднятие для активации →🐗
Экран будет включаться, когда берешь айфон в руки. Если можно не делать лишний тап по экрану - я его не делаю.
Настройки → Камера → Уровень →🐗
Горизонт на фоточках будет ровным.
Настройки → AirPods → Подкл. к этому iPhone → Последнее подключение к iPhone
Наушники не будут подключаться к айфону автоматически. Особенно полезно, когда смотришь кинцо на маке через наушники, потом на айфоне полез послушать кружок в телеге и эйрподсы не начинают скакать тудым-сюдым. Правда потом меня начинает бесить, что эйрподсы не подключаются к айфону автоматически. Нужен третий вариант для таких как я.
Настройки → Звуки и вибрация → Безопасность наушников → Громкость аудио тише →🐗
Хочется, чтобы во время тренировки музыка наваливала погромче. А эппл со своей гиперзаботой не мешал.
Настройки → App Store → Оценки и отзывы →🐗
Больше ни одно приложение не будет клянчить себе оценку в сторе.
В день, когда эппл насыпет нам новых яблочек, поделюсь настройками iOS, которые улучшают мой пользовательский опыт.
Настройки → Звуки и вибрация → Отклик клавиатуры → Тактильные сигналы →
Поразительно, что такая великолепная вещь как виброотклик клавы при наборе текста появилась в iOS только в 2022 году! Я когда перешел с андроида, недоумевал как можно без этой штуки печатать текст.
Настройки → Универсальный доступ → Касание → Тактильное касание → Быстро
Лонгтап во всей системе станет быстрым. Наша жизнь ускоряется, нет сил ждать целую секунду пока интерфейс одумается.
Настройки → Экран и яркость → Поднятие для активации →
Экран будет включаться, когда берешь айфон в руки. Если можно не делать лишний тап по экрану - я его не делаю.
Настройки → Камера → Уровень →
Горизонт на фоточках будет ровным.
Настройки → AirPods → Подкл. к этому iPhone → Последнее подключение к iPhone
Наушники не будут подключаться к айфону автоматически. Особенно полезно, когда смотришь кинцо на маке через наушники, потом на айфоне полез послушать кружок в телеге и эйрподсы не начинают скакать тудым-сюдым. Правда потом меня начинает бесить, что эйрподсы не подключаются к айфону автоматически. Нужен третий вариант для таких как я.
Настройки → Звуки и вибрация → Безопасность наушников → Громкость аудио тише →
Хочется, чтобы во время тренировки музыка наваливала погромче. А эппл со своей гиперзаботой не мешал.
Настройки → App Store → Оценки и отзывы →
Больше ни одно приложение не будет клянчить себе оценку в сторе.
Please open Telegram to view this post
VIEW IN TELEGRAM
• Список вложенных страниц переместился наверх.
• Добавились вопросы с собесов в те разделы, где их не было.
• Алгоритмическая секция переехала в отдельный раздел.
Добавлен роадмап тимлида.
Как себя вести на лайвкодинге?
Добавлены новые задачи на лайвкодинг.
Добавлены решения для существующих задач на лайвкодинг.
Временная и пространственная сложность.
О-Нотация.
Оптимизация алгоритма.
Структуры данных.
Бинарный поиск.
Бинарное дерево.
Красно-черное дерево.
Подробное описание решения 13 задач с литкода:
• Строки: Longest Common Prefix, Roman to Integer, Valid Anagram, Reverse String.
• Массивы: Two Sum.
• Связные списки: Linked List Cycle, Merge Two Sorted Lists, Reverse Linked List.
• Математические задачи: Palindrome Number.
• Манипуляция с битами: Single Number.
• Бинарный поиск: Sqrt(x).
• Префиксные суммы: Running Sum of 1d Array.
• Стек: Valid Parentheses.
Channels переехали на отдельную страницу.
Описание Rendezvous, Buffered и Conflated channels. Операторы send, receive, offer, poll.
Kotlin Contracts.
Оператор ::.
Делегаты: observable, vetoable и map.
Дженерики: star-projection.
Логические битовые операции: and, or, xor.
Битовые методы: inv, countOneBits, countLeadingZeroBits, countTrailingZeroBits, takeHighestOneBit, takeLowestOneBit, rotateLeft, rotateRight.
Локальные функции.
Data Class: сопоставление с образом.
Coroutines: Жизненный цикл Job и описание методов: start, join, cancel, cancelAndJoin, isActive, isCancelled, isCompleted, invokeOnCompletion.
Boxing и Unboxing примитивов в обертки.
Object: описание методов wait, notify, notifyAll.
ReentrantLock.
HashMap: сложность операций.
Функция mutableStateListOf.
Снапшоты: SnapshotStateList, Snapshot, snapshotFlow.
UI Components: полный список всех Compose-компонентов.
Отдельная страничка для Fragment.
Описание всех видов Drawable.
Как сделать обмен данных между Activity и Service.
Зачем нужен Choreographer.
Как работает Bundle в транзакциях.
Подробно про метод onMeasure у View.
Network: SSL pinning.
Build: Компоненты APK, структура, как уменьшить размер, как взломать. Zygote. Doze Mode, различия miSdk, compileSdk и targetSdk.
XML-теги <merge> и <include>.
LayoutInflater.
Явный и неявный BroadcastReceiver.
Обновилась страничка про ViewBinding.
Инструкция: отключение отображения имен параметров в коде.
Команды поделены на разделы: настройка, работа с репозиторием, работа с ветками, работа с удаленным репозиторием, история и отмена изменений, работа с тегами, продвинутые команды.
Подробное описание файла .gitignore: расположение, формат, настройка для android-проекта.
Список библиотек и приложений разделен на android и kotlin-multiplatform.
#roadmap@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Как делать сайт на Kotlin + Compose
С какими проблемами придется столкнуться. И как их решать.
Обо всем этом в небольшом посте с картинками, видосиками и кусками кода.
🐗 Читать на Boosty
#emoji
С какими проблемами придется столкнуться. И как их решать.
Обо всем этом в небольшом посте с картинками, видосиками и кусками кода.
#emoji
Please open Telegram to view this post
VIEW IN TELEGRAM
200 НОВЫХ ИКОНОК
Новинки:
и другие.
НАБОР 1 • НАБОР 2 • САЙТ
#emoji@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
• В блоке «вопросы на собесе» добавились вопросы с вариантами ответа, чтобы нас запутать (+ правильный ответ). Также добавились новые вопросы и лаконичные ответы на них.
• Ускорилась загрузка страниц за счет оптимизации картинок.
Новая страница – Скрининг от HR c вопросиками про прошлый опыт и будущую работу.
Пополнился список ключевых навыков для резюме.
Решение 10 задач с литкода:
• Строки: Find the Index of the First Occurrence in a String, Length of Last Word, Valid Palindrome.
• Массивы: Remove Duplicates from Sorted Array, Remove Element, How Many Numbers Are Smaller Than the Current Number, Sum of Unique Elements, Merge Sorted Array.
• Связные списки: Remove Duplicates from Sorted List.
• Бинарный поиск: Search Insert Position.
Обновлено описание Sequences: отличие от коллекций, методы asSequence, map, filter, generateSequence.
Обновлено описание Coroutine Dispatchers, CoroutineName, билдеров launch и async, функций runCatching и runBlocking, suspend и Continuation.
Функция suspendCoroutine.
Синхронизация в корутинах, класс Mutex.
Обновлено описание метода collect у Flow.
Обновлено описание inline-функций и reified.
Обновлено описание sealed class.
Ограничения у Extension Functions.
Подробнее про методы data-класса.
Обновлено описание аннотаций @JvmStatic, @JvmOverloads, @JvmField и @JvmInline.
Добавлено описание аннотаций @JvmName, @JvmSynthetic и @JvmDefault.
GC: Reference Counting.
ThreadPool: FixedThreadPool, CachedThreadPool, SingleThreadExecutor, ScheduledThreadPool.
Что такое String Pool.
Инфа про алгоритмическую сложность операций доступа/вставки/удаления элементов в ArrayList и LinkedList.
Операторы управления потоками: doOnNext, doOnComplete, doOnError, doAfterTerminate, doOnDispose.
Операторы трансформации: just, fromIterable, filter, skip, skipLast, take, takeLast, concat, combineLatest, join, onErrorResumeNext, onErrorReturnItem, retry, retryWhen, delay, debounce, scan.
Обновлен раздел про ООП - теперь с примерами кода: class, abstract class, interface, наследование, композиция, агрегация.
Обновлено описание принципов SOLID.
Что такое сигнатура метода.
Как работает UDF.
Reducer и Middleware в MVI.
Приоритеты процессов в Android.
Аннотации для потоков @MainThread, @UiThread и @WorkerThread.
View: методы invalidate, postInvalidate, requestLayout, forceLayout, onLayout.
MotionLayout.
ViewStub.
WebView.
Сервисы: Bound, IBinder, onBind, onUnbind.
Activity: ActivityManager и его методы, taskAffinity, OnBackPressedDispatcher, TaskStackBuilder, Launch Modes.
Фрагменты: методы add и replace.
AsyncLayoutInflater и параметр attachToRoot.
Обновлен раздел про Hilt: Scopes, ленивая инициализация через Lazy и Provider, аннотации @Named, @Qualifier, @IntoSet, @IntoMap, @Subcomponent, @Binds и @Provides.
Adaptive Layouts: BoxWithConstraints, NavigationSuiteScaffold, ListDetailPaneScaffold, SupportingPaneScaffold, NavigableListDetailPaneScaffold.
Обновлен раздел про рекомпозицию и жизненный цикл Composable-функций.
Обновлено описание SideEffects.
BackHandler.
#roadmap@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Стал ли я умнее? Отнюдь.
Перестал понимать математику, когда там появились буквы. На парах хоть и сидел на первой парте, но больше был озабочен сколько шариков из бумаги мы с корешем успеем накидать преподу под ноги пока не спалимся. Поэтому операции инкремента, декремента и остатка от деления изучались на рабочем проекте.
Задачи на алгосы редко спрашивают на собеседованиях. Чаще дают лайв-кодинг а-ля джун накостылял и ушел в отпуск - разбирайся. Но спрашивают. Например, в Озоне, Авито и Сбере. Попутно с собесами начал готовиться. Каждый день по задаче уровня изи. Первые откровения:
• Алгоритмы работают со структурами данных: массив, связный список, стек, очередь, хэш-таблица, дерево, граф, куча и др. Логичнее сначала минимально разобраться в их устройстве. Например, в связном списке элементы хранят ссылку на следующий/предыдущий элементы. А в очереди элементы добавляются в конец и удаляются из начала.
• Вычислительная сложность алгоритмов может быть временной и пространственной. Как она считают – до сих пор без понятия. Для этого целые курсы придуманы.
• Чтобы упростить себе жизнь, для вычисления сложности придумали О-Нотацию. Я на начальной стадии ее понимания.
• Также алгоритмы можно оптимизировать - находить баланс между временной и пространственной сложностью, так как улучшение одного показателя ухудшает другой.
В категории изи на литкоде в первой сотне преобладают задачи на массивы, связные списки и деревья. Вопреки ожиданию, "вертеть деревья" оказалось весьма просто: поиск минимальной глубины дерева, определение сбалансированности. Моя любимая категория теперь.
Непосредственно о собесах: если мне сейчас дать поискать самый длинный палиндром в строке, только зря потрачу время интервьюера. Но со второго раза мой велосипед поедет. Проблема в том, что время не бесконечное, как и количество вакансий на рынке. Поэтому работающая рекомендация: сделать минимальный предтрен ChatGPT (язык, код с комментами, воды поменьше, оплаченный лимит) и быстрыми ручками скормить ему скриншот алгоритмической задачи из яндекс кода или куда направят на интервью. Только не копируй условие, а делай скриншот.
Если времени на выявление общих закономерностей и структур больше: плейлист тренировка по алгоритмам яндекса, курс основы алгоритмов, курс подготовка к алгоритмическому собеседованию.
Увидимся через месяц
#leetcode@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
• Теперь для всех 682 вопросов в блоке Вопросы на собесе доступны правильные ответы.
Решение 20 задач с литкода:
• Строки: Add Binary.
• Массивы: Plus One, Pascal's Triangle, Pascal's Triangle II, Best Time to Buy and Sell Stock, Majority Element.
• Связные списки: Intersection of Two Linked Lists.
• Математика: Climbing Stairs, Excel Sheet Column Title, Excel Sheet Column Number.
• Манипуляции с битами: Reverse Bits.
• Деревья: Binary Tree Inorder Traversal, Same Tree, Symmetric Tree, Maximum Depth of Binary Tree, Convert Sorted Array to Binary Search Tree, Balanced Binary Tree, Minimum Depth of Binary Tree, Path Sum, Binary Tree Preorder Traversal, Binary Tree Postorder Traversal.
Новый раздел.
Упорядочены текущие задачи.
Добавлены 2 новые задачи.
Упорядочены текущие задачи.
Добавлено 14 новых задач.
Добавлена 1 новая задача.
Отдельная страница для Object.
Отдельная страница для атомарных классов: AtomicInteger, AtomicLong, AtomicBoolean, AtomicReference, AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray, AtomicMarkableReference, AtomicStampedReference.
Виды клонирования.
ReadWriteLock.
CountDownLatch.
CyclicBarrier.
Обновлено описание коллекций: Set, HashSet, LinkedHashSet, TreeSet, SortedSet, NavigableSet.
Функции высшего порядка.
Анонимные функции.
Coroutines: joinAll, yield, ensureActive, limitedParallelism.
Flow: chunked.
Scope: takeIf, takeUnless, repeat, todo, this, it.
Улучшено описание null safety, if, varargs, lateinit, const, var, val, get, set, tilerec, do, while, for, break, continue.
Обновлена страница Object: data object, companion object, анонимные объекты, объектные выражения.
Добавлены операторы для коллекций.
Переехал в отдельный раздел.
Обновлено описание Intent: Intent Resolution, Intent Filters, мутабельный и иммутабельный PendingIntent.
Отдельная страница для RecyclerView.
Добавился контент про тестирование.
Network: REST, Header, Body, Path, Query, Get, Post, Put, Patch, Delete.
Архитектура: DRY, KISS, YAGNI, Trunk Based Development.
BroadcastReceiver: системные типы.
Activity: isFinishing.
Новая страница Media3.
Отдельная страница для CompositionLocal.
Описание Layout.
Отдельный раздел.
Добавлено 7 Android-библиотек.
Добавлено 6 KMP-библиотек.
#roadmap@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Первая статья про собеседования на мобильного Android-разрабатывателя в 2024 году.
Месяц назад вышел на рынок. Прошел собеседования в 29 компаний. Везде просил полную удаленку, печеньки и минимальную зарплату 400 000₽. Что из этого получилось, ожидания от рынка, что хотел, где искал, процесс, личная статистика, экономическая картина и предварительные выводы в статье:
Please open Telegram to view this post
VIEW IN TELEGRAM
Вторая статья про Android-собеседования. А именно про этап hr-скрининга.
Статистика, описание формата, все вопросы которые спрашивают, что хотят услышать в ответ и какие вопросы можно задать самому.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from IT менторы - отзывы на офферы
Результаты конкурса + новый конкурс
1 место @SergeyFilichkin
2 место @QAconqueror
3 место @michaelbel
(больше никто вопросов не закинул, хотя была возможность бесплатно оказаться на 4 и 5 месте или получить 50usdt. Они возвращаются в общий пул аукциона менторов)
Конкурс на следующий месяц:
Репост моих видео на ютубе себе в каналы телеграма
Можно репостнуть пост из ОМ целиком. Можно написать свой текст и опубликовать его, вставив ссылку на видео. Если вам удастся разместить ссылку на видео в чужом крупном канале и вы сможете это подтвердить, мы засчитаем эти голоса.
Результат будет подсчитываться сложением счетчика просмотров телеграмма. Например:
1. Репост одного видео — 4395 просмотров
2. Репост трёх видео — в сумме всех репостов 4028 просмотров
Победил канал под №1
5 победителей по большему количеству просмотров получают на выбор что-то одно:
- место в топе таблицы менторов
- 50 usdt (5к рублей)
- подписку Волчара на сообщество на полгода
За Анонсами видео следите в телеграм канале Осознанная меркантильность
1 место @SergeyFilichkin
2 место @QAconqueror
3 место @michaelbel
(больше никто вопросов не закинул, хотя была возможность бесплатно оказаться на 4 и 5 месте или получить 50usdt. Они возвращаются в общий пул аукциона менторов)
Конкурс на следующий месяц:
Репост моих видео на ютубе себе в каналы телеграма
Можно репостнуть пост из ОМ целиком. Можно написать свой текст и опубликовать его, вставив ссылку на видео. Если вам удастся разместить ссылку на видео в чужом крупном канале и вы сможете это подтвердить, мы засчитаем эти голоса.
Результат будет подсчитываться сложением счетчика просмотров телеграмма. Например:
1. Репост одного видео — 4395 просмотров
2. Репост трёх видео — в сумме всех репостов 4028 просмотров
Победил канал под №1
5 победителей по большему количеству просмотров получают на выбор что-то одно:
- место в топе таблицы менторов
- 50 usdt (5к рублей)
- подписку Волчара на сообщество на полгода
За Анонсами видео следите в телеграм канале Осознанная меркантильность
IT менторы - отзывы на офферы
Результаты конкурса + новый конкурс 1 место @SergeyFilichkin 2 место @QAconqueror 3 место @michaelbel (больше никто вопросов не закинул, хотя была возможность бесплатно оказаться на 4 и 5 месте или получить 50usdt. Они возвращаются в общий пул аукциона менторов)…
Please open Telegram to view this post
VIEW IN TELEGRAM