с бинарного поиска начинаются почти все книги по алгоритмам. но иногда встречал вопрос, а где же его использовать его на практике?
Допустим, в очередной раз приходит менеджер с великолепной таской. Задача: найти быстро загаданное клиентом число. Вы почесав голову спрашиваете "число больше n?". И дальше по понятному многим сценарию. Вместо перечисления каждого числа по-очереди мы делим отсортированный порядок на 2 части и отсекаем лишнее
https://leetcode.com/explore/learn/card/binary-search/
Допустим, в очередной раз приходит менеджер с великолепной таской. Задача: найти быстро загаданное клиентом число. Вы почесав голову спрашиваете "число больше n?". И дальше по понятному многим сценарию. Вместо перечисления каждого числа по-очереди мы делим отсортированный порядок на 2 части и отсекаем лишнее
https://leetcode.com/explore/learn/card/binary-search/
Leetcode
Explore - LeetCode
LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore.
🔥3
но одна из самых интересных задач в бинарном поиске — это поиск в развернутом массиве. На литкоде эта задача сложности медиум. Я не смог решить за час и пошел искать решения в ютубе.
поэтому лучше приступать к ней после уверенного решения хотяб пары изи
поэтому лучше приступать к ней после уверенного решения хотяб пары изи
🔥2
кстати, тоже одна из практических задач с бинарным поиском — поиск первой невалидной версии апи
тоже не про мобилку, но попробую связать алгоритмы + теорию принятий решений
для меня решение литкод задач — это такой сборник специфичных кейсов. к ним лучше приходить, когда вы уже можете проходить на условного мидла на рынке:
- имеете от года опыта в продакшене
- сделали пару модулей сами
- разбираетесь с архитектурами
- понимаете язык и умеете синтезировать на нем код
вот наверное только с этого момента лучше изучать алгоритмы и нарабатывать базу решений. здесь они добавят вам сознательности, которая пока на нашем рынке не так ценится, как быстрое решение задач
https://www.youtube.com/watch?v=hfwIhCNDj6k
для меня решение литкод задач — это такой сборник специфичных кейсов. к ним лучше приходить, когда вы уже можете проходить на условного мидла на рынке:
- имеете от года опыта в продакшене
- сделали пару модулей сами
- разбираетесь с архитектурами
- понимаете язык и умеете синтезировать на нем код
вот наверное только с этого момента лучше изучать алгоритмы и нарабатывать базу решений. здесь они добавят вам сознательности, которая пока на нашем рынке не так ценится, как быстрое решение задач
https://www.youtube.com/watch?v=hfwIhCNDj6k
👎3👍1
О ритуалах и удаче
Когда я работал в мелких конторах, то видел тотальную неэффективность
Ритуальное соблюдение церемоний превращалось в перебор новых хайповых слов.
Стэндапы и планирования были ежедневными молитвами, которые не выполняли функцию. Это было слепым соблюдением догм священных писем, которые мало кто понимал.
Я буду просто это делать. И быть может создатель вознаградит меня удачей.
Формальное проведение таких церемонии ни к чему не приводило, а скорее просто забирало время.
Запихнуть как можно больше разных штук в каждый свободный слот. Но лишь чтобы казаться, а не быть.
Сохранить имидж передовой компании для рассказа на очередном совещании перед руководителем. Или оправдать свой внезапный успех, развеев слухи в удаче.
Бесспорно, это лучше бездействия. Любое действие увеличивает вероятность на успех. Но считаю, что в эпоху технических революций такой подход на бездумном избивании лбом пола приводил к засиживаниям на месте и травмам головы.
Когда я работал в мелких конторах, то видел тотальную неэффективность
Ритуальное соблюдение церемоний превращалось в перебор новых хайповых слов.
Стэндапы и планирования были ежедневными молитвами, которые не выполняли функцию. Это было слепым соблюдением догм священных писем, которые мало кто понимал.
Я буду просто это делать. И быть может создатель вознаградит меня удачей.
Формальное проведение таких церемонии ни к чему не приводило, а скорее просто забирало время.
Запихнуть как можно больше разных штук в каждый свободный слот. Но лишь чтобы казаться, а не быть.
Сохранить имидж передовой компании для рассказа на очередном совещании перед руководителем. Или оправдать свой внезапный успех, развеев слухи в удаче.
Бесспорно, это лучше бездействия. Любое действие увеличивает вероятность на успех. Но считаю, что в эпоху технических революций такой подход на бездумном избивании лбом пола приводил к засиживаниям на месте и травмам головы.
Очень хорошая статья по параллелизму и многопоточке
https://betterprogramming.pub/the-complete-guide-to-concurrency-and-multithreading-in-ios-59c5606795ca
https://betterprogramming.pub/the-complete-guide-to-concurrency-and-multithreading-in-ios-59c5606795ca
Medium
The Complete Guide to Concurrency and Multithreading in iOS
Main thread vs. background thread. Async/await and Actor. GCD vs. OperationQueue. Group dispatch, how to empower background thread, and…
🔥3😱1
Forwarded from Teamlead Good Reads – ежедневные советы про менеджмент людей и команд (Egor Tolstoy)
Перфекционисты – это разработчики, которые ставят сами себе очень высокую планку стандартов качества и делают все, чтобы ей соответствовать. Тут две проблемы. Во-первых, в большинстве случаев этот перфекционизм излишний и негативно влияет на сроки. Во-вторых, в погоне за недостижимым идеалом разработчик-перфекционист довольно быстро может начать выгорать.
Шесть признаков перфекциониста:
- Страх провала
- Подход «все или ничего»
- Не умеет делегировать
- Часто прокрастинирует
- Слишком сильно сфокусирован на результате
- Тяжело принимает конструктивную критику
Подробный рассказ про эти шесть признаков и подходы к управлению такими людьми
Шесть признаков перфекциониста:
- Страх провала
- Подход «все или ничего»
- Не умеет делегировать
- Часто прокрастинирует
- Слишком сильно сфокусирован на результате
- Тяжело принимает конструктивную критику
Подробный рассказ про эти шесть признаков и подходы к управлению такими людьми
Fellow
8 Tactics to Help Manage Perfectionists at Work
What does a perfectionist look like at work, and how can you support them? Here are 8 strategies to help you manage them!
👍7
заметил опять рынок поднялся...
иос разработка в топ 2 по средней оплате хабра (да да верим)
неужели опять резюме обновлять? 😄
https://habr.com/ru/company/gms/blog/651919/
иос разработка в топ 2 по средней оплате хабра (да да верим)
неужели опять резюме обновлять? 😄
https://habr.com/ru/company/gms/blog/651919/
Хабр
IT-фирмы в отчаянии из-за нехватки сотрудников. Бонусы выходят на новый уровень
Если вы еще не слышали, компании сейчас столкнулись с нехваткой сотрудников, и отчаянно пытаются нанять разработчиков (или хотя бы их не потерять). Меры встречаются беспрецедентные: некоторые...
кек.
не знал, что NSObject уже подписан к Hashable протоколу
https://stevenpcurtis.medium.com/why-do-we-ever-need-to-inherit-from-nsobject-b4ec111a58c7
не знал, что NSObject уже подписан к Hashable протоколу
https://stevenpcurtis.medium.com/why-do-we-ever-need-to-inherit-from-nsobject-b4ec111a58c7
Medium
Why do we ever need to inherit from NSObject?
Not just for Objective-C Programmers
Forwarded from Product Developer
Разработчик — больше чем профессиональный кодер
Я программист и я ненавижу встречи — с такой установкой я довольно долго жил. Десять черных квадратиков собрались, побухтели и разошлись. Встречи без четкой агенды, без плана, без цели, без итогов, без визуализации и без камер. Ууу аж трясёт!
Многие встречи могли бы быть письмом. Но есть такие ситуации, которые текстом сложнее и дольше. Например, когда нужно экстренно что-то поправить. Или когда тема слишком неизвестная и нужно побрейнштормить. Или когда нужно чтобы все высказали свое мнение и принять совместное решение. Короче, встречи были, есть и будут, как бы я к ним не относился.
Потом я понял, почему ненавижу встречи. Помните мем "я ограничен технологиями своего времени"? Так и мы. Пока не сделали нейролинк, нам приходится говорить словами через рот. А это ужасно долго. А еще разные люди почему-то понимают одни и те же слова по-разному. А еще кто-то много говорит одно и то же по кругу, а другие отмалчиваются. А еще кто-то обижается, но не понятно на что. А когда все без камер, вообще хрен поймёшь, что там у кого в голове. В общем, разные странности-сложности.
А потом я понял, что раз от встреч никуда не деться, и что это тоже моя работа, то надо быть в этом профессионалом. В продукте профессиональный разработчик — не только профессионально пишет код, но и общается. Доносит свои мысли аргументированно и открыто. Задает вопросы по сути, проясняя нужную информацию. Аппелирует к пользе для продукта при спорах. Не отклоняется от цели коммуникации.
Оказалось, что люди сильно раньше меня поняли, что коммуникация тоже должна быть профессиональной. И что есть целый навык профессионального проведения встреч — фасилитация. Оказывается, на встрече может быть специальный человек, который следит, чтобы все высказались и не отклонялись от темы встречи. А еще создает рабочую атмосферу, управляет неконструктивным поведением, вовлекает каждого участника и поддерживает энергию в группе.
Казалось бы, завести в команде фасилитатора и проблема решена. В чем профессионализм и при чем тут разработчик?
А при том. Чем больше фасилитатору приходится вмешиваться и останавливать кого-то или передавать слово, тем больше оверхед встречи. Если сами участники встречи будут чувствовать, что пора передать слово, или что отклоняются от темы, то это будет сильно продуктивнее. Даже встреча может раньше закончиться.
Поэтому в следующий раз, когда будете бугуртить, что встреча долгая и бестолковая, задайте себе вопрос: а что вы как профессионал сделали, чтобы она прошла продуктивно?
Я программист и я ненавижу встречи — с такой установкой я довольно долго жил. Десять черных квадратиков собрались, побухтели и разошлись. Встречи без четкой агенды, без плана, без цели, без итогов, без визуализации и без камер. Ууу аж трясёт!
Многие встречи могли бы быть письмом. Но есть такие ситуации, которые текстом сложнее и дольше. Например, когда нужно экстренно что-то поправить. Или когда тема слишком неизвестная и нужно побрейнштормить. Или когда нужно чтобы все высказали свое мнение и принять совместное решение. Короче, встречи были, есть и будут, как бы я к ним не относился.
Потом я понял, почему ненавижу встречи. Помните мем "я ограничен технологиями своего времени"? Так и мы. Пока не сделали нейролинк, нам приходится говорить словами через рот. А это ужасно долго. А еще разные люди почему-то понимают одни и те же слова по-разному. А еще кто-то много говорит одно и то же по кругу, а другие отмалчиваются. А еще кто-то обижается, но не понятно на что. А когда все без камер, вообще хрен поймёшь, что там у кого в голове. В общем, разные странности-сложности.
А потом я понял, что раз от встреч никуда не деться, и что это тоже моя работа, то надо быть в этом профессионалом. В продукте профессиональный разработчик — не только профессионально пишет код, но и общается. Доносит свои мысли аргументированно и открыто. Задает вопросы по сути, проясняя нужную информацию. Аппелирует к пользе для продукта при спорах. Не отклоняется от цели коммуникации.
Оказалось, что люди сильно раньше меня поняли, что коммуникация тоже должна быть профессиональной. И что есть целый навык профессионального проведения встреч — фасилитация. Оказывается, на встрече может быть специальный человек, который следит, чтобы все высказались и не отклонялись от темы встречи. А еще создает рабочую атмосферу, управляет неконструктивным поведением, вовлекает каждого участника и поддерживает энергию в группе.
Казалось бы, завести в команде фасилитатора и проблема решена. В чем профессионализм и при чем тут разработчик?
А при том. Чем больше фасилитатору приходится вмешиваться и останавливать кого-то или передавать слово, тем больше оверхед встречи. Если сами участники встречи будут чувствовать, что пора передать слово, или что отклоняются от темы, то это будет сильно продуктивнее. Даже встреча может раньше закончиться.
Поэтому в следующий раз, когда будете бугуртить, что встреча долгая и бестолковая, задайте себе вопрос: а что вы как профессионал сделали, чтобы она прошла продуктивно?
👍8
помню в сберездоровье мне после испыталки мой руководитель (Саша Сычев) поставил качать навык фасилитацию. и я до сих пор считаю, что это один из важнейших навыков, которые я хоть как-то прокачал
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
В документацию добавили приложение-каталог со всеми элементами из UIKit. С каждым можно поиграться и посмотреть на его поведение в разных ситуациях. Идеальная штука, чтобы собрать ее на телефоны дизайнеров.
👍2
кстати о книгах
за последние дни меня все чаще спрашивают о книгах для "любого уважающего себя программиста". Книги — это отличная замена окружению, которого у вас нет. Учитывая мое имя, то легко догадаться какую страсть я к ним испытываю.
мой топ 3 книг банален, но с опытом все глубже и крепче понимаю их важность:
1. Чистая архитектура. Чтобы проектировать понятные и простые архитектуры
2. Чистый код. Чтобы писать просто и понятно
3. Цель. Чтобы понимать, что мы все команда
на очереди для чтения еще пара архитектурных и концептуальных книг, и пара из этой статьи.
а вы можете поделиться интересными книгами для "настоящего программиста" в комментах
https://habr.com/ru/post/259317/
за последние дни меня все чаще спрашивают о книгах для "любого уважающего себя программиста". Книги — это отличная замена окружению, которого у вас нет. Учитывая мое имя, то легко догадаться какую страсть я к ним испытываю.
мой топ 3 книг банален, но с опытом все глубже и крепче понимаю их важность:
1. Чистая архитектура. Чтобы проектировать понятные и простые архитектуры
2. Чистый код. Чтобы писать просто и понятно
3. Цель. Чтобы понимать, что мы все команда
на очереди для чтения еще пара архитектурных и концептуальных книг, и пара из этой статьи.
а вы можете поделиться интересными книгами для "настоящего программиста" в комментах
https://habr.com/ru/post/259317/
Хабр
Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне э...
👍1
подборки каналов, где я краду книги
- Клад для технарей
https://t.iss.one/physics_lib
- Клад для иосников
https://t.iss.one/iOSMaterials
- Клад для технарей
https://t.iss.one/physics_lib
- Клад для иосников
https://t.iss.one/iOSMaterials
Telegram
Physics.Math.Code
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode
Обратная связь: @physicist_i
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode
Обратная связь: @physicist_i
👍9
нашел прикольный экстеншен в стэк оверфлоу, который находит супервью с помощью UIResponder'a
https://stackoverflow.com/questions/40437550/how-can-i-get-indexpath-row-in-cell-swift/40437779#40437779?newreg=bef0df4c56c443879956b50f8424acc4
https://stackoverflow.com/questions/40437550/how-can-i-get-indexpath-row-in-cell-swift/40437779#40437779?newreg=bef0df4c56c443879956b50f8424acc4
👍12
О кибербезе
Сейчас слушаю книгу. В ней есть лютейшая глава про социальные сети.
Как свобода разбила нас ещё сильней. Как интернет отдалил от родственников, приблизив к созданию чатам, группам, комьюнити с нашими закрытыми интересами. Где в этих племенах мы говорим только то, что хотим слышать
И это отчасти так. Даже этот канал я создавал с одной из целей найти соплеменников, чтобы из молекул стать организмами.
В главе также много историй об Эстонии. Защите ее свободе. Как она боролась с русскими хакерами, и как запад до сих пор борется с ними.
я не о политике. упаси господь
Мне очень сильно хочется верить во всесильность хакеров, но эта тема сопротивления подтолкнула к осознонанию другой проблемы.
Почему у нас так недооценивают безопасность своих программ? Многие разработчики и сейчас уверены, что это оооочень специфично. Хотя я убеждён, что в будущем это станет необходимостью
Просто пока до нас не дошла та Россия, которой пугают там, на западе
Сейчас слушаю книгу. В ней есть лютейшая глава про социальные сети.
Как свобода разбила нас ещё сильней. Как интернет отдалил от родственников, приблизив к созданию чатам, группам, комьюнити с нашими закрытыми интересами. Где в этих племенах мы говорим только то, что хотим слышать
И это отчасти так. Даже этот канал я создавал с одной из целей найти соплеменников, чтобы из молекул стать организмами.
В главе также много историй об Эстонии. Защите ее свободе. Как она боролась с русскими хакерами, и как запад до сих пор борется с ними.
я не о политике. упаси господь
Мне очень сильно хочется верить во всесильность хакеров, но эта тема сопротивления подтолкнула к осознонанию другой проблемы.
Почему у нас так недооценивают безопасность своих программ? Многие разработчики и сейчас уверены, что это оооочень специфично. Хотя я убеждён, что в будущем это станет необходимостью
Просто пока до нас не дошла та Россия, которой пугают там, на западе
👍2👎1
вот прикольный канал.
как нибудь разберу здесь базовые штуки.
и да, если вы думали, что айфон нельзя взломать. то давно можно
https://t.iss.one/IOSAppSec
как нибудь разберу здесь базовые штуки.
и да, если вы думали, что айфон нельзя взломать. то давно можно
https://t.iss.one/IOSAppSec
Telegram
IOS App Sec
IOS App Sec - все о безопасности IOS.Техники, мануалы, курсы и многое другое🍏
IOS App Sec - Everything about IOS security. Techniques, manuals, courses and more.🍏
😎 Root Admin - @EZ3K1EL 😎
Channel @IOSAppSec
Chat @IOSAppSec_Chat
IOS App Sec - Everything about IOS security. Techniques, manuals, courses and more.🍏
😎 Root Admin - @EZ3K1EL 😎
Channel @IOSAppSec
Chat @IOSAppSec_Chat
🔥4
одна из главных проблем любого разраба — перфекционизм и подражание инфлюенсерам из сети. Тащить вайпер, когда это ненужно. Отказываться от основ в погоне за трендами. Пихать тесты в убыток бизнесу.
я сам долго на это велся и думал "почему же у нас не так, как у нормальных компаний". Стремление к лучшему хорошо, но когда оно адекватно.
https://vc.ru/dev/368883-u-99-komand-staryy-kod-i-korobochnye-resheniya-net-byudzhetov-i-devops-a-my-slushaem-inflyuenserov-iz-facebook
я сам долго на это велся и думал "почему же у нас не так, как у нормальных компаний". Стремление к лучшему хорошо, но когда оно адекватно.
https://vc.ru/dev/368883-u-99-komand-staryy-kod-i-korobochnye-resheniya-net-byudzhetov-i-devops-a-my-slushaem-inflyuenserov-iz-facebook
vc.ru
«У 99% команд старый код и коробочные решения, нет бюджетов и DevOps, а мы слушаем инфлюенсеров из Facebook» — Разработка на vc.ru
«Технари» из крупных компаний обещают найти высокотехнологичные решения проблем, с которыми малый бизнес, возможно, никогда не столкнётся. Но на его потребности мало кто обращает внимание. О том, какие мифы возникли из-за этого в индустрии, — в конспекте.
👍4