Как стать автором
Обновить
0
0
Алексей Овчинников @AlexeyOvchinnikov

Пользователь

Отправить сообщение

Навигация в SwiftUI или NavigationView и его особенности

Время на прочтение5 мин
Количество просмотров19K

Первое с чем вы сталкиваетесь при написании мобильного приложения, это переходы с одного экрана на другой и обратно (в случае простого приложения), а так же многоуровневые переходы и моментальный возврат на первый экран (back to root view). Всё это мы разберём на примерах в данной статье, ну а для начала немного углубимся в теорию.

Что такое NavigationView?

Представьте, что перед вами коробка (NavigationView) в которой много мячиков (View) и эти мячики могут соприкасаться друг с другом (переход с View на View) только в рамках этой коробки. 

Но есть так же и случаи, когда внутри коробки, помимо шариков, есть ещё одна коробка поменьше, которая содержит другие маленькие шарики (история про .sheet и .fullScreenCover - модальные окна). Это так же разберём ниже в статье.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии5

Как стать iOS-разработчиком?

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров21K

Мобильные устройства помогают оставаться на связи с друзьями, работать, развлекаться и повышать продуктивность. iOS, несмотря на введенные санкции и сокращение продаж техники в РФ, остается популярной платформой, пользователи которой ожидают качественные и стабильные приложения для смартфонов, планшетов, умных часов и ТВ‑приставок.

Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.

Читать далее
Всего голосов 31: ↑30 и ↓1+29
Комментарии9

Чистый код, часть 1

Время на прочтение16 мин
Количество просмотров21K

Привет! В этом посте я хочу обсудить, что такое чистый код и почему я считаю его очень важной практикой. Если у вас всё руки не доходили до того, чтобы сесть и подробно почитать книги Дяди Боба, я подготовил небольшой конспект по его видеолекциям со своими примерами с самым главным.

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

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

Читать далее
Всего голосов 23: ↑19 и ↓4+20
Комментарии36

Работаем с Git: трудовые будни

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров37K

Прошлая статья «Работаем с Git: первые шаги в GitHub» была посвящена установке, настройке Git и классическим операциям из набора для новичков GitHub. А теперь перейдём к практике и рассмотрим «горячие» сценарии, которые делают трудовые будни куда веселее. Или не очень.

Читать далее
Всего голосов 19: ↑16 и ↓3+16
Комментарии18

Как самостоятельно прокачивать английский

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров32K

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

Читать далее
Всего голосов 20: ↑17 и ↓3+15
Комментарии68

10 типичных ошибок в LinkedIn, которые пора исправить

Время на прочтение8 мин
Количество просмотров10K

Когда пользователи откликаются на Remote вакансии в LinkedIn, они часто не получают ответов. Есть подходы, которые помогают увеличить количество ответов на запросы, например, прямое общение с работодателями через Inmails. Но для верного и результативного общения требуется сделать ряд подготовительных действий. Первое из которых - обновление профиля в LinkedIN и исправление наиболее частых ошибок.

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

Не стоит повторять одни и те же ошибки. Здесь мы рассмотрим 10 типичных ошибок, которые совершают многие пользователи LinkedIN при создании профиля и поясняем, как повысить эффективность профиля за счет их исправления.

Читать далее
Всего голосов 21: ↑12 и ↓9+8
Комментарии4

Знакомимся с Notion Ai

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров23K

В этой статье мы будем говорить о Notion AI - новой языковой модели, которая недавно была представлена в мире искусственного интеллекта.

Notion AI встроен в Notion, который многие программисты используют для документации и ведения проектов.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии18

Конец фронтенд-разработки

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров117K

Большие языковые модели, такие как GPT-4, с угрожающей скоростью становятся все более эффективными. Через пару лет нам больше не понадобятся разработчики!
...Или, по крайней мере, такая позиция становится вирусной в Твиттере. Я гораздо более оптимистично смотрю на то, что эти достижения ИИ означают для будущего разработки программного обеспечения.

Читать далее
Всего голосов 57: ↑46 и ↓11+50
Комментарии224

Казалось бы, простой вопрос: что такое паттерны проектирования?

Время на прочтение6 мин
Количество просмотров18K
image

В индустрии разработки ПО есть ряд тем, о которых ведутся споры почти в каждой компании. Я считаю, что история паттернов проектирования — одна из них. Можно найти сколько угодно постов, статей и ответов на Quora/Stackoverflow в пользу и не в пользу паттернов проектирования. Например, на днях я наткнулся на этот старый вопрос на Quora:
«Почему сейчас программисты меньше говорят о паттернах проектирования? Какие паттерны (если они есть) все еще представляют ценность?»
Читать дальше →
Всего голосов 17: ↑15 и ↓2+22
Комментарии3

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров20K

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

Читать далее
Всего голосов 23: ↑21 и ↓2+23
Комментарии34

Git для новичков (часть 1)

Время на прочтение5 мин
Количество просмотров619K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее
Всего голосов 13: ↑6 и ↓7+4
Комментарии10

Коммиты — это снимки, а не различия

Время на прочтение14 мин
Количество просмотров47K

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.

Читать далее
Всего голосов 35: ↑29 и ↓6+36
Комментарии55

30 команд Git, необходимых для освоения интерфейса командной строки Git

