"Думай медленно — решай быстро"
Полезность: 5 из 5
Вода: 10%
Кажется, в текущее время, сложно переоценить эту книгу
Ею пользуются маркетологи, чтобы продать нам продукты. Ею пользуются пропагандисты, чтобы внушить нам идею. Ею пользуются итшники, чтобы пихнуть нам продукт.
Идеальная книга для знакомства с когнитивными искажениями.
Прочту еще раз 5, чтобы лучше усвоилась. Но для знакомства с этой темой лучше книгу не найдешь
Полезность: 5 из 5
Вода: 10%
Кажется, в текущее время, сложно переоценить эту книгу
Ею пользуются маркетологи, чтобы продать нам продукты. Ею пользуются пропагандисты, чтобы внушить нам идею. Ею пользуются итшники, чтобы пихнуть нам продукт.
Идеальная книга для знакомства с когнитивными искажениями.
Прочту еще раз 5, чтобы лучше усвоилась. Но для знакомства с этой темой лучше книгу не найдешь
❤🔥12👍6🐳2🔥1💯1
а еще, если вы не знали — все опциональные клоужеры по-умолчанию escaping
https://forums.swift.org/t/allowing-escaping-for-optional-closures-in-method-signature/27556
https://forums.swift.org/t/allowing-escaping-for-optional-closures-in-method-signature/27556
Swift Forums
Allowing @escaping for optional closures in method signature
From a perspective of a framework writer it is important to provide clear and understandable documentation for the correct usage of their APIs. Swift allows us to write functions that are at some extent self documenting, and clearly define what the function…
❤8🌚3😁1
Ну короче я решил, что интенсив не мой формат. Всем, кто откликнулся — сорри. Не вижу в нем творчества. Та символичная сумма не будет компенсировать время, которого все меньше и меньше.
Покапавшись в себе я нащупал тонкую душу творца, которого у нас в народе называют — продуктовый разработчик. Мои глаза загорелись и сердце забилось чаще. И поэтому в голову пришла идея сделать "симулятор иосника". Где будут форматы собесов и всякие обучающие курсы.
Наработки уже есть. Нужны желающие поучаствовать как CusDev'ы, разрабы, фокус группа и тп. Проект будет абсолютно некоммерческий и бесплатный.
Опыт работы в иос обязателен. Пишите в лс.
Покапавшись в себе я нащупал тонкую душу творца, которого у нас в народе называют — продуктовый разработчик. Мои глаза загорелись и сердце забилось чаще. И поэтому в голову пришла идея сделать "симулятор иосника". Где будут форматы собесов и всякие обучающие курсы.
Наработки уже есть. Нужны желающие поучаствовать как CusDev'ы, разрабы, фокус группа и тп. Проект будет абсолютно некоммерческий и бесплатный.
Опыт работы в иос обязателен. Пишите в лс.
👍15💯2🎉1
алло 😄 раз телеграм вернулся во времена маил агента и icq, то может чат создать? Там как раз по брейнштормим симулятор иосника 🥳 🖕 💃 ❤️ 🤬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10⚡1💯1
Optional
🟢 lvl: jun
ℹ️ Зачем нужны опционалы, когда есть проверка на nil?
Как минимум, опциональность проверяется на этапе компиляции, что снижает количество ошибок в runtime. По своей сути опционал является обычным enum'ом, в котором 2 кейса: .some, .none.
Развернуть (анврапить) опционал можно множествами способами, но остановимся на самых неочевидных:
🟣 map —позволяет преобразовать опционал, если он имеет значение, или ничего не делать, если он пуст.
можно юзать map() для безопасного преобразования без проверки и анврапинга — если бы он был равен нулю, вызов map() ничего бы не сделал.
map вернет преобразованный опциональный тип
🔵 flatMap - делает почти тоже самое, только уберет дополнительное преобразование в опционал, если оно имеется
🟢 lvl: jun
ℹ️ Зачем нужны опционалы, когда есть проверка на nil?
Как минимум, опциональность проверяется на этапе компиляции, что снижает количество ошибок в runtime. По своей сути опционал является обычным enum'ом, в котором 2 кейса: .some, .none.
Развернуть (анврапить) опционал можно множествами способами, но остановимся на самых неочевидных:
🟣 map —позволяет преобразовать опционал, если он имеет значение, или ничего не делать, если он пуст.
можно юзать map() для безопасного преобразования без проверки и анврапинга — если бы он был равен нулю, вызов map() ничего бы не сделал.
map вернет преобразованный опциональный тип
🔵 flatMap - делает почти тоже самое, только уберет дополнительное преобразование в опционал, если оно имеется
⚡5👍5🤔1
Как найти работу?
Такой вопрос сейчас все чаще посещает мою голову. Нет, я не в поисках. Авито — one love❤️ (байт на рефералку). За последнии 2 недели мне приходят ребята на солвери с вопросом как войти в ит, кто-то пишет в лс, даже моя девушка сейчас ищет первую работу.
Я не знаю. Можете дальше не читать. Точнее у меня есть свой подход, который не выстреливает со 100% успехом. Но точно в 60-70% я не жалел ни разу.
Кратко о себе и без каких-то рекомендаций. Я вырос в небольшом ауле Казахстана в семье учителя физкультуры и матери повара. Моя бабушка была учителем русского и литературы. Она и дала мне имя в честь того самого писателя. Они хотели, чтобы я стал ментом, летчиком, спортсменом, юристом. Всем, кроме программиста. В моем ауле было сложно с интернетом и это казалось чем-то злым, для ленивых задротов, которые бегут от реальности.
Но я поступил после 9 класса на программиста. Мои родственники не сильно были рады выбору профессии. Но колледж был якобы самый престижный в столице Казахстана + я попал на бюджетные места и этот факт их устроил.
После учебы в колледже мои родители разъехали и мне надо было как-то попасть в Россию. Я выбрал путь через получение высшего образования. Поступил в тюмени в нефтегазовый на профессию метролога. Опять на бюджет. Мои родственники были в диком восторге. Ведь это не программист и звучит престижно. Никто не понимал чем занимается метролог, включая меня, но это было что-то с нефтью в одном из самых нефтедобывающих регионов. Я быстро понял, что не хочу связывать следующие 4 года и жизнь с этой профессией. Поэтому очислился. Для моих родственников это был удар. Мало того, что свернул с выгодной тропы, не получил высшее, так и еще ушел в свое программирование.
Прошло 8 лет. За эти годы я ни разу не пожалел. Мб иногда комплексую, что нет высшего, но все же. Да, этот подход радикальный и немного жертвенный. В будущем это еще выстрелило, когда я шел туда, куда я хотел, чем-то жертвуя. Но для меня он был рабочим.
Также и сейчас. Я считаю себя недостойным давать советы по важным решениям в вашей жизни, но если кто-то приходит за советом, то мой ответ — просто покажите свою решительность. Это, как мне кажется, работало со мной.
Если у вас нет опыта, то покажите как вовлечены в индустрию и свою страсть в груди. Если правда замотивированы, то я считаю, обязательно заметят или придете к делу, которым хотите заниматься. Быстрее апгрейднитесь
Я люблю свою работу. Я люблю то, чем я занимаюсь. Настолько, что монета или похвала окружения не так важны, как то, где я чувствую себя лучше, полезнее и живее
Такой вопрос сейчас все чаще посещает мою голову. Нет, я не в поисках. Авито — one love
Я не знаю. Можете дальше не читать. Точнее у меня есть свой подход, который не выстреливает со 100% успехом. Но точно в 60-70% я не жалел ни разу.
Кратко о себе и без каких-то рекомендаций. Я вырос в небольшом ауле Казахстана в семье учителя физкультуры и матери повара. Моя бабушка была учителем русского и литературы. Она и дала мне имя в честь того самого писателя. Они хотели, чтобы я стал ментом, летчиком, спортсменом, юристом. Всем, кроме программиста. В моем ауле было сложно с интернетом и это казалось чем-то злым, для ленивых задротов, которые бегут от реальности.
Но я поступил после 9 класса на программиста. Мои родственники не сильно были рады выбору профессии. Но колледж был якобы самый престижный в столице Казахстана + я попал на бюджетные места и этот факт их устроил.
После учебы в колледже мои родители разъехали и мне надо было как-то попасть в Россию. Я выбрал путь через получение высшего образования. Поступил в тюмени в нефтегазовый на профессию метролога. Опять на бюджет. Мои родственники были в диком восторге. Ведь это не программист и звучит престижно. Никто не понимал чем занимается метролог, включая меня, но это было что-то с нефтью в одном из самых нефтедобывающих регионов. Я быстро понял, что не хочу связывать следующие 4 года и жизнь с этой профессией. Поэтому очислился. Для моих родственников это был удар. Мало того, что свернул с выгодной тропы, не получил высшее, так и еще ушел в свое программирование.
Прошло 8 лет. За эти годы я ни разу не пожалел. Мб иногда комплексую, что нет высшего, но все же. Да, этот подход радикальный и немного жертвенный. В будущем это еще выстрелило, когда я шел туда, куда я хотел, чем-то жертвуя. Но для меня он был рабочим.
Также и сейчас. Я считаю себя недостойным давать советы по важным решениям в вашей жизни, но если кто-то приходит за советом, то мой ответ — просто покажите свою решительность. Это, как мне кажется, работало со мной.
Если у вас нет опыта, то покажите как вовлечены в индустрию и свою страсть в груди. Если правда замотивированы, то я считаю, обязательно заметят или придете к делу, которым хотите заниматься. Быстрее апгрейднитесь
Я люблю свою работу. Я люблю то, чем я занимаюсь. Настолько, что монета или похвала окружения не так важны, как то, где я чувствую себя лучше, полезнее и живее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19🏆3👎1🔥1
Го, я создал.
Мы из поколения мужчин выращенных женщинами... 👨👨👧👦
Я не обещаю вам частых жарких споров, ибо мы ведь все занятые разрабочики, но понемногу буду выдавать контент про симулятор иосника тут. Дальше посмотрим. Поборим свою застенчивость и интровертность
Заходите, потихоньку будем расти. Правила поведения просты.
Сегодня собираемся. Завтра напишу первые вопросы и накидаю концептов
P.S. Я надеюсь все понимают рофлы про радужные символы
https://t.iss.one/+rNag9KqMoo1kNzli
Мы из поколения мужчин выращенных женщинами... 👨👨👧👦
Я не обещаю вам частых жарких споров, ибо мы ведь все занятые разрабочики, но понемногу буду выдавать контент про симулятор иосника тут. Дальше посмотрим. Поборим свою застенчивость и интровертность
Заходите, потихоньку будем расти. Правила поведения просты.
Сегодня собираемся. Завтра напишу первые вопросы и накидаю концептов
P.S. Я надеюсь все понимают рофлы про радужные символы
https://t.iss.one/+rNag9KqMoo1kNzli
Я в танке, но честно всегда думал это рофл такой, что в раше одни из лучших программистов
Оказывается нет
https://www.sayonetech.com/blog/which-country-has-best-computer-programmers-and-developers/
Оказывается нет
https://www.sayonetech.com/blog/which-country-has-best-computer-programmers-and-developers/
🔥7
Крутая статья от авито. На днях только столкнулся с этим интсрументом внутри компании и думал "Оу, круто. Должна нам помочь для тестировщиков. Не будут годами сборку собирать и поможет легко детектить баги". Спустя пару дней о нем уже статью сделали
https://habr.com/ru/company/avito/blog/681752/
https://habr.com/ru/company/avito/blog/681752/
Хабр
Ошибка.log(): как логируются ошибки в мобильном приложении Авито
Вы настроили в приложении краш-репортинг, всё протестировали и выложили в магазин. Постоянно мониторите crash rate, в котором всегда четыре девятки, — приложение работает отлично и все довольны. Но...
❤🔥6👍1
Hashable
🟢 lvl: jun+
Продолжаем идти по базе. Любой уважающий себя джун должен знать отличия словаря от сета. А еще, что только типы данных с протоколом Hashable мы можем пихать в множество или в ключ словаря.
ℹ️ Хэширование: что и зачем
Хэширование — это процесс применения алгоритма для преобразования элемента данных в значение. Элемент данных может быть простым целым числом, строкой или сложным объектом с несколькими свойствами.
Алгоритм называется хеш-функцией или хэшером. Преобразованное значение называется хэш-значением, хэш-кодом или просто хэшем.
Хэширование должно соблюдать правила:
🟪 Хэш-значения должны быть уникальными
🟦 Хэш-значения должны быть случайными
🟥 Хэш-значения не обязательно должны быть положительными целыми числами
Хэширование широко используется в нашей жизни:
◾Работа с базой данных: поиск
Почти все веб-сайты и мобильные приложения имеют функцию поиска где-то в своих приложениях. Реализация функции поиска предполагает использование хеширования.
◾ Криптография: пароль
Чтобы защитить наш пароль нужно его захэшировать. Мало ли его перехватят
◾️Структуры данных в программировании: Словарь
Почти все современные языки программирования имеют тип данных Dictionary, хотя они могут использовать другое имя, такое как ассоциативный массив, карта, хэш-карта, хэш или объект.
Поняв общее представление о хэшировании опустимся к тому, что предоставляет Apple.
Hashable — тип, который можно хешировать в хешере для получения целочисленного хеш-значения
Подробнее можно почитать в этой статье, лучше о хэше не найдешь
🟢 lvl: jun+
Продолжаем идти по базе. Любой уважающий себя джун должен знать отличия словаря от сета. А еще, что только типы данных с протоколом Hashable мы можем пихать в множество или в ключ словаря.
ℹ️ Хэширование: что и зачем
Хэширование — это процесс применения алгоритма для преобразования элемента данных в значение. Элемент данных может быть простым целым числом, строкой или сложным объектом с несколькими свойствами.
Алгоритм называется хеш-функцией или хэшером. Преобразованное значение называется хэш-значением, хэш-кодом или просто хэшем.
Хэширование должно соблюдать правила:
🟪 Хэш-значения должны быть уникальными
🟦 Хэш-значения должны быть случайными
🟥 Хэш-значения не обязательно должны быть положительными целыми числами
Хэширование широко используется в нашей жизни:
◾Работа с базой данных: поиск
Почти все веб-сайты и мобильные приложения имеют функцию поиска где-то в своих приложениях. Реализация функции поиска предполагает использование хеширования.
◾ Криптография: пароль
Чтобы защитить наш пароль нужно его захэшировать. Мало ли его перехватят
◾️Структуры данных в программировании: Словарь
Почти все современные языки программирования имеют тип данных Dictionary, хотя они могут использовать другое имя, такое как ассоциативный массив, карта, хэш-карта, хэш или объект.
Поняв общее представление о хэшировании опустимся к тому, что предоставляет Apple.
Hashable — тип, который можно хешировать в хешере для получения целочисленного хеш-значения
Подробнее можно почитать в этой статье, лучше о хэше не найдешь
🔥10❤2
Помните я говорил про вачдоги?
Я хз зачем, но это могут спросить на скрининге в какую-нибудь кор команду. Хотя проект может быть в большой жопе и хаосе, но интервьюеры могут потешить свое чсв задав такой вопрос
В ватчдоге нет ничего сложного, но главное не пугаться и не теряться, если попросят что-то подобное сделать
вот еще одна статейка
Я хз зачем, но это могут спросить на скрининге в какую-нибудь кор команду. Хотя проект может быть в большой жопе и хаосе, но интервьюеры могут потешить свое чсв задав такой вопрос
В ватчдоге нет ничего сложного, но главное не пугаться и не теряться, если попросят что-то подобное сделать
вот еще одна статейка
Jesse Squires
Implementing a main thread watchdog on iOS
On iOS the operating system employs a watchdog that monitors for and terminates unresponsive apps. If your app is blocking the main thread for too long, the ...
🔥1
Fail Fast
Совсем недавно я познакомился на практике с концепцией Fail Fast. Она гласит, что любая разработка, пусть техническая или продуктовая, должна как-можно быстрее светить ошибку. Вырубая наглухо доступ к уже ошибочному сценарию. Такая обратная связь — самая ценная. Ведь она помогает решить проблему на раннем этапе, как болезнь на ранних симптомах, которую невозможно вылечить на поздней стадии
Например в динамических языках программирования как JS очень сложно дебажить код, находить ошибки, ведь программа продолжала работу даже с нелогичным и губительным поведением. Этим же и страдал obj-c. В таких технологиях разрабы относятся к ошибочному поведению лояльней.
С приходом свифта же чуть что-то поменялось, но несовсем...
В этой статье есть интересные мысли, как концепция быстрого поиска ошибок помогает улучшать свой продукт. Покрывая тестами и задумываясь о ее стабильности намного больше
https://paulpeelen.com/FailingSafely
Совсем недавно я познакомился на практике с концепцией Fail Fast. Она гласит, что любая разработка, пусть техническая или продуктовая, должна как-можно быстрее светить ошибку. Вырубая наглухо доступ к уже ошибочному сценарию. Такая обратная связь — самая ценная. Ведь она помогает решить проблему на раннем этапе, как болезнь на ранних симптомах, которую невозможно вылечить на поздней стадии
Например в динамических языках программирования как JS очень сложно дебажить код, находить ошибки, ведь программа продолжала работу даже с нелогичным и губительным поведением. Этим же и страдал obj-c. В таких технологиях разрабы относятся к ошибочному поведению лояльней.
С приходом свифта же чуть что-то поменялось, но несовсем...
В этой статье есть интересные мысли, как концепция быстрого поиска ошибок помогает улучшать свой продукт. Покрывая тестами и задумываясь о ее стабильности намного больше
https://paulpeelen.com/FailingSafely
Paulpeelen
Failing safely in iOS Development – Paul Peelen
Anybody who has written more than one line of code will tell you that every systems has bugs. Sometimes these bugs result in crashes and sometimes they result in unwanted behavior. This, however, is not a reason to fail fast.
👍6❤🔥1
Сейчас смотрю всякие видое с болями, трудностями джунов. Они допом помогают с бэклогом фич. Основная задача — принести ценность продуктом.
Основная проблема при поиске работы — это падающая в бесконечную пустоту самооценка. В симуляторе иосника хочется сделать также симулятор собеса. И пока непонятно, делать его максимально легким, настраивать под стрессовую ситуацию или делать с выбором сложности
А пока поделюсь прикольным видео. Тут мужик, будто за бокалом виски из нуарных депрессивных детективах, рассказывает про боли и унижения всех нас в начале пути
https://www.youtube.com/watch?v=WUpPg6JcBWc
Основная проблема при поиске работы — это падающая в бесконечную пустоту самооценка. В симуляторе иосника хочется сделать также симулятор собеса. И пока непонятно, делать его максимально легким, настраивать под стрессовую ситуацию или делать с выбором сложности
А пока поделюсь прикольным видео. Тут мужик, будто за бокалом виски из нуарных депрессивных детективах, рассказывает про боли и унижения всех нас в начале пути
https://www.youtube.com/watch?v=WUpPg6JcBWc
YouTube
Отказы на отклики, провалы на собесах и высоченная конкуренция — как это пережить — Доктор Кот
Смотреть вакансии в финтех компании Точка Банк https://tchk.me/ygomzF
МойСклад — облачный сервис для бизнеса. Основная задача компании - это помощь в развитии малого и среднего предпринимательства в РФ. Перед МоимСкладом стоят сложные задачи по расширению…
МойСклад — облачный сервис для бизнеса. Основная задача компании - это помощь в развитии малого и среднего предпринимательства в РФ. Перед МоимСкладом стоят сложные задачи по расширению…
👍3🔥3🏆1
Частый вопрос на собесах в тинек — как массив хранит ссылки? Сильно или слабо?
Правильный ответ — сильно.
А как сделать слабо? Использовать NSPointerArray
Подробнее тут
Правильный ответ — сильно.
А как сделать слабо? Использовать NSPointerArray
Подробнее тут
Marcosantadev
Swift Arrays Holding Elements With Weak References
In iOS development there are moments where you ask yourself: “To weak, or not to weak, that is the question”. Let’s see how “to weak” with the arrays.
👍14
Какой ответ выведется в консоли?
Anonymous Quiz
11%
Все крашнится
20%
"It's pronounced /dʒɪf/" -> "It's pronounced /ɡɪf/"
55%
"It's pronounced /dʒɪf/" -> "It's pronounced /dʒɪf/"
11%
"It's pronounced /ɡɪf/" -> "It's pronounced /ɡɪf/"
2%
null
👍1
Короче, пока разрывает от того, что не хватает времени на интересные посты, симулятор иосника, дрочку литкода (да да снова начал) и сторонних зависимостей.
Поэтому я использую функцию "звонок другу". Нужен друг, или друзья, которые будут кидать классные статьи, видосы или книги по разным темам: архитектуры, покраска кнопок, многопоточка и тп
Этот материал также пойдет в основу симулятора иосника
контакт тот же. Ну или в чат кидайте https://t.iss.one/+rNag9KqMoo1kNzli
Поэтому я использую функцию "звонок другу". Нужен друг, или друзья, которые будут кидать классные статьи, видосы или книги по разным темам: архитектуры, покраска кнопок, многопоточка и тп
Этот материал также пойдет в основу симулятора иосника
контакт тот же. Ну или в чат кидайте https://t.iss.one/+rNag9KqMoo1kNzli
👍1
iOS Makes Me Hate pinned «Короче, пока разрывает от того, что не хватает времени на интересные посты, симулятор иосника, дрочку литкода (да да снова начал) и сторонних зависимостей. Поэтому я использую функцию "звонок другу". Нужен друг, или друзья, которые будут кидать классные…»
Defer
🟢 lvl: mid-
defer — это ключевое слово, которое позволяет выполнить код при выходе из текущей области видимости.
Не самый редкий и не самый частый гость в разных проектах. Часто юзается, чтобы сделать потокобезопасный код, если вы блочите объект, перед его выполнением внутри функции.
Или же, когда вы заалокейтили какую-то инфу в память, но после выполнения нужно все почистить.
Копания в кишки через дизассемблер
Хорошее объяснение с разными практическими примерами
🟢 lvl: mid-
defer — это ключевое слово, которое позволяет выполнить код при выходе из текущей области видимости.
Не самый редкий и не самый частый гость в разных проектах. Часто юзается, чтобы сделать потокобезопасный код, если вы блочите объект, перед его выполнением внутри функции.
Или же, когда вы заалокейтили какую-то инфу в память, но после выполнения нужно все почистить.
Копания в кишки через дизассемблер
Хорошее объяснение с разными практическими примерами
👍6🔥1