Please open Telegram to view this post
VIEW IN TELEGRAM
Морской волк
Джун попадает в токсичную компанию.
Постигает азы работы в команде.
Заканчивает проект лидом.
Хочу продать тебе идею почитать немного столетней беллетристики. Еще не писал рецензии на творения поп-культуры. Начнем с этой книги Джека Лондона, о которой я узнал из статьи про волчистость. Вольная интерпретация в трех строчках – выше, переусложненная как полагается – ниже. Без спойлеров.
1893 год. Литературный критик Хэмфри Ван-Вейден отправляется на пароме через залив и терпит кораблекрушение. Из воды его волею случая спасает капитан промысловой шхуны, которого все на борту зовут Волк Ларсен. Ни дня в жизни не работавший руками 35-летний Ван-Вейден обнаруживает себя среди разношерстной команды и становится заложником жестокой воли ее капитана. Ларсен, презирающий сибаритский образ жизни, назначает спасенного юнгой и забирает с собой в плавание. Уже в новой для себя роли Ван-Вейден вынужден отправиться к берегам Японии бить морских котиков и учиться «стоять на своих ногах».
Как рыба живет в воде, так любое произведение – в контексте. В данном случае внутри общественной мысли конца XIX – начала XX века в западной культуре. В эпоху модернизма были популярны идеи объяснить устройство общества действиями законов живой природы и биологическими концепциями естественного отбора. Выживает наиболее приспособленный к экономике. В этой модели харизматичный Волк Ларсен – ницшеанский сверхчеловек. Превосходит людей как те обезьян. Не считается с правилами и законами, самостоятельно определяет свою судьбу. Бросает вызов обществу на пути к своим целям. Его антипод – человек посредственный, стремящийся к комфорту и безопасности. Столкновение этих двух противоречивых образов и будет конвой романа.
Джун попадает в токсичную компанию.
Постигает азы работы в команде.
Заканчивает проект лидом.
Хочу продать тебе идею почитать немного столетней беллетристики. Еще не писал рецензии на творения поп-культуры. Начнем с этой книги Джека Лондона, о которой я узнал из статьи про волчистость. Вольная интерпретация в трех строчках – выше, переусложненная как полагается – ниже. Без спойлеров.
1893 год. Литературный критик Хэмфри Ван-Вейден отправляется на пароме через залив и терпит кораблекрушение. Из воды его волею случая спасает капитан промысловой шхуны, которого все на борту зовут Волк Ларсен. Ни дня в жизни не работавший руками 35-летний Ван-Вейден обнаруживает себя среди разношерстной команды и становится заложником жестокой воли ее капитана. Ларсен, презирающий сибаритский образ жизни, назначает спасенного юнгой и забирает с собой в плавание. Уже в новой для себя роли Ван-Вейден вынужден отправиться к берегам Японии бить морских котиков и учиться «стоять на своих ногах».
Как рыба живет в воде, так любое произведение – в контексте. В данном случае внутри общественной мысли конца XIX – начала XX века в западной культуре. В эпоху модернизма были популярны идеи объяснить устройство общества действиями законов живой природы и биологическими концепциями естественного отбора. Выживает наиболее приспособленный к экономике. В этой модели харизматичный Волк Ларсен – ницшеанский сверхчеловек. Превосходит людей как те обезьян. Не считается с правилами и законами, самостоятельно определяет свою судьбу. Бросает вызов обществу на пути к своим целям. Его антипод – человек посредственный, стремящийся к комфорту и безопасности. Столкновение этих двух противоречивых образов и будет конвой романа.
Эта социально-философская утопия удачно маскируется под жанр морских приключений. Подробно описывая традиции моряков и быт на корабле Лондон создает для нас эффект погружения. Здесь будет много романтического деления мира на черное и белое. Несмотря на это мы не сразу видим в Волке Ларсене антигероя, безжалостного просто по своей прихоти.
Перед нами он предстает во всех возможных спектрах: жестокий тиран, обаятельный садист, закоренелый индивидуалист. В противовес этому – обходительный и рассудительный собеседник с нестандартным складом ума, пылким темпераментом и необычайной физической силой. Через философские дискуссии и идеологические споры Ларсен будет штурмовать мировоззрение Ван-Вейдена. А тому останется только аргументированно противостоять. Здесь найдется отражение и собственным взглядам Лондона. Волк Ларсен – откровенный злодей, которого мы неохотно уважаем. Злодей, который честен с нами с самого начала, в том, кем является и во что верит.
Когда фокус повествования сместится на Ван-Вейдена мы увидим воспевание силы духа, преодолевающего любые препятствия, и даже какую-никакую любовную линию. Чем закончится это приключение – будет интригой до самого конца. Как и собственно кто здесь морской волк.
Мир описанный в романе бесконечно далек от нашего. Попробуй сегодня на серьезных щщах подискутировать про гипотезу сверхчеловека, не привлекая внимание санитаров. Развитие гуманизма надолго прописало эту идею на два метра под землю. В то же время другие идеи Ницше – выход из зоны комфорта, нигилизм и экзистенциализм актуальны как никогда.
Чему может научить роман и его главные герои обывателя сегодняшнего, живущего в самое безопасное и человекоцентричное время за всю историю? Тому, что сильная личность не выковывается на диване, ей нужны условия близкие к экстремальным. Тому, что нужна смелость брать ответственность за себя и других. Еще невероятной жажде жизни, которую случается видеть так редко («отлежусь само пройдет», «и здесь неплохо кормят»). Наконец тому, что жизнь полна неудовлетворенности, но еще меньше может удовлетворить нас мысль о предстоящей смерти.
– Он никогда не философствует о жизни? – добавил я.
– О нет, – ответил Волк Ларсен с горечью. – И в этом его счастье. Он слишком занят жизнью, чтобы думать о ней. Я сделал ошибку, когда впервые открыл книгу.
Перед нами он предстает во всех возможных спектрах: жестокий тиран, обаятельный садист, закоренелый индивидуалист. В противовес этому – обходительный и рассудительный собеседник с нестандартным складом ума, пылким темпераментом и необычайной физической силой. Через философские дискуссии и идеологические споры Ларсен будет штурмовать мировоззрение Ван-Вейдена. А тому останется только аргументированно противостоять. Здесь найдется отражение и собственным взглядам Лондона. Волк Ларсен – откровенный злодей, которого мы неохотно уважаем. Злодей, который честен с нами с самого начала, в том, кем является и во что верит.
Когда фокус повествования сместится на Ван-Вейдена мы увидим воспевание силы духа, преодолевающего любые препятствия, и даже какую-никакую любовную линию. Чем закончится это приключение – будет интригой до самого конца. Как и собственно кто здесь морской волк.
Мир описанный в романе бесконечно далек от нашего. Попробуй сегодня на серьезных щщах подискутировать про гипотезу сверхчеловека, не привлекая внимание санитаров. Развитие гуманизма надолго прописало эту идею на два метра под землю. В то же время другие идеи Ницше – выход из зоны комфорта, нигилизм и экзистенциализм актуальны как никогда.
Чему может научить роман и его главные герои обывателя сегодняшнего, живущего в самое безопасное и человекоцентричное время за всю историю? Тому, что сильная личность не выковывается на диване, ей нужны условия близкие к экстремальным. Тому, что нужна смелость брать ответственность за себя и других. Еще невероятной жажде жизни, которую случается видеть так редко («отлежусь само пройдет», «и здесь неплохо кормят»). Наконец тому, что жизнь полна неудовлетворенности, но еще меньше может удовлетворить нас мысль о предстоящей смерти.
– Он никогда не философствует о жизни? – добавил я.
– О нет, – ответил Волк Ларсен с горечью. – И в этом его счастье. Он слишком занят жизнью, чтобы думать о ней. Я сделал ошибку, когда впервые открыл книгу.
Уходим в отпуск выгодно
О чем должен помнить каждый работяга на пятидневке по ТК? Об отпуске конечно же.
Работодатель каждый месяц платит зарплату, чтобы ты забыл о своих мечтах и предоставляет отпуск, чтобы ты не выгорел в угли. За каждый отработанный год тебе полагается 28 оплачиваемых дней отпуска. 14 из которых надо отгулять одним куском, остальные хоть по одному дню.
Есть месяцы, в которые отдыхать невыгодно – доход будет меньше. Если мы откроем производственный календарь на 2024 год, то обнаружим что в предстоящем году выгоднее всего брать длинный отпуск в июле и октябре и соответственно невыгоднее в январе и июне. Чем больше в месяце рабочих дней – тем лучше для кошелька. Чем больше праздников и выходных – тем хуже.
Расклад на 2024 такой:
январь – 17 раб. дней
февраль – 20 раб. дней
март – 20 раб. дней
апрель – 21 раб. день
май – 20 раб. дней
июнь – 19 раб. дней
июль – 23 раб. дня
август – 22 раб. дня
сентябрь – 21 раб. день
октябрь – 23 раб. дня
ноябрь – 21 раб. день
декабрь – 21 раб. день
Работодатель платит за каждый календарный день отпуска, включая выходные. За праздничные дни не платит. Размер отпускных зависит от официальной части дохода. Один день отпуска = среднедневному заработку за последний год перед месяцем начала отпуска. Отпускные платят заранее. Если не пришли за три дня до начала отпуска – стоит осмотреться, возможно у твоей галеры пробоина в корпусе и пора спасаться бегством.
О чем должен помнить каждый работяга на пятидневке по ТК? Об отпуске конечно же.
Работодатель каждый месяц платит зарплату, чтобы ты забыл о своих мечтах и предоставляет отпуск, чтобы ты не выгорел в угли. За каждый отработанный год тебе полагается 28 оплачиваемых дней отпуска. 14 из которых надо отгулять одним куском, остальные хоть по одному дню.
Есть месяцы, в которые отдыхать невыгодно – доход будет меньше. Если мы откроем производственный календарь на 2024 год, то обнаружим что в предстоящем году выгоднее всего брать длинный отпуск в июле и октябре и соответственно невыгоднее в январе и июне. Чем больше в месяце рабочих дней – тем лучше для кошелька. Чем больше праздников и выходных – тем хуже.
Расклад на 2024 такой:
январь – 17 раб. дней
февраль – 20 раб. дней
март – 20 раб. дней
апрель – 21 раб. день
май – 20 раб. дней
июнь – 19 раб. дней
июль – 23 раб. дня
август – 22 раб. дня
сентябрь – 21 раб. день
октябрь – 23 раб. дня
ноябрь – 21 раб. день
декабрь – 21 раб. день
Работодатель платит за каждый календарный день отпуска, включая выходные. За праздничные дни не платит. Размер отпускных зависит от официальной части дохода. Один день отпуска = среднедневному заработку за последний год перед месяцем начала отпуска. Отпускные платят заранее. Если не пришли за три дня до начала отпуска – стоит осмотреться, возможно у твоей галеры пробоина в корпусе и пора спасаться бегством.
Для примера возьмем двух стахановцев: Аркадия и Арсения. Эти двое из ларца лутают по 300k/мес, планируют в 2024 отпуск на 14 дней и отработали 12 месяцев до месяца в котором будет отпуск.
👋 Аркадий решает продлить новогодний опохмел и выбирает даты отпуска:
15.01.2024 – 28.01.2024.
Из этих 2 недель: 10 – рабочие дни, 4 – выходные.
Всего в январе 17 рабочих дней. Аркадий отработает только 7 из них.
За предыдущие 12 месяцев доход Аркадия составил:
3 600 000₽ (300 000₽ * 12).
Средний дневной заработок Аркадия:
10 238₽ (3 600 000₽ / 12 / 29.3).
29.3 – это в среднем дней в месяце.
ЗП Аркадия за январь составит:
123 530₽ (300 000₽ / 17 * 7).
Отпускные Аркадия за январь:
143 332₽ (10 238₽ * 14).
Совокупный доход за январь:
266 862₽ (123 530₽ + 143 332₽).
У Арсения будет 300 000₽.
🏝 Арсений собрался в отпуск на тропический остров и выбирает даты:
15.07.2024 – 28.07.2024.
В июле целых 23 рабочих дня, из которых Арсений отработает 13.
Доход за год, средний дневной заработок и размер отпускных будет таким же как у Аркадия.
ЗП Арсения за июль составит:
169 565₽ (300 000₽ / 23 * 13).
Совокупный доход за июль:
312 897₽ (169 565₽ + 143 332₽).
У Аркадия будет 300 000₽.
Таким образом наши джентльмены сходили в одинаковый по продолжительности отпуск, но с разницей в 46k деревянных. Этот пример показывает, что иногда можно обнаружить на балансе приятную неожиданность, если плохо спланировать отпуск или будущие расходы. Есть много критериев определения точки безубыточности, если хочется упороться – заходи в калькулятор отпускных. Там можно указать предыдущие отпуска, больничные, командировки и простои.
Про что не забыть когда увольняешься?
Перерабатывать зарплату в выполненную работу надоело, решаешь сойти на берег. Не всегда получается отгулять все дни отпусков, они накапливаются несгораемой суммой. За них тебе положена компенсация, вообще за все время – хоть за 5 лет, хоть за 25. Компенсация платится деньгами. Отказать в ней не имеют права. За каждый отработанный месяц положены 2.33 дня оплачиваемого отпуска.
И самое главное: отпуск – это не способ заработать на компенсациях, а реализация твоего права на отдых. С любимой работы нужно уметь уходить домой.
#rest@foundout
15.01.2024 – 28.01.2024.
Из этих 2 недель: 10 – рабочие дни, 4 – выходные.
Всего в январе 17 рабочих дней. Аркадий отработает только 7 из них.
За предыдущие 12 месяцев доход Аркадия составил:
3 600 000₽ (300 000₽ * 12).
Средний дневной заработок Аркадия:
10 238₽ (3 600 000₽ / 12 / 29.3).
29.3 – это в среднем дней в месяце.
ЗП Аркадия за январь составит:
123 530₽ (300 000₽ / 17 * 7).
Отпускные Аркадия за январь:
143 332₽ (10 238₽ * 14).
Совокупный доход за январь:
266 862₽ (123 530₽ + 143 332₽).
У Арсения будет 300 000₽.
15.07.2024 – 28.07.2024.
В июле целых 23 рабочих дня, из которых Арсений отработает 13.
Доход за год, средний дневной заработок и размер отпускных будет таким же как у Аркадия.
ЗП Арсения за июль составит:
169 565₽ (300 000₽ / 23 * 13).
Совокупный доход за июль:
312 897₽ (169 565₽ + 143 332₽).
У Аркадия будет 300 000₽.
Таким образом наши джентльмены сходили в одинаковый по продолжительности отпуск, но с разницей в 46k деревянных. Этот пример показывает, что иногда можно обнаружить на балансе приятную неожиданность, если плохо спланировать отпуск или будущие расходы. Есть много критериев определения точки безубыточности, если хочется упороться – заходи в калькулятор отпускных. Там можно указать предыдущие отпуска, больничные, командировки и простои.
Про что не забыть когда увольняешься?
Перерабатывать зарплату в выполненную работу надоело, решаешь сойти на берег. Не всегда получается отгулять все дни отпусков, они накапливаются несгораемой суммой. За них тебе положена компенсация, вообще за все время – хоть за 5 лет, хоть за 25. Компенсация платится деньгами. Отказать в ней не имеют права. За каждый отработанный месяц положены 2.33 дня оплачиваемого отпуска.
И самое главное: отпуск – это не способ заработать на компенсациях, а реализация твоего права на отдых. С любимой работы нужно уметь уходить домой.
#rest@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый год на солнечном острове Пхукет 🎆
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Технический скрининг
Как-то раз, когда я был джун и глуп и не видал больших цифр в офферах, звонит мне рекрутер и спрашивает:
– Михаил, можем ли мы извне получить доступ к приватной переменной класса?
– Конечно можем!
– Эмм… нет не можем.
– Можем через рефлексию!
– Кажется, нам пора закругляться, до свидания!
Пальцем щелк и деньги в банк
Зачем нужен скрининг?
Техсобес – событие энергозатратное. Чтобы каждый залетный птиц с наскока туда не проскочил бизнес придумал фильтровать таких смелых и умелых еще на дальних подступах. Время и ресурсы сокращаются, флоу найма улучшается. Чтобы добраться до технической секции и показать, что мурку могешь, нужно сначала созвониться с эйчаром, послушать рассказ о компании/вакансии, позадавать свои вопросы. И иногда пройти технический скрининг – первичную проверку на харды в сжатом тайминге.
Какие вопросы задают?
Не суть важно, если уже подготовился к техсобесу. Будут вопросы базового уровня сложности, на которые есть очевидные и быстрые правильные ответы. Ответы должны показать подходишь ли ты на открытую позицию или нет. Совсем неготовые дисквалифицируются из воронки найма, остальные двигаются дальше.
Примеры:
🐗 Модификаторы доступа в котлине
🐗 Типы исключений в котлине
🐗 Parcelable vs Serializable
🐗 Hot Flow vs Cold Flow
🐗 FlatMap vs ConcatMap
Как правильно действовать?
Перейти с автомата на ручной режим. Выключить синдром отличника. Помнить что у тебя и рекрутера одна цель – пристроить тебя на рабочее место. Не теряться если попался незнакомый вопрос. Профессионально и дружелюбно объяснять сложные концепции простыми словами. В слишком объемных ответах нет смысла, не развивать тему и не офтопить. Если совсем все плохо – записать вопросы, узнать ответы и идти на следующий собес.
Как-то раз, когда я был джун и глуп и не видал больших цифр в офферах, звонит мне рекрутер и спрашивает:
– Михаил, можем ли мы извне получить доступ к приватной переменной класса?
– Конечно можем!
– Эмм… нет не можем.
– Можем через рефлексию!
– Кажется, нам пора закругляться, до свидания!
class Bank {
private val money = "$300"
}
fun main() = runBlocking {
val money = Bank::class
.memberProperties
.first { it.name == "money" }
.apply { isAccessible = true }
.get(Bank()) as String
println(money)
}
Пальцем щелк и деньги в банк
Зачем нужен скрининг?
Техсобес – событие энергозатратное. Чтобы каждый залетный птиц с наскока туда не проскочил бизнес придумал фильтровать таких смелых и умелых еще на дальних подступах. Время и ресурсы сокращаются, флоу найма улучшается. Чтобы добраться до технической секции и показать, что мурку могешь, нужно сначала созвониться с эйчаром, послушать рассказ о компании/вакансии, позадавать свои вопросы. И иногда пройти технический скрининг – первичную проверку на харды в сжатом тайминге.
Какие вопросы задают?
Не суть важно, если уже подготовился к техсобесу. Будут вопросы базового уровня сложности, на которые есть очевидные и быстрые правильные ответы. Ответы должны показать подходишь ли ты на открытую позицию или нет. Совсем неготовые дисквалифицируются из воронки найма, остальные двигаются дальше.
Примеры:
Как правильно действовать?
Перейти с автомата на ручной режим. Выключить синдром отличника. Помнить что у тебя и рекрутера одна цель – пристроить тебя на рабочее место. Не теряться если попался незнакомый вопрос. Профессионально и дружелюбно объяснять сложные концепции простыми словами. В слишком объемных ответах нет смысла, не развивать тему и не офтопить. Если совсем все плохо – записать вопросы, узнать ответы и идти на следующий собес.
Please open Telegram to view this post
VIEW IN TELEGRAM
Примеры open-source проектов
Нет лучшего способа преисполниться в андроид-разработке, чем покопаться в чужих исходниках. Всегда полезно посмотреть как пишут код взрослые дяди и утащить себе проверенные методики. Здесь не будет примеров, которые давно не обновлялись и соответственно не запустятся после клонирования.
🐗 github.com/android/nowinandroid
Полнофункциональное приложение от гугла. Создано с использованием Kotlin, Compose и Material3. Постоянно обновляется и представляет собой агрегатор новостей об андроид-разработке разложенных по топикам. Про организацию модулей в проекте рассказано здесь. Используется рекомендуемая архитектура с UDF, о ней подробнее здесь. Код покрыт unit и ui тестами, производительность мониторится с помощью бенчмарков.
🐗 github.com/android/sunflower
Еще одно приложение от корпорации добра. Справочник для садоводства. Иллюстрирует лучшие практики по переезду с Android View (Material2) на Jetpack Compose (Material3). О миграции рассказано здесь. Код полностью покрыт тестами, есть бенчмарки, показано как работать с ассетами и предварительно заполнять Room.
🐗 github.com/chrisbanes/tivi
Приложение для отслеживания сериалов от бывшего разработчика из гугла. В проект тащятся новейшие версии библиотек, сейчас в процессе переезда на KMP. Показано как управлять зависимостями с помощью buildSrc. Полностью на Kotlin, Compose, Coroutines, Room, Lifecycle, Navigation и Hilt.
🐗 github.com/RetroMusicPlayer/RetroMusicPlayer
Руководство как скрафтить музыкальный плеер в системе View с дизайном Materia3. Под капотом продвинутая стилизация, синхронизация текстов песен, анимации, виджеты, плейлисты, поддержка Chromecast и Android Auto.
🐗 github.com/libre-tube/LibreTube
Альтернативный клиент YouTube с кучей настроек. Никакого Compose - UI на activities и fragments.
🐗 github.com/JunkFood02/Seal
Стильный и простой в использовании аудио/видео загрузчик. Есть настройка палитры Material3 из приложения.
Нет лучшего способа преисполниться в андроид-разработке, чем покопаться в чужих исходниках. Всегда полезно посмотреть как пишут код взрослые дяди и утащить себе проверенные методики. Здесь не будет примеров, которые давно не обновлялись и соответственно не запустятся после клонирования.
Полнофункциональное приложение от гугла. Создано с использованием Kotlin, Compose и Material3. Постоянно обновляется и представляет собой агрегатор новостей об андроид-разработке разложенных по топикам. Про организацию модулей в проекте рассказано здесь. Используется рекомендуемая архитектура с UDF, о ней подробнее здесь. Код покрыт unit и ui тестами, производительность мониторится с помощью бенчмарков.
Еще одно приложение от корпорации добра. Справочник для садоводства. Иллюстрирует лучшие практики по переезду с Android View (Material2) на Jetpack Compose (Material3). О миграции рассказано здесь. Код полностью покрыт тестами, есть бенчмарки, показано как работать с ассетами и предварительно заполнять Room.
Приложение для отслеживания сериалов от бывшего разработчика из гугла. В проект тащятся новейшие версии библиотек, сейчас в процессе переезда на KMP. Показано как управлять зависимостями с помощью buildSrc. Полностью на Kotlin, Compose, Coroutines, Room, Lifecycle, Navigation и Hilt.
Руководство как скрафтить музыкальный плеер в системе View с дизайном Materia3. Под капотом продвинутая стилизация, синхронизация текстов песен, анимации, виджеты, плейлисты, поддержка Chromecast и Android Auto.
Альтернативный клиент YouTube с кучей настроек. Никакого Compose - UI на activities и fragments.
Стильный и простой в использовании аудио/видео загрузчик. Есть настройка палитры Material3 из приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Неофициальный клиент рутрекера. Сделан по красоте – чистая архитектура, код разложен по core и feature модулям, реализации отделены от интерфейсов.
Продвинутый пикча-эдитор. Покажет, что можно и нельзя делать с изображениями.
Сэмплы от JetBrains для погружения в KMP. Есть, например, приложение для просмотра изображений и приложение для обмена сообщениями. Для UI используется Compose Multiplatform, показано как его встраивать в интерфейс SwiftUI. Работающие аппки для Android, iOS, Desktop и Web.
Вываливает список людей, которые сейчас в космосе. А также положение МКС. Демонстрация множества различных платформ, на которых работает Kotlin Multiplatform. Включает клиенты на SwiftUI (iOS, watchOS, macOS), Compose (Android + Tablets, Wear OS, Desktop, Wasm, iOS) и серверную часть на Ktor. Есть виджеты для iOS и Android. Проект специально сделан минималистичным, чтобы помочь тебе быстрее вкатиться в KMP.
Мультиплатформенное приложение для чтения RSS-лент. Внутри стандартно Kotlin Multiplatform, Coroutines, Compose Multiplatform, Ktor, SQLDelight, Decompose и Kotlin-inject. Нужны JDK 20 и канареечная студия для запуска.
Приложение для продуктивности и управления временем. Юзеры могут планировать задачи и получать отчеты об их выполнении. Мультиплатформа – есть реализации для Android/iOS/Desktop.
Мультиплатформенная версия приложения New York Times на Compose. Позволяет юзеру просматривать статьи. Для Android/Wear/iOS/Desktop/Web.
BeepBeep – платформа для доставки еды и заказа такси, призванная продемонстрировать возможности Kotlin. Включает мобильные приложение для пользователей, приложения для управления рестораном, приложения для водителей, для доставщиков – все это для iOS и Android на Compose Multiplatform. Есть приложение с дашбордами для Mac/Linux/Windows, приложение для поддержки. Есть несколько микросервисов на Kotlin с Ktor для поддержки всего этого. Можешь забацать свой Uber!
Не рекомендуется как ориентир. Но будет полезно посмотреть какой радикальной бывает разработка продукта, когда он претендует на звание лучшего в нише. Анимации, работа с памятью и с видео, минимум внешних зависимостей, все кастомное и самописное, создание ui из кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Потоптал берег Балтийского моря на косе, название которой не выговорю.
Морской ветер ебошит с такой силой, что уши закладывает. Ничего не слышно кроме шума волн, еще и песком по лицу хлещет. Ощущения прекрасные! Сразу забываешь о своих работах и заботах. Плюс поорать можно. Рекомендую.
Морской ветер ебошит с такой силой, что уши закладывает. Ничего не слышно кроме шума волн, еще и песком по лицу хлещет. Ощущения прекрасные! Сразу забываешь о своих работах и заботах. Плюс поорать можно. Рекомендую.
Привет! Сделал роадмап для подготовки к собесам на Senior Android Developer. Все это добро хостится в Notion и пока включает следующие разделы:
• Job Interview: Вопросы с собесов, что отвечать, что спрашивать, ссылки на моки, System Design, как проектировать, алгоритмы и задачки из бигтехов, примеры задач на лайв-кодинг, софты, все что надо знать про HashMap.
• Kotlin: все про язык, разобраны все ключевые слова и операторы, вопросы с собесов, коллекции, дженерики, корутины, мультиплатформа, 50 примеров использования операторов Flow.
• Java: GC, Thread, Concurrent, RxJava.
• Compose: аннотации, функции компоновки, сайд-эффекты, примеры кода, кейсы использования.
• Android Platform: SDK, Сервисы, Concurrent, Android-коллекции, класс View, Activity, Intent, что нового в релизах, Network, UI и дизайн, архитектура и паттерны проектирования, сборка и Gradle-скрипты, Layouts, DI, тестирование.
• Android Jetpack: Hilt, ViewModel, Room, WorkManager, LiveData, ViewBinding.
• Android Studio: как настроить, какие хоткеи использовать.
• Git: команды, кейсы, Github actions, управление репозиторием.
• Samples: фреймворки которые надо затащить, примеры open-sourcе библиотек.
#roadmap@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Перетащил свой проект на Kotlin 2.0.0 и компилятор K2. Также пришлось переехать на новый плагин Compose от JetBrains. Прошло гладко, гайд по миграции здесь.
Все библиотечки совместились и нормально работают. Отвалился только мультиплатформенный Coil3, потому что его не обновляют с февраля. Какой прирост по скоростям, стало ли быстрее собираться – я хз. Меня это перестало заботить, когда я с камней intel перешел на arm. Могу только сказать, что люблю все новое. Так что ждем новую версию котлина, обещают что-то интересное!
Please open Telegram to view this post
VIEW IN TELEGRAM
Как меня развели мошенники с авито на 40 000₽
Интернет переполнен историями как бабка-пенсионерка на десятом десятке лет по звонку мошенников перевела им все свои похоронные мильены. Все мы дружно с таких историй кекаем, делая поправку на возраст. С молодыми нами такого бы не произошло. Зумеры не курят, потому что боятся поднять трубку.
В далеком 2k19 моей основной мобилой был какой-то самсунг. В один день, меня не спросясь, он упал в лужу, когда я шел домой с пьянки. Высушить его в рисе не получилось. Было принято решение покупать Google Pixel 4 – лучший на свете смартфон на андроиде. К тому же я – андроид-разраб. Будет на чем с кайфом приложеньки тестить.
Для контекста, тогда пиксели официально в рф не продавались (как и сейчас). Купить его можно было только у разных инициативных граждан на авито и может быть через какие-то стремные сервисы доставок из сша. Сегодня ими завален весь маркет с озоном, доставят к завтраку за 15 минут.
Я, родившийся и выросший в интернете, с технологиями на ты, на незнакомые номера не отвечающий, по подворотням не шатающийся, открываю авито. Внимательнейшим образом, по отзывам и прочим тоглам выбираю подходящий девайс. Начинается чат с продавцом. Так мол и так, есть в наличии, готовы отправить через боксберри, оплата авито-доставкой. Удобненько, думаю я. Да и боксберри для меня не пустые звуки, уже юзал их неделей ранее, соглашаюсь.
Стартует процесс оплаты. Продавец кидает в чат скриншот (как потом оказалось фейк), что на стороне авито-доставки какие-то траблы и нужно оплатить прямо в боксберри. Я уже капаю слюнями на свой новый девайс и перехожу по ссылке на поддельный, но такой знакомый интерфейс боксберри. Недолго думая или скорее вообще не думая вбиваю данные карты, подтверждаю смс и оплачиваю. Обычно далее тебя перенаправляет в личный кабинет боксберри, где видно статус заказа. Ничего подобного не происходит.
В этот момент приходит осознание: заскамили. В голове начинают перебираться варианты как сделать undo. Первое – написал в поддержку банка, отменить перевод. Банки в этом плане абсолютно беспомощные, перевод был авторизован, чего ты от нас хочешь? Продавец с авито на радостях кидает вторую ссылку, говорит платеж не прошел, вбей-ка данные карты еще раз, чтобы вернуть деньги. Второе – пишу в поддержку авито. Авито еще беспомощнее банка, разводят руками и советуют обратиться в полицию. Решил уже ничего не придумывать и полностью снять с себя ответственность – написал заяву в МВД с теми данными что были у меня и авито: профиль продавца, куски каких-то реквизитов по адресу в екб, поддельный сайт.
Следующие полгода мне на почту регулярно падали пдфки как мое дело кочевало от одного следователя к другому. Пока в какой-то момент оно не утонуло навсегда в пыльных архивах.
40k остаются самой крупной суммой, которую я терял в моменте. Половина зп на тот момент. Пришлось купить сяоми (топ за свои деньги). И хотя бывают в жизни огорчения, я принял решение – ни секунды не буду переживать. И успешно не вспоминал об этом до текущего поста. Потом я вовсе перешел на айфон, а пиксель уже седьмой, мне подарили на др. Довольный как минипиг гоняю цвет кнопочек туда-сюда. Это и правда лучший андроид-смартфон.
Какие выводы:
🐗 Все, что касается денег не должно сопровождаться спешкой. Все, кто торопят тебя принять решение в моменте и быстрее с ними расстаться – мошенники. За продуктами не ходи голодным – накупишь херни. И тому подобное.
🐗 Надо обложиться гарантиями со всех сторон. Не стоит отправлять видеокарту авито-доставкой покупателю в село под архангельском. Получишь обратно кирпич в коробке. Стоит покупать товары на озоне с возможностью возврата в течении 60 дней. Я так вернул 4 скамьи подряд, потому что каждый раз привозили паль.
🐗 Не парься. Как пишут в пабликах ВК: масштаб личности определяется величиной проблемы которая может вывести тебя из себя. Не плоди проблемы. У тебя ровно одна забота в жизни – обеспечить приток бабок в карман. Все остальное – развлечения и расходы.
❣ Удачных покупочек!
Интернет переполнен историями как бабка-пенсионерка на десятом десятке лет по звонку мошенников перевела им все свои похоронные мильены. Все мы дружно с таких историй кекаем, делая поправку на возраст. С молодыми нами такого бы не произошло. Зумеры не курят, потому что боятся поднять трубку.
В далеком 2k19 моей основной мобилой был какой-то самсунг. В один день, меня не спросясь, он упал в лужу, когда я шел домой с пьянки. Высушить его в рисе не получилось. Было принято решение покупать Google Pixel 4 – лучший на свете смартфон на андроиде. К тому же я – андроид-разраб. Будет на чем с кайфом приложеньки тестить.
Для контекста, тогда пиксели официально в рф не продавались (как и сейчас). Купить его можно было только у разных инициативных граждан на авито и может быть через какие-то стремные сервисы доставок из сша. Сегодня ими завален весь маркет с озоном, доставят к завтраку за 15 минут.
Я, родившийся и выросший в интернете, с технологиями на ты, на незнакомые номера не отвечающий, по подворотням не шатающийся, открываю авито. Внимательнейшим образом, по отзывам и прочим тоглам выбираю подходящий девайс. Начинается чат с продавцом. Так мол и так, есть в наличии, готовы отправить через боксберри, оплата авито-доставкой. Удобненько, думаю я. Да и боксберри для меня не пустые звуки, уже юзал их неделей ранее, соглашаюсь.
Стартует процесс оплаты. Продавец кидает в чат скриншот (как потом оказалось фейк), что на стороне авито-доставки какие-то траблы и нужно оплатить прямо в боксберри. Я уже капаю слюнями на свой новый девайс и перехожу по ссылке на поддельный, но такой знакомый интерфейс боксберри. Недолго думая или скорее вообще не думая вбиваю данные карты, подтверждаю смс и оплачиваю. Обычно далее тебя перенаправляет в личный кабинет боксберри, где видно статус заказа. Ничего подобного не происходит.
В этот момент приходит осознание: заскамили. В голове начинают перебираться варианты как сделать undo. Первое – написал в поддержку банка, отменить перевод. Банки в этом плане абсолютно беспомощные, перевод был авторизован, чего ты от нас хочешь? Продавец с авито на радостях кидает вторую ссылку, говорит платеж не прошел, вбей-ка данные карты еще раз, чтобы вернуть деньги. Второе – пишу в поддержку авито. Авито еще беспомощнее банка, разводят руками и советуют обратиться в полицию. Решил уже ничего не придумывать и полностью снять с себя ответственность – написал заяву в МВД с теми данными что были у меня и авито: профиль продавца, куски каких-то реквизитов по адресу в екб, поддельный сайт.
Следующие полгода мне на почту регулярно падали пдфки как мое дело кочевало от одного следователя к другому. Пока в какой-то момент оно не утонуло навсегда в пыльных архивах.
40k остаются самой крупной суммой, которую я терял в моменте. Половина зп на тот момент. Пришлось купить сяоми (топ за свои деньги). И хотя бывают в жизни огорчения, я принял решение – ни секунды не буду переживать. И успешно не вспоминал об этом до текущего поста. Потом я вовсе перешел на айфон, а пиксель уже седьмой, мне подарили на др. Довольный как минипиг гоняю цвет кнопочек туда-сюда. Это и правда лучший андроид-смартфон.
Какие выводы:
Please open Telegram to view this post
VIEW IN TELEGRAM
Хоткеи, без которых невозможно работать
🐗 В Android Studio.
Поиск по всем названиям классов и файлов в проекте.
Поиск по коду внутри классов и файлов.
Открыть окно пушинга коммитов в удаленный репозиторий.
Свернуть класс.
Развернуть класс.
Форматировать отступы по табуляции (спасение от юзающих 2 пробела вместо 4).
Закомментить/разкомментить выделенный кусок кода.
Дублировать строку.
Вывалить список доступных операторов.
Перенести курсор на следующую ошибку в файле.
Открыть выделенный файл из вкладки Commit в редакторе (если просто 2 раза тапнуть мышью – откроется commit diff).
Переименовать выделенное название сигнатуры везде.
Импортировать сигнатуру на которой сейчас курсор (чтобы не светилась красненьким).
Имплементировать методы в текущий класс (например указали интерфейс – теперь нужно переопределить его методы).
Переопределить методы в класс.
Перенести курсор к следующему слову в строке.
Активировать мультикурсор (чтобы редактировать сразу несколько строк).
Пожалуй и хватит. Для всего остального можно использовать мыша.
Double Shift
Поиск по всем названиям классов и файлов в проекте.
Command + Shift + F
Поиск по коду внутри классов и файлов.
Command + Shift + K
Открыть окно пушинга коммитов в удаленный репозиторий.
Command + Shift + Minus
Свернуть класс.
Command + Shift + Plus
Развернуть класс.
Command + Option + L
Форматировать отступы по табуляции (спасение от юзающих 2 пробела вместо 4).
Command + Shift + /
Закомментить/разкомментить выделенный кусок кода.
Command + D
Дублировать строку.
Fn + Control + Space
Вывалить список доступных операторов.
Fn + F2
Перенести курсор на следующую ошибку в файле.
Fn + F4
Открыть выделенный файл из вкладки Commit в редакторе (если просто 2 раза тапнуть мышью – откроется commit diff).
Fn + Shift + F6
Переименовать выделенное название сигнатуры везде.
Option + Enter
Импортировать сигнатуру на которой сейчас курсор (чтобы не светилась красненьким).
Option + I
Имплементировать методы в текущий класс (например указали интерфейс – теперь нужно переопределить его методы).
Option + O
Переопределить методы в класс.
Option + →
Перенести курсор к следующему слову в строке.
Option + Cursor
Активировать мультикурсор (чтобы редактировать сразу несколько строк).
Пожалуй и хватит. Для всего остального можно использовать мыша.
Please open Telegram to view this post
VIEW IN TELEGRAM