Если вы вчера заметили, то не было ежедневных алгоритмов
Хейтеры скажут слился. Но я просто решил, что ежедневные отчеты задают не тот тон каналу.
Поэтому следующие посты я буду публиковать по воскресеньям и сразу с задачами за неделю. Для экономии времени своего и вашего.
Прошлые задачи:
#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
Опытного программиста выдают не только знания решения технических задач, но бесконечность других деталей за рамками технической документации.
Недостаточно просто надеть костюм врага и выучить пару слов на чужом языке, чтобы казаться своим. Твой чужой акцент и повадки быстро выдадут. Придется много лет жить и впитывать культуру.
Также и в программировании. Выучить как кнопку красить можно, но решишь ли ты проблемы за рамками технической документации?
Многие популярные книги несут универсальные советы. Не привязанные к платформе. Это все потому, что люди везде одинаковые, будь даже разные языки программирования.
О чем книга? О психологии, программировании, управлении, обучении. О хардах и софтах.
Какие идеи я вынес?
- Понравилась метафора с трассирующими пулями. Поможет для развития продукта
- Полезная глава про устранению багов, а не поиску виноватых. Как настроить нужный тон
- О глупой идеи написать совершенный код.
Программист-прагматик — та самая книга бессмертных идей, что учит не быть программистом-анальником
#books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4💅2🐳1🫡1
Паттерн: State
⏺ lvl: jun
Назначение:
Позволяет объекту варьировать свое поведение в зависимости от внутреннего состояния.
Мотивация:
Допустим у нас есть класс (NetworkState), который реагирует на соединение с нетворком. У класса есть методы отправки запроса. И прежде чем отправит запрос, он смотрит на состояние соединения.
Применимость:
- когда поведение объекта зависит от его состояния и должно изменяться во время выполнения;
- когда в коде операций встречаются состоящие из многих ветвей условные операторы, в которых выбор ветви зависит от состояния.Паттерн состояние предлагает поместить каждую ветвь в отдельный класс. Это позволяет трактовать состояние объекта как самостоятельный объект, который может изменяться независимо от других.
Назначение:
Позволяет объекту варьировать свое поведение в зависимости от внутреннего состояния.
Мотивация:
Допустим у нас есть класс (NetworkState), который реагирует на соединение с нетворком. У класса есть методы отправки запроса. И прежде чем отправит запрос, он смотрит на состояние соединения.
Применимость:
- когда поведение объекта зависит от его состояния и должно изменяться во время выполнения;
- когда в коде операций встречаются состоящие из многих ветвей условные операторы, в которых выбор ветви зависит от состояния.Паттерн состояние предлагает поместить каждую ветвь в отдельный класс. Это позволяет трактовать состояние объекта как самостоятельный объект, который может изменяться независимо от других.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2
Я часто ругаю ютуб-контент за треш, мусор и фриковатость. Банальные истории на поверхности и пересказ доки. Но смотря на технические каналы как Aleks OS понимаю, что качественный контент всегда перебивает любой временный треш.
Можно пересказывать кучу пословиц и афоризмов о "какое время — такие и герои". Как всем страшно. За работу. За жизнь. За всё.
Как стали полезны глупые развлекательные видосы. Дешевые андтидепрессанты, с кучей побочных эффектов. Как расстояние всех разделило и создало спрос на всякие сообщества. Но это всё временно.
Как люди, в приступах истерии, создают иррациональные культы, будто в падающем самолете. Чувства и эмоции затупили рациональность. Они повторяют ежедневно аффирмации об успехе и разворачивают жабу, с монетой во рту, жопой к двери. В надежде пережить и найти успех.
Моя вера в общество восстанавливается, когда вижу, что часовой ролик про ассемблер набирает пол ляма просмотров за год. Это больше, чем все вместе взятые ролики иосников, выпущенные за последний год.
Наверное, стоит задуматься о качестве материала и сравнить.Спрос на качественные знания не уменьшается. Он увеличивается, когда кругом появляется больше говнеца.
Разделяйте контент на фан и пользу. От питания только печеньками кариес, лишний вес и смерть
UPD: со стороны выглядит как рекламный пост
Можно пересказывать кучу пословиц и афоризмов о "какое время — такие и герои". Как всем страшно. За работу. За жизнь. За всё.
Как стали полезны глупые развлекательные видосы. Дешевые андтидепрессанты, с кучей побочных эффектов. Как расстояние всех разделило и создало спрос на всякие сообщества. Но это всё временно.
Как люди, в приступах истерии, создают иррациональные культы, будто в падающем самолете. Чувства и эмоции затупили рациональность. Они повторяют ежедневно аффирмации об успехе и разворачивают жабу, с монетой во рту, жопой к двери. В надежде пережить и найти успех.
Моя вера в общество восстанавливается, когда вижу, что часовой ролик про ассемблер набирает пол ляма просмотров за год. Это больше, чем все вместе взятые ролики иосников, выпущенные за последний год.
Наверное, стоит задуматься о качестве материала и сравнить.Спрос на качественные знания не уменьшается. Он увеличивается, когда кругом появляется больше говнеца.
Разделяйте контент на фан и пользу. От питания только печеньками кариес, лишний вес и смерть
UPD: со стороны выглядит как рекламный пост
YouTube
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
Ассемблер с нуля.
Язык, на котором давно никто не пишет обыденные программы, но язык, который делает обыденного программиста профессионалом.
Любая программа превращается в набор инструкций процессора.
Язык ассемблера - тот самый набор инструкций, только…
Язык, на котором давно никто не пишет обыденные программы, но язык, который делает обыденного программиста профессионалом.
Любая программа превращается в набор инструкций процессора.
Язык ассемблера - тот самый набор инструкций, только…
💅8👍4🌭3💯3
Forwarded from AvitoTech
Нам хотелось, чтобы внесение изменений юнитами в функционал друг друга было комфортным и лёгким.
Для этого мы определили подходы к автоматизации тестирования и внесению изменений, а потом объединили всё в Соседское соглашение.
Несколько главных поинтов вынесли в карточки, полный текст — в Playbook.
#playbook_avitotech
Для этого мы определили подходы к автоматизации тестирования и внесению изменений, а потом объединили всё в Соседское соглашение.
Несколько главных поинтов вынесли в карточки, полный текст — в Playbook.
Make Code Green Again!
#playbook_avitotech