Продолжаем страшилки для джунов
Чел сделал тестовое с помощью chatGPT
❔ Какие же навыки обесценятся, а какие наберут актуальность?
Обесценится любой бойлерплейт код. Условно кнопку верстать сможет будет и человек без знания программирования.
Наберут в цене же знания проектирования. Куда положить кнопку, чтоб она ничего не сломала и была полезна бизнесу — это знает только погруженные в бизнес-процессы и предметную область разрабы.
Как заметили в нашем чате:
- тестовые задания будут отменяться чаще (спустя пару недель вышел пост на хабре)
- разрабы будут больше бизнес-аналитиками и манагерами
- усилится акцент на дизайн системе. Но это пока нейросеть наши фотки генерит и не научилась в миро блок-схемы
- завуалированные алгоритмические задачи нейросеть еще не научилась решать
- по-настоящему глубокие штуки она не умеет
Бот стал супер хайповой штукой. Скоро будут чат боты в телеграме, подключенные к апи чатГПТ, которые будут делать по скриптам простенькие апки
Чел сделал тестовое с помощью chatGPT
Обесценится любой бойлерплейт код. Условно кнопку верстать сможет будет и человек без знания программирования.
Наберут в цене же знания проектирования. Куда положить кнопку, чтоб она ничего не сломала и была полезна бизнесу — это знает только погруженные в бизнес-процессы и предметную область разрабы.
Как заметили в нашем чате:
- тестовые задания будут отменяться чаще (спустя пару недель вышел пост на хабре)
- разрабы будут больше бизнес-аналитиками и манагерами
- усилится акцент на дизайн системе. Но это пока нейросеть наши фотки генерит и не научилась в миро блок-схемы
- завуалированные алгоритмические задачи нейросеть еще не научилась решать
- по-настоящему глубокие штуки она не умеет
Бот стал супер хайповой штукой. Скоро будут чат боты в телеграме, подключенные к апи чатГПТ, которые будут делать по скриптам простенькие апки
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как ChatGPT за меня тестовое задание для собеседования писал
Я сейчас активно ищу работу, прохожу собеседования и иногда работодатели присылают тестовые задания, прежде чем пригласить на интервью. В очередной раз мне прислали простенькое тестовое задание, в...
🗿5👌1
Обратный обход бинарного дерева
Последний из основных способов обхода дерева. Решил через очередь.
Наудивлении у отуса отличная статья про деревья без лишней херни. Максимальная лаконичная выдержка.
Задача на литкоде
Сейчас пока решаю задачи на уровне интуиции, а мб потом начну подключать попытки осилить математические доказательства
Не знаю стоит ли делать отдельные посты про полезные ссылки и объяснять деревья без задач. Ибо это пост ради поста, а без практики это все из головы ветром сдует.
Ставь 💅 если делать отдельные посты про техники. Или 🗿 если публиковать только ссылки с задачами. А там сами уже разберутся
#365_дней_богу_алгоритмов #5
Последний из основных способов обхода дерева. Решил через очередь.
Наудивлении у отуса отличная статья про деревья без лишней херни. Максимальная лаконичная выдержка.
Задача на литкоде
Сейчас пока решаю задачи на уровне интуиции, а мб потом начну подключать попытки осилить математические доказательства
Не знаю стоит ли делать отдельные посты про полезные ссылки и объяснять деревья без задач. Ибо это пост ради поста, а без практики это все из головы ветром сдует.
Ставь 💅 если делать отдельные посты про техники. Или 🗿 если публиковать только ссылки с задачами. А там сами уже разберутся
#365_дней_богу_алгоритмов #5
💅18🗿5
😁11
Корень числа с бинарным поиском
Еще один наглядный пример использовать бинарный поиск не только в отсортированном массиве, но и обычная числах. Что по сути можно тоже сказать, что
Наглядный пример поиска корня. Изи решается через тот же бинарный поиск
Задача в литкоде
#365_дней_богу_алгоритмов #6
Еще один наглядный пример использовать бинарный поиск не только в отсортированном массиве, но и обычная числах. Что по сути можно тоже сказать, что
Наглядный пример поиска корня. Изи решается через тот же бинарный поиск
Задача в литкоде
#365_дней_богу_алгоритмов #6
Atomicity (атомарность)
Этот термин часто юзается вместе с многопоточкой.
Вики говорит:
❕ Это операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.
Грубо говоря, атомарная операция не дает другим потокам прочитать участок памяти, пока он изменяется
Пример из исходников аламофайр
Этот термин часто юзается вместе с многопоточкой.
Вики говорит:
Грубо говоря, атомарная операция не дает другим потокам прочитать участок памяти, пока он изменяется
Пример из исходников аламофайр
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Еще один гайд по алгоритмам.
В отличие от других этот говорит о необходимости базовых алгоритмов и техник:
- Два поинтера с массивами, связанным списком
- Бэктрекинг
- Обходы деревьев
- Кучи и Стэки
- Динамическое программирование
Вообще, считаю очень важно определить для себя приоритеты. В одном из предыдущих постов был спор "А нужно ли задумываться о стайлгайде, когда решаешь алгоритмы?".
Я считаю, что для решения литкода и других алгоритмических задач не стоит задумываться об излишних синтаксических улучшениях.
😔 Стоит опустить многие вещи и сфокусироваться на главном — решении задачи. А остальные вещи по оптимизации и косметической декорации уже после.
Всегда важнее решенная проблема, а ее форма уже на втором или третьем плане.
В отличие от других этот говорит о необходимости базовых алгоритмов и техник:
- Два поинтера с массивами, связанным списком
- Бэктрекинг
- Обходы деревьев
- Кучи и Стэки
- Динамическое программирование
Вообще, считаю очень важно определить для себя приоритеты. В одном из предыдущих постов был спор "А нужно ли задумываться о стайлгайде, когда решаешь алгоритмы?".
Я считаю, что для решения литкода и других алгоритмических задач не стоит задумываться об излишних синтаксических улучшениях.
Всегда важнее решенная проблема, а ее форма уже на втором или третьем плане.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Онанизм на код ревью
В ит любят поднимать тему карго-культов, но забывают упомянуть главный обитель. Наши пулл-реквесты.
Разворачивая тему приоритетов с прошлого поста хочется поделиться наблюдениями, когда проблема бездумного следования стайлгайду становятся системной.
Одно дело, когда это литкод. Куда страшнее, если погоня за косметикой и соответствие стайлгайду становится первостепенной в продакшене больших компаний. Спойлер. Стайлгайд необходим, но споры о соответствии должны быть в умеренных дозах.
Хороший код — это не косметика, читабельность, соответствие линтер правилам.
Хороший код — быстрый, стабильный и поддерживаемый. В последнюю очередь это про правила линтера
У нас есть заблуждение, подкормленное отделами техпиара, что в больших компаниях делают все правильно.
Не редкость, когда именно там, где нет никого кто может возразить, делается дичь. Культура компетенций нарушена. Ориентиры сбиты.
Люди тратят время на споры о важности чтения, жертвуя стабильностью, быстротой и гибкостью программы. Сроками и деньгами. Говоря о той далекой выгоде в будущем, о которой пишут в книгах. Сомнительная метрика.
Код ревью становится бюрократией стайлгайда, которая только вредит, а не дает пользу.
Никому не будет плохо от лишнего пробела, неочевидного нэйминга, переноса аргумента, неприватных методов.
Совершенный код — миф. На моей практике я видел только пару программистов, кто был доволен чужим кодом. Сотни нет. Единственный вариант его написать — это рефакторинг или TDD. Хорошие процессы и бизнес идеи приводят к хорошему коду на проде.
Ведь если твоя задача нужна коллегам для закрытия показателей или бизнес импакта, то я считаю эгоистичным сидеть и дрочить читабельность.
Нет, я не говорю выкинуть стайлгайд. Он нужен как общий ориентир. Но если выбирать между сложной и срочной задачей и спорами на ревью, то последний пункт можно принести в жертву.
Задача программиста решать задачу. А потом учиться решать ее красиво
В ит любят поднимать тему карго-культов, но забывают упомянуть главный обитель. Наши пулл-реквесты.
Разворачивая тему приоритетов с прошлого поста хочется поделиться наблюдениями, когда проблема бездумного следования стайлгайду становятся системной.
Одно дело, когда это литкод. Куда страшнее, если погоня за косметикой и соответствие стайлгайду становится первостепенной в продакшене больших компаний. Спойлер. Стайлгайд необходим, но споры о соответствии должны быть в умеренных дозах.
Хороший код — это не косметика, читабельность, соответствие линтер правилам.
Хороший код — быстрый, стабильный и поддерживаемый. В последнюю очередь это про правила линтера
У нас есть заблуждение, подкормленное отделами техпиара, что в больших компаниях делают все правильно.
Не редкость, когда именно там, где нет никого кто может возразить, делается дичь. Культура компетенций нарушена. Ориентиры сбиты.
Люди тратят время на споры о важности чтения, жертвуя стабильностью, быстротой и гибкостью программы. Сроками и деньгами. Говоря о той далекой выгоде в будущем, о которой пишут в книгах. Сомнительная метрика.
Код ревью становится бюрократией стайлгайда, которая только вредит, а не дает пользу.
Никому не будет плохо от лишнего пробела, неочевидного нэйминга, переноса аргумента, неприватных методов.
Совершенный код — миф. На моей практике я видел только пару программистов, кто был доволен чужим кодом. Сотни нет. Единственный вариант его написать — это рефакторинг или TDD. Хорошие процессы и бизнес идеи приводят к хорошему коду на проде.
Ведь если твоя задача нужна коллегам для закрытия показателей или бизнес импакта, то я считаю эгоистичным сидеть и дрочить читабельность.
Нет, я не говорю выкинуть стайлгайд. Он нужен как общий ориентир. Но если выбирать между сложной и срочной задачей и спорами на ревью, то последний пункт можно принести в жертву.
Задача программиста решать задачу. А потом учиться решать ее красиво
👍10😐6💯2💅2
Если вы вчера заметили, то не было ежедневных алгоритмов
Хейтеры скажут слился. Но я просто решил, что ежедневные отчеты задают не тот тон каналу.
Поэтому следующие посты я буду публиковать по воскресеньям и сразу с задачами за неделю. Для экономии времени своего и вашего.
Прошлые задачи:
#7. Найти сводной индекс. Решение далеко не оптимальное. На оптимизацию не было времени. Решил тупо в лоб
#8. Обход n-арного дерева в обратном порядке
Здесь посидел. Решил тоже неоптимизировать и тупо двойным проходом
#365_дней_богу_алгоритмов
#7 | #8
Хейтеры скажут слился. Но я просто решил, что ежедневные отчеты задают не тот тон каналу.
Поэтому следующие посты я буду публиковать по воскресеньям и сразу с задачами за неделю. Для экономии времени своего и вашего.
Прошлые задачи:
#7. Найти сводной индекс. Решение далеко не оптимальное. На оптимизацию не было времени. Решил тупо в лоб
#8. Обход n-арного дерева в обратном порядке
Здесь посидел. Решил тоже неоптимизировать и тупо двойным проходом
#365_дней_богу_алгоритмов
#7 | #8
👌1
Ну че. Начнем и базовые структуры данных в информатике реализовывать на свифте.
Очередь легко похожа на очередь в кассу магазина: мы подходим к концу и начинаем идти к началу, где кассир берет у нас бабки и выдает чек.
Для управление элементами в очереди у нас есть 2 метода:
1. Enqueue — добавляет в очередь
2. Dequeue — удаляет из очереди.
Какие алгоритмы полезно знать?
- Очевидно, мы юзаем очередь для управления тасками в NSOperationQueue, GCD
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Новости по Симулятору iOS-ника
Расскажу детали.
Я отправлял на открытую бету в 10к человек. Проверяли 1,5 недели с тремя запросами на ускренную проверку
Удивительно, но это считается дистрибуцией поэтому проходило почти полноценную проверку.
До чего докопались?
- Из названия попросили убрать слово "iOS". Теперь это просто "Dev Simulator". Идеи на названия лучше принимаются
- Непонятна целевая аудитория
- Пару моментов по UI/UX
- Описать цели приложения
В общем, к 25 человек уже должны придти приглашения. По фидбэку и обращением на добавления в тестера писать сюда
Расскажу детали.
Я отправлял на открытую бету в 10к человек. Проверяли 1,5 недели с тремя запросами на ускренную проверку
Удивительно, но это считается дистрибуцией поэтому проходило почти полноценную проверку.
До чего докопались?
- Из названия попросили убрать слово "iOS". Теперь это просто "Dev Simulator". Идеи на названия лучше принимаются
- Непонятна целевая аудитория
- Пару моментов по UI/UX
- Описать цели приложения
В общем, к 25 человек уже должны придти приглашения. По фидбэку и обращением на добавления в тестера писать сюда
👍5🐳2💅2🎉1🕊1
This media is not supported in your browser
VIEW IN TELEGRAM
- Тесты. Они же испытания. Основной упор сделать максимально разнообразным каждый тест, где по структуре и форме будет похож на роуглайк игры. Каждая попытка будет генерировать разный набор эффектов. Любые пожелания по ним принимаются
- Материалы. Пока они лишь описывают примерную форму. Дальше будут более интересны с возможностью лучше закрепить знания
- Базовая геймфикация. Пока не все материалы доступны. Лишь качаясь и набирая опыт будут открываться дополнительные разделы
- Собеседования
- Улучшенные материалы
- Избранное
- Поделиться результатом
- Тренажеры
О каждой фиче теперь будут отдельные посты.
#симулятор_иосника
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥16⚡4👍3👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Такую ачивку получит каждый бета-тестер.
В симулятор иосника уже 80 отправленных заявок
70 установили. 40 в чате. Кучу идей предложили. Еще больше в бэклоге.
Симулятор не ищет дороги для вкатышей. Если ты пришел зарабатывать деньги, то лучше бы пошел в веб. А если бы я искал способ заработать на инфобизнесе, то надел маску клоуна и пошел на ютуб рассказывать мотивирующие истории как зарабатывать бабки.
Но приоритеты другие. В чате спросили: «чем движет создание апки?». Движет идея.
Я верю, что лучший способ улучшаться — наслаждаться процессом, а не гнаться за результатом.
Вот что движет
В симулятор иосника уже 80 отправленных заявок
70 установили. 40 в чате. Кучу идей предложили. Еще больше в бэклоге.
Симулятор не ищет дороги для вкатышей. Если ты пришел зарабатывать деньги, то лучше бы пошел в веб. А если бы я искал способ заработать на инфобизнесе, то надел маску клоуна и пошел на ютуб рассказывать мотивирующие истории как зарабатывать бабки.
Но приоритеты другие. В чате спросили: «чем движет создание апки?». Движет идея.
Я верю, что лучший способ улучшаться — наслаждаться процессом, а не гнаться за результатом.
Вот что движет
👍12❤🔥2🗿2🆒2🤔1🐳1
DIP vs DI vs IoC
Часто вспоминая DI мы начинаем путаться в аббревиатурах. Попробуем разобраться. Даже в одном из прошлых постов в комментариях перепутали IoC и DI.
Inversion of Control (IoC) — это некий абстрактный принцип, характеристика, набор рекомендаций для написания слабо связанного кода. Суть его в том, что каждый компонент системы должен быть как можно более изолированным от других, не полагаясь в своей работе на детали конкретной реализации других компонентов.
Иначе говоря, уменьшая сцепление между ними.
Dependency Inversion Principle — это принцип, который дает рекомендации о том, какими должны быть зависимости. Например, закрытые протоколами.
Dependency Injection (внедрение зависимостей) — это один из способов реализации принципа Inversion of Control (помимо еще есть Service Locator и Фабричный метод)
Часто вспоминая DI мы начинаем путаться в аббревиатурах. Попробуем разобраться. Даже в одном из прошлых постов в комментариях перепутали IoC и DI.
Inversion of Control (IoC) — это некий абстрактный принцип, характеристика, набор рекомендаций для написания слабо связанного кода. Суть его в том, что каждый компонент системы должен быть как можно более изолированным от других, не полагаясь в своей работе на детали конкретной реализации других компонентов.
Иначе говоря, уменьшая сцепление между ними.
Dependency Inversion Principle — это принцип, который дает рекомендации о том, какими должны быть зависимости. Например, закрытые протоколами.
Dependency Injection (внедрение зависимостей) — это один из способов реализации принципа Inversion of Control (помимо еще есть Service Locator и Фабричный метод)
👍8💯1
Можно ли использовать несколько UIWindow в приложении?
Anonymous Quiz
10%
Нет, у нас может быть только одно окно
4%
Нет, makeKeyAndVisible перезаписывает главное
53%
Да, makeKeyAndVisible просто делает его ключевым, но отображает несколько
21%
Да, нужно просто переопределять главное окно
12%
Я хз
Образованный человек
Сейчас началась учеба. Читаю разные учебники по менеджменту, экономике и культуре. Мне интересно учиться. Интересно наполнять себя знаниями и находить применение знаниям. Приходил к этому, честно говоря, долго. В голове много мыслей. Всеми хочется поделиться, но не знаю как обернуть.
Наткнулся на интересный отрывок из книги "Энциклопедия менеджмента" П. Друкера. И многие слова показались дико пронзительными. Возможно, когда-нибудь, когда станет больше постов про софт скиллы я порефлексирую. А сейчас просто поделюсь:
"В основе общества знаний должна лежать концепция образованной личности. Эта концепция должна быть универсальной именно потому, что в данном случае речь идет, прежде всего, об обществе, а также в силу глобального характера такого общества — с точки зрения его финансов, экономики, заложенных в нем возможностей служебного роста, технологии, центральных вопросов и, главное, — его информации. Посткапиталистическое общество нуждается в некоей унифицирующей, объединяющей силе. Ему требуется некая лидирующая группа, способная сфокусировать местные, частные, отдельные традиции вокруг единых для всего общества ценностей, единой концепции совершенства и взаимного уважения
Образованный человек должен уметь проецировать свои знания в настоящее, не говоря уж о том, чтобы заставить их работать на будущее.
Посткапиталистическое общество нуждается в образованной личности даже больше, чем любое из ранее существовавших обществ, а доступ к великому наследию прошлого и в дальнейшем будет важным элементом. Но это наследие будет включать в себя намного больше, чем цивилизацию, которая по-прежнему завязана на западной, иудейско-христианской традиции, за которую горой стоят "гуманисты". Образованная личность, которая нужна нашему обществу, должна быть готова к активному восприятию других культур и традиций: например, великого наследия китайской, японской и корейской живописи и керамики; философских течений и религий Востока, а также ислама — как религии и как культуры. Кроме того, образованная личность будет не такой "книжной", как типичный продукт гуманитарного образования, предлагаемого "гуманистами". Образованной личности понадобятся не только хорошо тренированные аналитические способности, но и хорошо тренированное восприятие."
Советую почитать главу целиком
Сейчас началась учеба. Читаю разные учебники по менеджменту, экономике и культуре. Мне интересно учиться. Интересно наполнять себя знаниями и находить применение знаниям. Приходил к этому, честно говоря, долго. В голове много мыслей. Всеми хочется поделиться, но не знаю как обернуть.
Наткнулся на интересный отрывок из книги "Энциклопедия менеджмента" П. Друкера. И многие слова показались дико пронзительными. Возможно, когда-нибудь, когда станет больше постов про софт скиллы я порефлексирую. А сейчас просто поделюсь:
"В основе общества знаний должна лежать концепция образованной личности. Эта концепция должна быть универсальной именно потому, что в данном случае речь идет, прежде всего, об обществе, а также в силу глобального характера такого общества — с точки зрения его финансов, экономики, заложенных в нем возможностей служебного роста, технологии, центральных вопросов и, главное, — его информации. Посткапиталистическое общество нуждается в некоей унифицирующей, объединяющей силе. Ему требуется некая лидирующая группа, способная сфокусировать местные, частные, отдельные традиции вокруг единых для всего общества ценностей, единой концепции совершенства и взаимного уважения
Образованный человек должен уметь проецировать свои знания в настоящее, не говоря уж о том, чтобы заставить их работать на будущее.
Посткапиталистическое общество нуждается в образованной личности даже больше, чем любое из ранее существовавших обществ, а доступ к великому наследию прошлого и в дальнейшем будет важным элементом. Но это наследие будет включать в себя намного больше, чем цивилизацию, которая по-прежнему завязана на западной, иудейско-христианской традиции, за которую горой стоят "гуманисты". Образованная личность, которая нужна нашему обществу, должна быть готова к активному восприятию других культур и традиций: например, великого наследия китайской, японской и корейской живописи и керамики; философских течений и религий Востока, а также ислама — как религии и как культуры. Кроме того, образованная личность будет не такой "книжной", как типичный продукт гуманитарного образования, предлагаемого "гуманистами". Образованной личности понадобятся не только хорошо тренированные аналитические способности, но и хорошо тренированное восприятие."
Советую почитать главу целиком
👍4
Паттерн: Строитель (Builder)
⏺ lvl: mid-
Супер крутой порождающий паттерн. Какой-то непонятной волею судеб так вышло, что билдер — самый популярный паттерн, который я юзал. В других вселенных можно описать психотип, назвав самые частые использованные тобой паттерны проектирования
Строитель — это класс (необязательно), который создает сложный объект пошагово и закрывает его за протоколом.
Используется паттерн тогда:
⏺ создание сложного объекта не должно зависеть от последовательности и связей его частей. Можно вызывать только те шаги, которые нужны;
⏺ процесс конструирования должен обеспечивать различные реализации конструируемого объекта. Например, деревянные стены или бетонные
Супер крутой порождающий паттерн. Какой-то непонятной волею судеб так вышло, что билдер — самый популярный паттерн, который я юзал. В других вселенных можно описать психотип, назвав самые частые использованные тобой паттерны проектирования
Строитель — это класс (необязательно), который создает сложный объект пошагово и закрывает его за протоколом.
Используется паттерн тогда:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5