Pull to refresh
-1
1.8
Send message

TechTrain 2024: что расскажут на бесплатном онлайн-фестивале

Reading time7 min
Views759

Наше мероприятие TechTrain порой меняет тематику — например, в прошлом году оно было посвящено AI/ML. Но сложился понятный формат:

— Каждые полгода, помимо «больших» конференций, мы проводим «небольшой» TechTrain.
— В отличие от конференций, он проходит только в онлайне и длится только один день.
— Зато, в отличие от конференций, участие в нём бесплатное.

В этот раз TechTrain будет о построении карьерного трека в IT: про варианты развития, источники опыта, взгляды экспертов, перспективы и цели.

Всё это наиболее актуально для молодых специалистов, и сеньорам больше подходят остальные наши конференции. Но помимо сугубо карьерных докладов, здесь будут и технические, так что узнать что-то полезное смогут все (сеньоры, вы уверены, что уже всё знаете про индексы в базах данных?)

Зарегистрироваться для участия можно на сайте, а здесь приведём описания всех докладов:

Читать далее

SwiftUI уроки (часть 6)

Reading time6 min
Views3.6K

Мы наконец-то добрались до одних из самых важных тем связанных с управлением данными, включая их модификацию, слежение за ними и передачу. Мы начнем с самых простых вещей таких как State и Binding.

Читать далее

Галактика Андромеды

Level of difficultyMedium
Reading time21 min
Views36K

Галактика, расположенная в созвездии Андромеды, является ближайшей к нам крупной галактикой, и ярчайшей из спиральных галактик, после Млечного пути (который тоже является спиральной галактикой, и тоже виден на нашем небе). Есть еще Магеллановы облака, которые по яркости соперничают с Галактикой Андромеды, но они — галактики не самостоятельные, а их спиральные структуры уже сильно разрушены приливным влиянием Млечного пути, в гравитационном плену которого они находятся уже несколько миллиардов лет. Они — наши спутники. А галактика Андромеды — это полноценный и очень крупный звёздный город, являющийся одновременно и центром влияния на другие звездные города — меньшего размера, объединивший их вокруг себя в количестве нескольких десятков.

Будет справедливым утверждение, что Галактика Андромеды возглавляет Местную Группу галактик. Не Мы! — Не Млечный путь, а именно галактика Андромеды здесь главная.

Читать далее

YandexMapKit и SwiftUI: обратный геокодинг

Reading time4 min
Views903

Обратное геокодирование (получение адреса по географическим координатам) на стороне клиента в рамках разработка мобильного приложения под IOS для мониторинга автотранспорта

IOS - 15.5, SwiftUI, YandexMapKit

Я не стану описывать в статье способ подключения YandexMapKit к проекту. Во-первых, это не сложно, а во-вторых описаний этого процессе в интернете предостаточно, в том числе на сайте YandexMapKit SDK.

Однако хочу "пожаловаться", что исключительно из-за картографии Яндекса в проекте начали использовать CocoaPods, потому что вендор (по состоянию на март 2024 года) не снизошел до разработки пакета, который можно подключить к проекту минуя Pods.

Читать далее

SwiftUI уроки (часть 5)

Reading time14 min
Views4.5K

ссылка на 4ю часть

Buttons, Labels, Gradients

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

Читать далее

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views51K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее

Как я начал заниматься спортом по 2-3 часа в день

Level of difficultyEasy
Reading time6 min
Views43K

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

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

Читать далее

SwiftUI уроки (часть 3)

Reading time15 min
Views5.7K

Ссылка на часть 2

Создаем UI с помощью стеков

Стеки в SUI похожи на стеквью в UIKit. Если комбинировать горизонтальные и вертикальные стеки можно создать комплексный UI для приложения, который будет отлично адаптировать под различные размеры экранов и типы устройств. В UIKit основное средство создания UI — это auto layout который применяется для правильного отображения вьюшек на экране. Зачастую для начинающих разработчиков автолейаут кажется чем‑то очень сложным как для применения так и обучения, так что если вы уже переходите на SUI — есть хорошие новости, автолэйаут вам больше не потребуется. Вы будете оперировать такими компонентами как VStack, HStack, ZStack.

Читать далее

