Forwarded from Proglib.academy | IT-курсы
🧐 Разбираемся: FAANG — не мечта, а капкан
Раньше работа в Google или Meta казалась вершиной айтишной карьеры. Сейчас — всё чаще звучат слова «стресс», «сокращения», «выгорание».
➡️ В статье разбираем
— Почему бывшие сотрудники бегут из FAANG
— Как изменилась культура внутри Big Tech
— Где теперь искать стабильность и уважение
— Реальные комментарии от действующих инженеров
— И что на самом деле стоит за блестящей обёрткой FAANG
Если вы всё ещё решаете LeetCode ради «заветной должности» — обязательно прочитайте нашу статью.
📎 Ссылка
🔵 Включайся в обучение и устраивайся куда хочешь, тебя ждет продвинутый этап нашего курса «Алгоритмы и структуры данных»
Раньше работа в Google или Meta казалась вершиной айтишной карьеры. Сейчас — всё чаще звучат слова «стресс», «сокращения», «выгорание».
— Почему бывшие сотрудники бегут из FAANG
— Как изменилась культура внутри Big Tech
— Где теперь искать стабильность и уважение
— Реальные комментарии от действующих инженеров
— И что на самом деле стоит за блестящей обёрткой FAANG
Если вы всё ещё решаете LeetCode ради «заветной должности» — обязательно прочитайте нашу статью.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1
📝 Промпт для идеального код ревью
Чтобы облегчить код ревью, используйте этот промпт для ChatGPT:
⚡ Как вы обычно проводите код ревью? Делитесь в комментариях!
Библиотека мобильного разработчика #буст
Чтобы облегчить код ревью, используйте этот промпт для ChatGPT:
1. Проанализируй приведенный [язык] код на предмет признаков проблемного кода и предложи улучшения: [фрагмент кода].
2. Проверь [язык] код на предмет правильности логирования и мониторинга: [фрагмент кода].
3. Проанализируй [язык] код на предмет потенциальных проблем масштабируемости: [фрагмент кода].
4. Оцени тестовое покрытие этого [язык] кода: [фрагмент кода].
5. Оцени [язык] код на совместимость с [платформой или технологией]: [фрагмент кода].
⚡ Как вы обычно проводите код ревью? Делитесь в комментариях!
Библиотека мобильного разработчика #буст
🤩2
💻 How to: реализовать кастомный делегат
Чтобы написать кастомный делегат, нужно определить класс, который реализует интерфейс
Классы, реализующие
•
•
Например, рассмотрим создание кастомного делегата для логирования изменения значения свойства:
Здесь мы определяем класс
Затем мы можем использовать наш кастомный делегат следующим образом:
Здесь мы создаем экземпляр класса
👉 Подробнее в статье
Библиотека мобильного разработчика #буст
Чтобы написать кастомный делегат, нужно определить класс, который реализует интерфейс
ReadOnlyProperty
для делегата val
или ReadWriteProperty
для делегата var.Классы, реализующие
ReadOnlyProperty
и ReadWriteProperty
, содержат два метода:•
getValue(thisRef: T, property: KProperty<*>): R,
который должен возвращать значение свойства.•
setValue(thisRef: T, property: KProperty<*>, value: R)
, который должен устанавливать значение свойства.Например, рассмотрим создание кастомного делегата для логирования изменения значения свойства:
class LoggingDelegate(private var value: T) : ReadWriteProperty {override fun getValue(thisRef: Any?, property: KProperty): T {println(«Getting value of ${property.name}: $value»)return value}override fun setValue(thisRef: Any?, property: KProperty, value: T) {println(«Setting value of ${property.name} to $value»)this.value = value}}
Здесь мы определяем класс
LoggingDelegate
, который реализует интерфейс ReadWriteProperty
. Метод getValue
выводит в консоль текущее значение свойства и возвращает его, а метод setValue
выводит новое значение свойства в консоль и сохраняет его в переменной value
.Затем мы можем использовать наш кастомный делегат следующим образом:
class MyClass {var myProperty: Int by LoggingDelegate(0)}fun main() {val obj = MyClass()obj.myProperty = 42 // Setting value of myProperty to 42println(obj.myProperty) // Getting value of myProperty: 42}
Здесь мы создаем экземпляр класса
MyClass
, который содержит свойство myProperty
, использующее наш кастомный делегат LoggingDelegate
. При установке значения свойства или получении его значения будут вызываться соответствующие методы нашего делегата, и мы увидим соответствующие сообщения в консоли.👉 Подробнее в статье
Библиотека мобильного разработчика #буст
🤩2👍1
⚔️ Микросервисы vs. Монолит
В мире разработки программного обеспечения выбор архитектурного подхода — это один из самых важных и стратегических шагов.
На одной стороне баррикад стоят микросервисы, обещающие гибкость, масштабируемость и независимость команд. На другой — монолитные приложения, которые, несмотря на свою кажущуюся устарелость, продолжают привлекать разработчиков своей простотой и целостностью.
Какой подход лучше? Микросервисы действительно обеспечивают более быструю разработку и развёртывание, или же монолиты всё ещё имеют свои преимущества в стабильности и управляемости?
❤️ — Микросервисы
🤝 — Монолит
Библиотека мобильного разработчика #междусобойчик
В мире разработки программного обеспечения выбор архитектурного подхода — это один из самых важных и стратегических шагов.
На одной стороне баррикад стоят микросервисы, обещающие гибкость, масштабируемость и независимость команд. На другой — монолитные приложения, которые, несмотря на свою кажущуюся устарелость, продолжают привлекать разработчиков своей простотой и целостностью.
Какой подход лучше? Микросервисы действительно обеспечивают более быструю разработку и развёртывание, или же монолиты всё ещё имеют свои преимущества в стабильности и управляемости?
❤️ — Микросервисы
🤝 — Монолит
Библиотека мобильного разработчика #междусобойчик
🤝8❤6🥱4
⛓️ Распутываем легаси-код на Android проекте
Попадая на новый проект с долгой историей, вас неизбежно ждёт легаси-код. Возможно, проект прошёл через несколько команд, и теперь он в ваших руках. Бывает, что на проекте уже нет контекст-овнера, а на любой вопрос тимлид отвечает: «Так исторически сложилось».
Приложение может тормозить, состояние определяться десятками мутабельных переменных. Фризы, утечки памяти, файлы на сотни, а то и тысячи строк кода. Год-обжекты. Знакомо?
Автор даёт несколько советов, которые помогут разобраться в происходящем и распутать спагетти-код.
👉 Читать статью
Библиотека мобильного разработчика #свежак
Попадая на новый проект с долгой историей, вас неизбежно ждёт легаси-код. Возможно, проект прошёл через несколько команд, и теперь он в ваших руках. Бывает, что на проекте уже нет контекст-овнера, а на любой вопрос тимлид отвечает: «Так исторически сложилось».
Приложение может тормозить, состояние определяться десятками мутабельных переменных. Фризы, утечки памяти, файлы на сотни, а то и тысячи строк кода. Год-обжекты. Знакомо?
Автор даёт несколько советов, которые помогут разобраться в происходящем и распутать спагетти-код.
👉 Читать статью
Библиотека мобильного разработчика #свежак
❤2😢1
Forwarded from Proglib.academy | IT-курсы
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
— Как египтяне строили пирамиды с помощью математики
— Почему Wi-Fi и JPEG невозможны без преобразования Фурье
— Что объединяет кота Шредингера и квантовые компьютеры
— Как формула Гаусса управляет фондовыми рынками
— И при чём тут Джеймс Гарфилд и i² = –1
🔗 Читайте статью
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Новый тренд среди разработчиков — «вайб-кодинг». Это когда ты не продумываешь архитектуру, не пишешь руками, а просто даёшь задание ИИ и ждёшь, что он всё сам сделает. Быстро, магически… и с кучей подводных камней.
⠀
Что в статье:
⠀
Это не нытьё про «машины нас заменят», а здравый взгляд на технологии без розовых очков.
⠀
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🥱2🤝1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Как правильно организовать проект c модульной архитектурой в iOS-разработке
🔹 Документируем код с помощью DocC
🔹 Разбираем чистую архитектуру в Android: от а до я
🔹 Все знают, какие приложения установлены на вашем телефоне
🔹 Dart / Flutter — применяя zero / empty объекты ко всему
Библиотека мобильного разработчика #свежак
🔹 Как правильно организовать проект c модульной архитектурой в iOS-разработке
🔹 Документируем код с помощью DocC
🔹 Разбираем чистую архитектуру в Android: от а до я
🔹 Все знают, какие приложения установлены на вашем телефоне
🔹 Dart / Flutter — применяя zero / empty объекты ко всему
Библиотека мобильного разработчика #свежак
❤3👍1
🔥 Мобильные разработчики, нужен ваш совет!
Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме!
Какой ноут спасает вас в кодинге и почему?
Расскажите все:
▪️ Что за зверь (модель, начинка)
▪️ Где жмет и где радует в ежедневной работе
▪️ На какие фишки смотреть при выборе
▪️Как вам с ним живется
Топовые советы попадут в нашу статью!
Делитесь в комментах 👇 Сделаем годный гайд, который реально поможет коллегам!
Библиотека мобильного разработчика
#междусобойчик
Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме!
Какой ноут спасает вас в кодинге и почему?
Расскажите все:
▪️ Что за зверь (модель, начинка)
▪️ Где жмет и где радует в ежедневной работе
▪️ На какие фишки смотреть при выборе
▪️Как вам с ним живется
Топовые советы попадут в нашу статью!
Делитесь в комментах 👇 Сделаем годный гайд, который реально поможет коллегам!
Библиотека мобильного разработчика
#междусобойчик
❤1
💻 Конкатенация против интерполяции текста в SwiftUI
SwiftUI позволяет нам объединять несколько представлений текста в одно представление с помощью оператора плюс (+). Это позволяет нам применять разные стили к отдельным частям текста.
Конкатенация и интерполяция — два подхода, которые могут показаться схожими, но на самом деле имеют свои уникальные особенности и преимущества.
👉 Читать статью
Библиотека мобильного разработчика
#свежак
SwiftUI позволяет нам объединять несколько представлений текста в одно представление с помощью оператора плюс (+). Это позволяет нам применять разные стили к отдельным частям текста.
Конкатенация и интерполяция — два подхода, которые могут показаться схожими, но на самом деле имеют свои уникальные особенности и преимущества.
👉 Читать статью
Библиотека мобильного разработчика
#свежак
❤2🥱1
🧱⛏️ Чекни свой крафт: 8 признаков, что разработчик слишком залип в Minecraft
Думаешь, что твоя продуктивность падает из-за багов в коде? А может, все дело в том, что ты мысленно фармишь крипперов, пока твой PM объясняет задачу? Пройди наш тест и узнай, насколько глубоко ты провалился в пиксельную кроличью нору!
✅ Пройти тест
Библиотека мобильного разработчика
#междусобойчик
Думаешь, что твоя продуктивность падает из-за багов в коде? А может, все дело в том, что ты мысленно фармишь крипперов, пока твой PM объясняет задачу? Пройди наш тест и узнай, насколько глубоко ты провалился в пиксельную кроличью нору!
✅ Пройти тест
Библиотека мобильного разработчика
#междусобойчик
🤩4🥱1
💻 How to: Mutating
Вы можете использовать ключевое слово
Например:
По умолчанию это невозможно для типов значений (структур и перечислений), но возможно для ссылочных типов (классов).
Библиотека мобильного разработчика #буст
Вы можете использовать ключевое слово
mutating
, чтобы разрешить изменение свойств структуры в методе, пометив этот конкретный метод mutating
.Например:
struct Fruit {
var type: Stringmutating func convertToBanana() {
self.type = «Banana»
}}
var fruit = Fruit(type: «Apple»)
fruit.convertToBanana()
print(fruit.type)
// prints «Banana»
По умолчанию это невозможно для типов значений (структур и перечислений), но возможно для ссылочных типов (классов).
Библиотека мобильного разработчика #буст
😁1🥱1
Мобильные разработчики!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый мобильный разработчик.
➡️ Поддержать канал: https://t.iss.one/boost/mobileproglib
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый мобильный разработчик.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍5👾1
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
СберТех представил GigaIDE Cloud — первую российскую облачную среду разработки с ИИ, встроенную в GitVerse.
Что в статье:
Забудьте про настройку окружения и тяжёлый ноутбук — GigaIDE Cloud запускает проекты за секунды прямо в браузере.
Читай обзор, как это работает на практике
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3👏1
⚡ Команда дня: find + xargs
Хотите быстро найти и обработать все файлы определенного типа?
Вот однострочник, который поможет:
🎯 Что делает:
— Ищет все .js файлы в текущей директории и поддиректориях
— Находит все строки с «TODO» в этих файлах
— Выводит результаты с именами файлов
Добавьте -1 к grep, чтобы видеть только имена файлов:
👀 Не забудьте:
— Команда работает в терминале Unix-подобных систем
— Для Windows используйте Git Bash или WSL
— У PowerShell другой синтаксис для подобных операций
Библиотека мобильного разработчика #буст
Хотите быстро найти и обработать все файлы определенного типа?
Вот однострочник, который поможет:
find . -name «*.js» -type f | xargs grep «TODO»
🎯 Что делает:
— Ищет все .js файлы в текущей директории и поддиректориях
— Находит все строки с «TODO» в этих файлах
— Выводит результаты с именами файлов
Добавьте -1 к grep, чтобы видеть только имена файлов:
find . -name «*.js» -type f | xargs grep -l «TODO»
👀 Не забудьте:
— Команда работает в терминале Unix-подобных систем
— Для Windows используйте Git Bash или WSL
— У PowerShell другой синтаксис для подобных операций
Библиотека мобильного разработчика #буст
👍2
👨💻 Как правильно организовать проект c модульной архитектурой
В iOS-приложениях модульная архитектура становится все более популярной, обеспечивая гибкость и масштабируемость проектов. Этот подход упрощает сопровождение и развитие приложений, особенно при увеличении кодовой базы и функциональности.
Модульная архитектура делит приложение на управляемые части, что позволяет многократно использовать код в других проектах и организовывать независимую разработку и тестирование функциональных блоков.
В этом материале автор расскажет про ключевые моменты модульной архитектуры в iOS-приложениях, инструментах для её внедрения и применения в проектах.
👉 Читать статью
Библиотека мобильного разработчика #буст
В iOS-приложениях модульная архитектура становится все более популярной, обеспечивая гибкость и масштабируемость проектов. Этот подход упрощает сопровождение и развитие приложений, особенно при увеличении кодовой базы и функциональности.
Модульная архитектура делит приложение на управляемые части, что позволяет многократно использовать код в других проектах и организовывать независимую разработку и тестирование функциональных блоков.
В этом материале автор расскажет про ключевые моменты модульной архитектуры в iOS-приложениях, инструментах для её внедрения и применения в проектах.
👉 Читать статью
Библиотека мобильного разработчика #буст
👍2
🤔 Задача по Kotlin lists
Есть задание — лист элементов. Ваша задача вставить один оператор, чтобы получилось значение в комментариях, которое стоит после знака =.
Ответ:
В этой задаче нужно сложить сумму индексов.
.indices
Библиотека мобильного разработчика
#междусобойчик
Есть задание — лист элементов. Ваша задача вставить один оператор, чтобы получилось значение в комментариях, которое стоит после знака =.
listOf(1, 3, 3, 2, 4, 1)
//missed operator
.sum()
.let
{ println(it) }
//=15
Ответ:
Библиотека мобильного разработчика
#междусобойчик
❤4🥱2🔥1🌚1