Скорее всего, многие из вас слышали или даже использовали Texture в своей работе.
Не могу не поделиться кратким описанием, что это и зачем же он используется:
Texture - это фреймворк для iOS, построенный поверх UIKit, который обеспечивает плавность и отзывчивость даже самых сложных пользовательских интерфейсов. Изначально он был создан для создания Paper и сочетается с анимацией pop, основанной на физике, но он также эффективен при использовании UIKit Dynamics и обычных приложений. Совсем недавно он был использован для переработки приложения Pinterest.
Если вы когда-либо сталкивались с ошибками повторного использования ячеек, пытались обеспечить высокую производительность предварительной загрузки данных для страницы или интерфейса в стиле прокрутки или даже просто пытались удержать свое приложение от выпадения слишком большого количества кадров, вы можете извлечь выгоду из интеграции Texture.
https://texturegroup.org/
#iOSDev #iOS #Texture
Не могу не поделиться кратким описанием, что это и зачем же он используется:
Texture - это фреймворк для iOS, построенный поверх UIKit, который обеспечивает плавность и отзывчивость даже самых сложных пользовательских интерфейсов. Изначально он был создан для создания Paper и сочетается с анимацией pop, основанной на физике, но он также эффективен при использовании UIKit Dynamics и обычных приложений. Совсем недавно он был использован для переработки приложения Pinterest.
Если вы когда-либо сталкивались с ошибками повторного использования ячеек, пытались обеспечить высокую производительность предварительной загрузки данных для страницы или интерфейса в стиле прокрутки или даже просто пытались удержать свое приложение от выпадения слишком большого количества кадров, вы можете извлечь выгоду из интеграции Texture.
https://texturegroup.org/
#iOSDev #iOS #Texture
Если вы хотите почитать что-то, что не связано с программированием напрямую, то я бы рекомендовал обратить внимание на книгу от Даниэля Канемана:
"Думай медленно... Решай быстро"
Наши действия и поступки определены нашими мыслями. Но всегда ли мы контролируем наше мышление? Нобелевский лауреат Даниэль Канеман объясняет, почему мы подчас совершаем нерациональные поступки и как мы принимаем неверные решения. У нас имеется две системы мышления. «Медленное» мышление включается, когда мы решаем задачу или выбираем товар в магазине. Обычно нам кажется, что мы уверенно контролируем эти процессы, но не будем забывать, что позади нашего сознания в фоновом режиме постоянно работает «быстрое» мышление – автоматическое, мгновенное и неосознаваемое…
"Думай медленно... Решай быстро"
Наши действия и поступки определены нашими мыслями. Но всегда ли мы контролируем наше мышление? Нобелевский лауреат Даниэль Канеман объясняет, почему мы подчас совершаем нерациональные поступки и как мы принимаем неверные решения. У нас имеется две системы мышления. «Медленное» мышление включается, когда мы решаем задачу или выбираем товар в магазине. Обычно нам кажется, что мы уверенно контролируем эти процессы, но не будем забывать, что позади нашего сознания в фоновом режиме постоянно работает «быстрое» мышление – автоматическое, мгновенное и неосознаваемое…
Супер-краткое сравнение баз данных, которые так или иначе приходилось использовать в работе и пет-проектах.
1. SQLite
Технически определяемая как реляционная система управления базами данных (РСУБД), SQLite является самым популярным в мире механизмом баз данных.
В отличие от плоского файла или иерархической системы, эта база данных iOS хранит данные в таблицах. Органично интегрированная в приложение, SQLite работает как отдельная служба или в фоновом режиме, оставаясь очень легковесной.
Почему именно SQLite?
- Простота внедрения
- Не требуется установка и нулевая конфигурация
- Высокая переносимость и совместимость с iOS и любой платформой - от Windows до macOS, от Linux до Android.
SQLite может связывать несколько языков программирования, включая C++, C#, JavaScript, Objective-C, PHP, Ruby, Java и Python.
2. Realm
Формально являясь MongoDB, Realm представляет собой систему управления объектными базами данных с открытым исходным кодом. С помощью этой объектно-ориентированной базы данных разработчики могут кодировать отношения между объектами. Если SQLite использует базы данных SQL, то Realm использует C++. Новичок на сцене приложений для iOS, Realm составляет сильную конкуренцию специально разработанным для Android и iOS Xamarin и React Native.
Почему именно Realm?
- Он быстрее, по сравнению с SQLite и Core Data.
- Благодаря ценной масштабируемости, Realm может обрабатывать большое количество пользователей и данных.
- Для разработчиков имеется четкая документация, облегчающая процесс разработки.
- У него есть сеть поддержки актрисы Twitter, Github и StackOverflow.
3. Core Data
Спонсируемый Apple, Core Data позволяет сохранять данные приложения для автономного использования, кэшировать временные данные приложения, определять типы и категории данных. Если быть точным, Data Core - это фреймворк персистентности, тип промежуточного программного обеспечения, которое хранит данные в базе данных - он имеет возможность использовать SQLite в качестве базы данных.
Почему именно Core Data
- Использует специфические для Apple языки, такие как Swift и Objective-C.
- Он быстрее SQLite при хранении данных
- Фреймворк имеет встроенные функции, которые сокращают написанный код на 70%
- Данные могут быть организованы в бинарные, XML или SQLite хранилища.
1. SQLite
Технически определяемая как реляционная система управления базами данных (РСУБД), SQLite является самым популярным в мире механизмом баз данных.
В отличие от плоского файла или иерархической системы, эта база данных iOS хранит данные в таблицах. Органично интегрированная в приложение, SQLite работает как отдельная служба или в фоновом режиме, оставаясь очень легковесной.
Почему именно SQLite?
- Простота внедрения
- Не требуется установка и нулевая конфигурация
- Высокая переносимость и совместимость с iOS и любой платформой - от Windows до macOS, от Linux до Android.
SQLite может связывать несколько языков программирования, включая C++, C#, JavaScript, Objective-C, PHP, Ruby, Java и Python.
2. Realm
Формально являясь MongoDB, Realm представляет собой систему управления объектными базами данных с открытым исходным кодом. С помощью этой объектно-ориентированной базы данных разработчики могут кодировать отношения между объектами. Если SQLite использует базы данных SQL, то Realm использует C++. Новичок на сцене приложений для iOS, Realm составляет сильную конкуренцию специально разработанным для Android и iOS Xamarin и React Native.
Почему именно Realm?
- Он быстрее, по сравнению с SQLite и Core Data.
- Благодаря ценной масштабируемости, Realm может обрабатывать большое количество пользователей и данных.
- Для разработчиков имеется четкая документация, облегчающая процесс разработки.
- У него есть сеть поддержки актрисы Twitter, Github и StackOverflow.
3. Core Data
Спонсируемый Apple, Core Data позволяет сохранять данные приложения для автономного использования, кэшировать временные данные приложения, определять типы и категории данных. Если быть точным, Data Core - это фреймворк персистентности, тип промежуточного программного обеспечения, которое хранит данные в базе данных - он имеет возможность использовать SQLite в качестве базы данных.
Почему именно Core Data
- Использует специфические для Apple языки, такие как Swift и Objective-C.
- Он быстрее SQLite при хранении данных
- Фреймворк имеет встроенные функции, которые сокращают написанный код на 70%
- Данные могут быть организованы в бинарные, XML или SQLite хранилища.
Возможно, вы считаете, что столкнулись с выгоранием. Вопрос этот сложный и морально, и физически. Постарался перевести несколько советов, как этого можно избежать:
Посмотрите на количество задач.
Решите, какая из них не является важной, чтобы закончить ее первой. Установите рейтинг для каждой задачи. Проверьте объем воздействия и усилий для каждой задачи. Избавьтесь от того, что не оказывает влияния и требует много усилий. Сосредоточьтесь сначала на тех делах, которые имеют огромное влияние и не требуют больших усилий. Во время работы блокируйте социальные сети и уведомления в браузере.
Постарайтесь сохранять свежесть разума.
Если вы каждый день работаете с одной и той же старой технологией, то ситуация ухудшается, и ваша работа становится однообразной. Конечно, у вас может быть работа, где ваша ответственность не позволяет вам пробовать разные технологии или что-то менять, но вы можете попробовать переключиться. Посвятите 20% своего времени изучению новых технологий или созданию собственного проекта. Пробуйте новые библиотеки, вносите свой вклад в открытый исходный код и выходите за пределы своей зоны комфорта. Это не поможет вам мгновенно, но может окупиться в долгосрочной перспективе. Эта стратегия поможет вам получить лучшую работу или повышение в будущем.
Регулярно делайте перерывы в течение дня.
Сидение по 8-10 часов перед компьютером без перерыва не поможет вам быть продуктивным. Научно доказано, что продуктивность резко снижается после 4 часов сосредоточенной работы. Поэтому разминайтесь каждый час, прогуляйтесь или съешьте что-нибудь. Поговорите с коллегами, спросите, не нужно ли им просмотреть код или помочь с юнит-тестами. Регулярный перерыв может творить чудеса в кодинге, особенно когда вы погружены в отладку проекта. При работе над любым проектом вы можете следовать технике Pomodoro.
Не просто кодируйте. Раз в несколько месяцев делайте перерыв в работе над кодом и отправляйтесь в отпуск. Это одна из самых освежающих вещей, которые вы можете сделать. Проведите время со своей семьей и друзьями. Уделяйте время чтению книг, посещению встреч или конференций, слушайте отраслевые подкасты или пишите собственные технические блоги (как раз этим я сейчас и занимаюсь).
Занимайтесь спортом и высыпайтесь.
Старайтесь делать физические упражнения хотя бы 2-3 раза в неделю или занимайтесь плаванием. Включите в свой рацион здоровую пищу, овощи, орехи и фрукты. Получайте достаточно сна и используйте шумоподавление. Ниже приведены некоторые рекомендации по оптимизации вашего сна:
- Ограничьте потребление кофеина после 14:00
- Уменьшите количество синего света (пользователи Mac, включите ночной режим, пользователи Windows - ночной свет)
- Понизьте температуру в спальне.
- Установите затемненные шторы или используйте маску для глаз.
- В больших проектах всегда следуйте итеративному процессу разработки. Разработайте несколько модулей, скомпилируйте и протестируйте их. Разработайте еще несколько модулей. Не пишите целую огромную программу, не компилируя и не отлаживая ее, а затем пытайтесь заставить ее работать. Это быстрый путь к разочарованию.
Посмотрите на количество задач.
Решите, какая из них не является важной, чтобы закончить ее первой. Установите рейтинг для каждой задачи. Проверьте объем воздействия и усилий для каждой задачи. Избавьтесь от того, что не оказывает влияния и требует много усилий. Сосредоточьтесь сначала на тех делах, которые имеют огромное влияние и не требуют больших усилий. Во время работы блокируйте социальные сети и уведомления в браузере.
Постарайтесь сохранять свежесть разума.
Если вы каждый день работаете с одной и той же старой технологией, то ситуация ухудшается, и ваша работа становится однообразной. Конечно, у вас может быть работа, где ваша ответственность не позволяет вам пробовать разные технологии или что-то менять, но вы можете попробовать переключиться. Посвятите 20% своего времени изучению новых технологий или созданию собственного проекта. Пробуйте новые библиотеки, вносите свой вклад в открытый исходный код и выходите за пределы своей зоны комфорта. Это не поможет вам мгновенно, но может окупиться в долгосрочной перспективе. Эта стратегия поможет вам получить лучшую работу или повышение в будущем.
Регулярно делайте перерывы в течение дня.
Сидение по 8-10 часов перед компьютером без перерыва не поможет вам быть продуктивным. Научно доказано, что продуктивность резко снижается после 4 часов сосредоточенной работы. Поэтому разминайтесь каждый час, прогуляйтесь или съешьте что-нибудь. Поговорите с коллегами, спросите, не нужно ли им просмотреть код или помочь с юнит-тестами. Регулярный перерыв может творить чудеса в кодинге, особенно когда вы погружены в отладку проекта. При работе над любым проектом вы можете следовать технике Pomodoro.
Не просто кодируйте. Раз в несколько месяцев делайте перерыв в работе над кодом и отправляйтесь в отпуск. Это одна из самых освежающих вещей, которые вы можете сделать. Проведите время со своей семьей и друзьями. Уделяйте время чтению книг, посещению встреч или конференций, слушайте отраслевые подкасты или пишите собственные технические блоги (как раз этим я сейчас и занимаюсь).
Занимайтесь спортом и высыпайтесь.
Старайтесь делать физические упражнения хотя бы 2-3 раза в неделю или занимайтесь плаванием. Включите в свой рацион здоровую пищу, овощи, орехи и фрукты. Получайте достаточно сна и используйте шумоподавление. Ниже приведены некоторые рекомендации по оптимизации вашего сна:
- Ограничьте потребление кофеина после 14:00
- Уменьшите количество синего света (пользователи Mac, включите ночной режим, пользователи Windows - ночной свет)
- Понизьте температуру в спальне.
- Установите затемненные шторы или используйте маску для глаз.
- В больших проектах всегда следуйте итеративному процессу разработки. Разработайте несколько модулей, скомпилируйте и протестируйте их. Разработайте еще несколько модулей. Не пишите целую огромную программу, не компилируя и не отлаживая ее, а затем пытайтесь заставить ее работать. Это быстрый путь к разочарованию.
Рубрика #whattosee?
Что, если вы могли бы оставить работу за пределами офиса? Или не думать о бытовых проблемах на работе?
Разделение - сериал об инженере, который подвергся подобной процедуре, а вот хорошо это, или плохо - стараются рассказать сценаристы сериала для Apple.
Секретное сообщение для тех, кто смог: во-первых, вы молодцы, во-вторых, вы знаете, что сделать! Надеюсь, вам понравился квест!
Что, если вы могли бы оставить работу за пределами офиса? Или не думать о бытовых проблемах на работе?
Разделение - сериал об инженере, который подвергся подобной процедуре, а вот хорошо это, или плохо - стараются рассказать сценаристы сериала для Apple.
Магические слова SOLID, DRY, KISS, YAGNI
Освежим знания?
SOLID
S -single responsibility. Принцип единственной ответственности (single responsibility principle). Для каждого класса должно быть определено единственное назначение. Все ресурсы, необходимые для его осуществления, должны быть инкапсулированы в этот класс и подчинены только этой задаче.
O -open–closed. Принцип открытости/закрытости (open-closed principle) «программные сущности должны быть открыты для расширения, но закрыты для модификации».
L -Liskov substitution. Принцип подстановки Лисков (Liskov substitution principle) «объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы»
I -interface segregation. Принцип разделения интерфейса (interface segregation principle) «много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения»
D -dependency inversion. Принцип инверсии зависимостей (dependency inversion principle) «Зависимость на Абстракциях. Нет зависимости на что-то конкретное»
DRY
Don’t repeat yourself
Это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования. Принцип DRY формулируется как: «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы». Он был сформулирован Энди Хантом (англ.) и Дэйвом Томасом в их книге The Pragmatic Programmer (англ.). Они применяли этот принцип к «схемам баз данных, планам тестирования, сборкам программного обеспечения, даже к документации». Когда принцип DRY применяется успешно, изменение единственного элемента системы не требует внесения изменений в другие, логически не связанные элементы. Те элементы, которые логически связаны, изменяются предсказуемо и единообразно. Помимо использования методов и функций в коде, Томас и Хант считают необходимым использование генераторов кода, автоматических систем компиляции.
KISS
Keep it simple stupid
Этот принцип лучше всего иллюстрируется историей, когда Джонсон вручил команде инженеров-авиаконструкторов набор инструментов, поставив им условие: механик среднего уровня должен суметь отремонтировать реактивный самолёт, который они проектировали, в полевых условиях только с этими инструментами. Таким образом, «stupid» относится к отношению между тем, что всё ломается, и сложностью необходимого для этого ремонта.
YAGNI
You aren't gonna need it
Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, но может понадобиться в будущем, приводит к следующим нежелательным последствиям:
- Тратится время, которое было бы затрачено на добавление, тестирование и улучшение необходимой функциональности.
- Новые функции должны быть отлажены, документированы и сопровождаться.
- Новая функциональность ограничивает то, что может быть сделано в будущем, — ненужные новые функции могут впоследствии помешать добавить новые нужные.
- Пока новые функции действительно не нужны, трудно полностью предугадать, что они должны делать, и протестировать их. Если новые функции тщательно не протестированы, они могут неправильно работать, когда впоследствии понадобятся.
- Это приводит к тому, что программное обеспечение становится более сложным (подчас чрезмерно сложным).
- Если вся функциональность не документирована, она может так и остаться неизвестной пользователям, но может создать различные риски для безопасности пользовательской системы.
- Добавление новой функциональности может привести к желанию ещё более новой функциональности, приводя к эффекту «снежного кома».
Освежим знания?
SOLID
S -
O -
L -
I -
D -
DRY
Это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования. Принцип DRY формулируется как: «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы». Он был сформулирован Энди Хантом (англ.) и Дэйвом Томасом в их книге The Pragmatic Programmer (англ.). Они применяли этот принцип к «схемам баз данных, планам тестирования, сборкам программного обеспечения, даже к документации». Когда принцип DRY применяется успешно, изменение единственного элемента системы не требует внесения изменений в другие, логически не связанные элементы. Те элементы, которые логически связаны, изменяются предсказуемо и единообразно. Помимо использования методов и функций в коде, Томас и Хант считают необходимым использование генераторов кода, автоматических систем компиляции.
KISS
Этот принцип лучше всего иллюстрируется историей, когда Джонсон вручил команде инженеров-авиаконструкторов набор инструментов, поставив им условие: механик среднего уровня должен суметь отремонтировать реактивный самолёт, который они проектировали, в полевых условиях только с этими инструментами. Таким образом, «stupid» относится к отношению между тем, что всё ломается, и сложностью необходимого для этого ремонта.
YAGNI
Согласно адептам принципа YAGNI, желание писать код, который не нужен прямо сейчас, но может понадобиться в будущем, приводит к следующим нежелательным последствиям:
- Тратится время, которое было бы затрачено на добавление, тестирование и улучшение необходимой функциональности.
- Новые функции должны быть отлажены, документированы и сопровождаться.
- Новая функциональность ограничивает то, что может быть сделано в будущем, — ненужные новые функции могут впоследствии помешать добавить новые нужные.
- Пока новые функции действительно не нужны, трудно полностью предугадать, что они должны делать, и протестировать их. Если новые функции тщательно не протестированы, они могут неправильно работать, когда впоследствии понадобятся.
- Это приводит к тому, что программное обеспечение становится более сложным (подчас чрезмерно сложным).
- Если вся функциональность не документирована, она может так и остаться неизвестной пользователям, но может создать различные риски для безопасности пользовательской системы.
- Добавление новой функциональности может привести к желанию ещё более новой функциональности, приводя к эффекту «снежного кома».
У Рея Вендерлиха появился раздел на GitHub с бесплатными книгами. Пусть они и не содержат супер-свежую информацию, но вполне могут оказаться полезными.
GitHub
GitHub - kodecocodes/deprecated-books: Kodeco Deprecated Books
Kodeco Deprecated Books. Contribute to kodecocodes/deprecated-books development by creating an account on GitHub.
Рубрика #whattosee?
Лайтовый сериал про то, как в будущем сознание умирающего человека можно будет переселить в цифровой мир. Именно по этому пути идет программист Нэйтан: после смерти в ДТП он переносится в виртуальный мир, где влюбляется в реальную девушку Нору.
Сериал с довольно понятным названием "Загрузка" может оказаться глубже, чем кажется.
Лайтовый сериал про то, как в будущем сознание умирающего человека можно будет переселить в цифровой мир. Именно по этому пути идет программист Нэйтан: после смерти в ДТП он переносится в виртуальный мир, где влюбляется в реальную девушку Нору.
Сериал с довольно понятным названием "Загрузка" может оказаться глубже, чем кажется.
Пустая трата времени или выбор нужного инструмента?
Возможно вы слышали о термине 10x - инженер.
Даже Авраам Линкольн как-то сказал: "Если бы у меня было 8 часов, чтобы срубить дерево, я бы потратил 7, затачивая свой топор."
Также можно сказать о разнице между джуном и сениор-разработчиком. Если джун будет пытаться 8 часов рубить тупым топором, то сениор потратит час на выбор нужной бензопилы и 5 минут, чтобы спилить дерево (отличный пример, кстати).
От себя добавлю - что очень полезно заранее иметь несколько разных инструментов, и тогда никакой лес не будет страшен.
Возможно вы слышали о термине 10x - инженер.
Даже Авраам Линкольн как-то сказал: "Если бы у меня было 8 часов, чтобы срубить дерево, я бы потратил 7, затачивая свой топор."
Также можно сказать о разнице между джуном и сениор-разработчиком. Если джун будет пытаться 8 часов рубить тупым топором, то сениор потратит час на выбор нужной бензопилы и 5 минут, чтобы спилить дерево (отличный пример, кстати).
От себя добавлю - что очень полезно заранее иметь несколько разных инструментов, и тогда никакой лес не будет страшен.
Недавно участвовал в конкурсе Телеграм для улучшения лиц в режиме реального времени (читать - с фронтальной камеры) и решил зафиксировать свой опыт в виде статьи на Medium
Вот здесь она на английском
А вот тут (на хабре) - на русском.
Вот здесь она на английском
А вот тут (на хабре) - на русском.
Написал статью про любопытный подход к код-ревью
https://telegra.ph/Piramida-kod-revyu-03-24
https://telegra.ph/Piramida-kod-revyu-03-24
Telegraph
Пирамида код-ревью
Пирамида код-ревью
К посту выше добавлю - не всегда получается следовать всем принципам, да и код-ревью в командах отличается почти всегда.
Поэтому будет здорово, если за код не будет стыдно, например, спустя год. А в команде - чтобы её новые участники понимали, что происходит здесь вообще и куда они попали.
Поэтому будет здорово, если за код не будет стыдно, например, спустя год. А в команде - чтобы её новые участники понимали, что происходит здесь вообще и куда они попали.
Apple выпустили серию уроков для обучения основам работы в Xcode, SwiftUI и UIKit для создания, цитирую, «привлекательных приложений» для iOS
#iOSDev #обучение
#iOSDev #обучение
Из любопытного: вы знали, что для map() или filter() можно использовать keyPath вместо closure()?
#любопытно #iOSDev
#любопытно #iOSDev
Что может вывести из себя
Механические клавиатуры - исчадия ада, когда вы пытаетесь сосредоточиться на сложной задаче, допустим, в опенспейсе. И моё сочувствие, если у вас нет наушников с шумоподавлением. Особый кайф - если в радиусе одного офиса больше одного любителя подолбить по кнопкам.
Механические клавиатуры - исчадия ада, когда вы пытаетесь сосредоточиться на сложной задаче, допустим, в опенспейсе. И моё сочувствие, если у вас нет наушников с шумоподавлением. Особый кайф - если в радиусе одного офиса больше одного любителя подолбить по кнопкам.
Рубрика #whattosee
Терминал (2004) - с Томом Хэнксом в главной роли.
Фильм рассказывает историю Виктора Наворски, отправившегося в Нью-Йорк из Восточной Европы. Пока Виктор летел в самолете, на его родине произошел государственный переворот. Оказавшись в международном аэропорту имени Джона Кеннеди с паспортом ниоткуда, он не имеет права въехать в Соединенные Штаты и должен коротать свои дни и ночи на скамейках у выхода 67, пока война в его родной стране не закончится.
Терминал (2004) - с Томом Хэнксом в главной роли.
Фильм рассказывает историю Виктора Наворски, отправившегося в Нью-Йорк из Восточной Европы. Пока Виктор летел в самолете, на его родине произошел государственный переворот. Оказавшись в международном аэропорту имени Джона Кеннеди с паспортом ниоткуда, он не имеет права въехать в Соединенные Штаты и должен коротать свои дни и ночи на скамейках у выхода 67, пока война в его родной стране не закончится.
https://vc.ru/life/387226-kak-ya-uvelichil-dohod-ot-mobilnogo-prilozheniya-v-130-raz-za-3-goda
Написал про свой опыт разработки мобильного приложения для iOS и MacOS. Надеюсь, это кого-то вдохновит на то, чтобы наконец закончить свой пет-проект. Уверен, что среди нас многие их начинали 😉
Написал про свой опыт разработки мобильного приложения для iOS и MacOS. Надеюсь, это кого-то вдохновит на то, чтобы наконец закончить свой пет-проект. Уверен, что среди нас многие их начинали 😉
vc.ru
Как я увеличил доход от мобильного приложения в 130 раз за 3 года — Личный опыт на vc.ru
Невыдуманная история об одном хобби-проекте, мой опыт, проблемы и пути их решения. Цифры, статистика, графики.
Самое главное — начать
В исследованиях, которые проводились преподавателем психологии Кеннеттом Макгроу, участвующим в эксперименте людям были даны сложные пазлы, и на решение их было выделено «неограниченное» количество времени. Перед тем, как пазлы были завершены, им сказали, что эксперимент уже окончен, и они могут отправляться домой, если захотят. Но, несмотря на это, целых 90% участников продолжили собирать пазл, стремясь завершить начатую задачу.
Так же и в случае, когда мы, например, читаем не очень интересную книгу, или смотрим какой-то фильм, который уже начинает утомлять.
Так и в нашей с вами работе, когда мы встречаем сложную задачу, неважно, перепиливание старого куска кода, или же реализация какой-то хардкорной дичи, самое главное — начать.
#любопытно #разработка
В исследованиях, которые проводились преподавателем психологии Кеннеттом Макгроу, участвующим в эксперименте людям были даны сложные пазлы, и на решение их было выделено «неограниченное» количество времени. Перед тем, как пазлы были завершены, им сказали, что эксперимент уже окончен, и они могут отправляться домой, если захотят. Но, несмотря на это, целых 90% участников продолжили собирать пазл, стремясь завершить начатую задачу.
Так же и в случае, когда мы, например, читаем не очень интересную книгу, или смотрим какой-то фильм, который уже начинает утомлять.
Так и в нашей с вами работе, когда мы встречаем сложную задачу, неважно, перепиливание старого куска кода, или же реализация какой-то хардкорной дичи, самое главное — начать.
#любопытно #разработка
Ресурсы, которые можно использовать для написания приложений
или для прокачки и расширения своих знаний
Сайт Рея Вендерлиха
Пожалуй, лучший портал на английском языке с туториалами. От самых простых к узкоспециализированным.
Есть бесплатная версия, есть подписки трёх уровней. Есть платные книги на разные темы, а недавно появился и раздел с бесплатными.
⭐ 10 из 10
Хабр
Хабр уже не торт?
Есть хабы разработки под iOS, Android. Хорошие статьи мелькают не так часто, как раньше. Но всё ещё появляются, и это уже неплохо.
⭐ 8 из 10
Medium
Крупнейший ресурс, всё обо всём.
Нас интересуют публикации по тегам iOS, Dev, хабы Better Programming и ему подобные.
В месяц доступно несколько бесплатных статей. Либо 5$ в месяц или 50$ в год. Если вы рассматриваете прокачку на долгосрочную перспективу, это неплохой выбор.
⭐ 10 из 10
Hacking with swift
Часто вы можете найти ответы на свои вопросы именно здесь
Примеры кода, детальный разбор фич.
⭐ 9.5 из 10
Stackoverflow
А вы думали, его здесь не будет?
⭐ ∞ из 10
или для прокачки и расширения своих знаний
Сайт Рея Вендерлиха
Пожалуй, лучший портал на английском языке с туториалами. От самых простых к узкоспециализированным.
Есть бесплатная версия, есть подписки трёх уровней. Есть платные книги на разные темы, а недавно появился и раздел с бесплатными.
⭐ 10 из 10
Хабр
Хабр уже не торт?
Есть хабы разработки под iOS, Android. Хорошие статьи мелькают не так часто, как раньше. Но всё ещё появляются, и это уже неплохо.
⭐ 8 из 10
Medium
Крупнейший ресурс, всё обо всём.
Нас интересуют публикации по тегам iOS, Dev, хабы Better Programming и ему подобные.
В месяц доступно несколько бесплатных статей. Либо 5$ в месяц или 50$ в год. Если вы рассматриваете прокачку на долгосрочную перспективу, это неплохой выбор.
⭐ 10 из 10
Hacking with swift
Часто вы можете найти ответы на свои вопросы именно здесь
Примеры кода, детальный разбор фич.
⭐ 9.5 из 10
Stackoverflow
А вы думали, его здесь не будет?
⭐ ∞ из 10
Самый доступный способ ускорить разработку в любых редакторах, не только при написании кода — это изучить комбинации клавиш.
Неплохое наглядное отображение шорткатов для Xcode.
Неплохое наглядное отображение шорткатов для Xcode.