Оптимальный архитектурный шаблон iOS-приложения

Level of difficultyMedium
Reading time21 min
Views9.4K

В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.

Читать далее

Как устроен @State в SwiftUI

Reading time7 min
Views4.7K

Привет! Меня зовут Илья, я iOS разработчик в компании Банки.ру
Уже больше двух лет наше приложение мы пишем на SwiftUI.

В статье расскажу о Property Wrapper'е @State.

Читать далее

Топ-5 распространенных практик написания хорошего Swift-кода

Reading time10 min
Views2.5K

Эффективность при написании кода заключается не только в достижении желаемой функциональности, но и в создании кода, который будет производительным, удобным в сопровождении и легко читаемым. В Swift то, как вы пишете код, может оказывать сильное влияние на общую производительность и user experience ваших приложений. В этой статье мы рассмотрим некоторые ключевые сравнения и практики программирования на Swift, которые могут значительно повысить эффективность вашего кода.

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

Читать далее

Как открыть успешный бизнес с первой попытки, если сейчас вы в найме

Level of difficultyEasy
Reading time6 min
Views13K

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

Читать далее

Заводим Яндекс Карты в Compose Multiplatform

Level of difficultyMedium
Reading time11 min
Views5.9K

Привет! Это мой первый пост на Хабре, буду рад услышать профессиональное и не очень мнение по поводу этой статьи.

Реализуем Яндекс Карты в KMP проекте с использованием Compose Multiplatform. Нестандартное решение с интерфейсом на Swift и передачей кода через DI.

Читать далее

Упрощаем локализацию iOS-приложения со String Catalogs

Level of difficultyMedium
Reading time6 min
Views5.3K

Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее, что ты их сможешь заработать. Это же правило справедливо и в обратную сторону: клиент более охотно будет пользоваться твоим продуктом, если он может разговаривать с ним на одном языке.

Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.

Читать далее

Как выйти из тупика и начать расти: 5 ментальных ловушек, которые мешают это сделать

Level of difficultyEasy
Reading time12 min
Views38K

Бывает ли у вас ощущение, что несмотря на все усилия, вы не получаете тех результатов, на которые рассчитываете? Что последние несколько лет в жизни ничего не меняется или становится только хуже. Кажется, что вы зашли в тупик – развития нет, роста нет, перспективы не радуют. Если это про вас, то причина, скорее всего, в одной из ловушек мышления, которые мешают развитию.

Читать далее

Когда мы теряем мотивацию

Level of difficultyEasy
Reading time2 min
Views8.1K

Иногда, когда мы пишем код или работаем над любым другим проектами, в основном PET-проектами, мы теряем мотивацию. Но как избежать этого и работать как обычно?

Читать далее

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru

Level of difficultyMedium
Reading time16 min
Views4.9K

Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru.

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

В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.

Читать далее

Упражнения для глаз

Level of difficultyEasy
Reading time5 min
Views11K

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

Эти упражнения позволяют сохранять качественное зрение в любом возрасте.

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

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

Выполнять упражнения  обязательно с удовольствием, никакое напряжение не допустимо.

Читать далее

Что можно и что нельзя делать с Async/Await

Reading time3 min
Views17K

Синтаксис async/await, введенный в Swift 5.5, значительно упростил асинхронное программирование, сделав его более доступным и интуитивно понятным. Однако, как и любой мощный инструмент, он может быть использован неправильно. Здесь я хочу рассмотреть пять распространенных ошибок, которые разработчики часто допускают при использовании async/await и предложить стратегии их избегания.

Ошибка 1: Необработка Ошибок

Асинхронные функции Swift могут вызывать ошибки, так же как и их синхронные аналоги. Однако многие разработчики, особенно те, кто только начинает работать с синтаксисом async/await, могут упускать обработку ошибок, что приводит к сбоям или непредсказуемому поведению.

Решение

Синтаксис do-catch в Swift - ключ к обработке ошибок из асинхронных функций. Обернув вызов асинхронной функции в блок do-catch, вы можете перехватить и обработать любые выброшенные ошибки, предотвратив сбои и обеспечивая предсказуемое поведение вашего приложения.

Читать далее

Information

Rating
2,264-th
Registered
Activity