Время на прочтение9 мин
Количество просмотров425K

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.
Читать дальше →
Всего голосов 64: ↑49 и ↓15+54
Комментарии63

Как взломать собеседование

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров33K

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

Кирилл Розов @kirich1409, известный многим Android-разработчикам, на нашей конференции Mobius выступал с докладом «Как пройти архитектурную секцию собеседования». А заодно на той же конференции ответил Анне Жарковой @anioutka на более общие вопросы о собеседованиях в целом, не связанные с мобильной разработкой.

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

Читать далее
Всего голосов 29: ↑17 и ↓12+8
Комментарии15

Почему в вашем коде так сложно разобраться

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров14K

Сейчас 1:30 ночи, и я смотрю на фрагмент кода, который написал около месяца назад. В то время он казался мне произведением искусства. Все здесь имело смысл. Он был элегантен, прост и замечателен. Но больше нет. У меня завтра дедлайн, а я обнаружил баг всего несколько часов назад. То, что казалось простым и логичным в то время, сейчас просто не поддается моему пониманию. Конечно, если я написал этот код, мне ведь должно хватить мозгов, чтобы понять его?

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

Читать далее
Всего голосов 20: ↑18 и ↓2+21
Комментарии7

Как не бояться писать на английском на работе

Время на прочтение5 мин
Количество просмотров6.7K

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

Читать далее
Всего голосов 9: ↑6 и ↓3+6
Комментарии3

Эффект Рогатки: как взломать дофаминовую матрицу

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров52K

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

Давайте честно признаем: наша способность добросовестно концентрироваться на делах давно вышла из чата. Когнитивные проблемы нашего времени — это быстрая потеря интереса ко всему (что не позволяет нам глубоко и приятно-долго исследовать новое), а также стресс, выгорание, тревожность, вечная усталость, отсутствие концентрации, brain fog и так далее. Информационный фон выжигает нашу нервную систему настолько, что нас буквально тошнит от любого рода познавательной деятельности — мы испытываем отравление новизной.

Проблемы эти, кстати, не новые и на тему написано множество книг, монографий, проведено множество ресерчей, но чем больше подобной информации, тем сложнее в ней найти что-то реально полезное и эффективное — чтобы вот прочитал немного, выписал себе алгоритм и стал счастливым.

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

Вам, конечно, может показаться, что я зря смешиваю потерю интереса к деятельности и стресс — ведь они, кажется, на разных краях стола. Но я проблему вижу так: находясь в вечном стрессе, мы жадно хватаемся за то, что дарит нам положительные эмоции. Пребывая в привычном блэкауте с черными кругами под глазами, мы встречаем человечка, да каааак начинаем им интересоваться и увлекаться, да так упорно, хватаясь за него как за спасительную соломинку, что… через какое-то время перегораем. Как говорят американцы, balls deep. Работает не только с человечками — по такой же гнусной схеме мы обычно набрасываемся на все, что нам внезапно понравилось, особенно на фоне рутинной серости, субъективного однообразия, всемирного сумасшествия и всей этой хтони. Мы постоянно бегаем по этому убивающему нас циклу — набрасываясь на то, что нас вроде как драйвит, быстро выжирая это без остатка, теряя интерес и снова погружаясь в плаванье в этом супе из кортизола.

Читать далее
Всего голосов 75: ↑71 и ↓4+83
Комментарии95

Немного практики функционального программирования в Swift для начинающих

Время на прочтение34 мин
Количество просмотров102K


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

Функциональное Программирование: Определение


Прежде всего, Функциональное Программирование — это не язык или синтаксис, а скорее всего — способ решения проблем путем разбиения сложных процессов на более простые и последующей их композиции. Как следует из названия "Функциональное программирование", единицей композиции для данного подхода является функция; и цель такой функции — избежать изменения состояния или значений за пределами своей области действия (scope).

В Мире Swift для этого есть все условия, ибо функции здесь являются такими же полноправными участниками процесса программирования, как и объекты, а проблема изменяемости (mutation) решается на уровне концепции value ТИПОВ (структур struct и перечислений enum), которые помогают управлять изменяемостью (mutation) и четко сообщают о том, как и когда это может произойти.

Однако Swift не является в полном смысле языком Функционального программирования, он не принуждает вас к Функциональному программированию, хотя и признает преимущества Функциональных подходов и находит способы встраивания их.

В этой статье мы сфокусируемся на использовании встроенных в Swift (то есть «из коробки») элементов Функционального программирования и понимании того, как можно их комфортно использовать в вашем приложении.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии18

Как делать заметки как программист

Время на прочтение5 мин
Количество просмотров73K

Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.


Потом, когда я открыл для себя MOOC видео курсы, продолжил использовать те же антипаттерны, что и в школьные времена, но уже не так безобразно: с помощью VimWiki и позже — с Jupyter.


Записи всё еще были плохо структурированы. Посмотрите на это: у меня даже мотивации не хватает на то, чтобы просто открыть и посмотреть на то, что там внутри:


image


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


Основная идея заключается в том, чтобы спроецировать нашу память в записи (а не память лектора), используя принципы разработки программ.

Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии70

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Уровень сложностиСложный
Время на прочтение40 мин
Количество просмотров196K

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

Начнём долгий путь
Всего голосов 34: ↑31 и ↓3+37
Комментарии77
1

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность