сразу день 8
https://adventofcode.com/2023/day/8
вкратце смотрим скриншот ниже
LR - это лево право в задаче таких овер 100 могут быть в любом порядке. да логично это шаги налево направо
а ходить будем по структуре ниже, соответственно L это выбор варианта первый в скобочках R это выбор варианта второго в скобочках
стартуем с ААА заканчиваем ZZZ посчитать шаги, если LR шаги закончились идем с по кругу с первого
собственное решение в самой задаче, делаем хеш из структуры в условии ключ это значение до равно а значения ключа это массив того что в скобочках
циклом бежим по хешу, с переменной которая инкрементируется каждый круг цикла выходим когда нашли zzz
https://adventofcode.com/2023/day/8
вкратце смотрим скриншот ниже
LR - это лево право в задаче таких овер 100 могут быть в любом порядке. да логично это шаги налево направо
а ходить будем по структуре ниже, соответственно L это выбор варианта первый в скобочках R это выбор варианта второго в скобочках
стартуем с ААА заканчиваем ZZZ посчитать шаги, если LR шаги закончились идем с по кругу с первого
собственное решение в самой задаче, делаем хеш из структуры в условии ключ это значение до равно а значения ключа это массив того что в скобочках
циклом бежим по хешу, с переменной которая инкрементируется каждый круг цикла выходим когда нашли zzz
так как уровень адвент оф кода поднялся дымом из трубы крематория дахау, мой уровень не тянет сложность задач. Но мне шепнули что сегодня в честь сотоны легкая задача, вечером будет.
А в понедельник меня ждет обсер на собесе с алгосиками, тоже разберу(порешаю за 4 часа вместо 20 минут) в скором времени после.
А в понедельник меня ждет обсер на собесе с алгосиками, тоже разберу(порешаю за 4 часа вместо 20 минут) в скором времени после.
🔥1
15 день адвент оф коде
https://adventofcode.com/2023/day/15
на вход просто через запятую символы по 2-3
задача
ну все проходимся по каждой стринге предварительно вход разделив запятыми и применяем эти манипуляции.
https://adventofcode.com/2023/day/15
на вход просто через запятую символы по 2-3
задача
Determine the ASCII code for the current character of the string.
Increase the current value by the ASCII code you just determined.
Set the current value to itself multiplied by 17.
Set the current value to the remainder of dividing itself by 256.
ну все проходимся по каждой стринге предварительно вход разделив запятыми и применяем эти манипуляции.
Сегодня в выходной день 🤡 прошелся по задачам тут https://seanprashad.com/leetcode-patterns/ , поставив фильтр oracle. В надежде что в понедельник попадутся те же. Гугл говорит еще возможны варианты написать контроллер или экшн, завтра посмотрю детали что может быть. Хотел выразить крайнее негодование этих алгосов, как говориться — знания в стол, последний год собесы по руби где просили алгосы 1, это будет второй.
Leetcode Patterns
A curated list of LeetCode questions grouped by pattern to help you ace coding interviews.
литкод не пригодился, чел начал вещать на румынском попросил на инглиш вышло "сомнительн но окей"(с).
Ссылка на хакерранк. Задача вернуть среднее значение одного поля из жсон респонса, по поиску из двух полей. Потом добавить(либо сразу предусмотреть если умны) пагинацию в зависимости что пришло в ответ(тотал_пейджес). Пресетап метод getPulse(diagnosisName, doctorId) вернуть инт, по ссылке поймете что за поля. Можно гуглить задавать тупые вопросы и тд
Доп вопросы уже не по задаче но близко:
что делать если пагинацию применить нельзя а клиент хочу все и сразу, перевел в тему сервисов и предложил заюзать джобу которая клиенту(сервису) будет постом слать все что он просил сразу либо по частям в боди запихнется все.
авторизация для паблик айпи как бы сделал и юзал бы сторонние либы, сикрет_кей в хедере и проверка на милдваре плюс сделал бы сам без либ сказал даже сессий по факту нет хули там юзать.
вопрос про тенант апи, что должно делать мидлваре, вот тут незнаю потому что не работал - сказал что первый параметр строки может помогать с базой данных и мидлвара "готовит" базу либо данные из базы для работы, например у вас есть dickpick.com вы выросли и стало eu.dickpick.com us.dickpick.com и тд первый параметр(это не параметр я хз как правильно назвать) урла может быть частью уник_ид дикпиков а значит eu.dickpick.com будет работать только с eu_uuid юзерами либо в базе eu.
Ссылка на хакерранк. Задача вернуть среднее значение одного поля из жсон респонса, по поиску из двух полей. Потом добавить(либо сразу предусмотреть если умны) пагинацию в зависимости что пришло в ответ(тотал_пейджес). Пресетап метод getPulse(diagnosisName, doctorId) вернуть инт, по ссылке поймете что за поля. Можно гуглить задавать тупые вопросы и тд
Доп вопросы уже не по задаче но близко:
что делать если пагинацию применить нельзя а клиент хочу все и сразу, перевел в тему сервисов и предложил заюзать джобу которая клиенту(сервису) будет постом слать все что он просил сразу либо по частям в боди запихнется все.
авторизация для паблик айпи как бы сделал и юзал бы сторонние либы, сикрет_кей в хедере и проверка на милдваре плюс сделал бы сам без либ сказал даже сессий по факту нет хули там юзать.
вопрос про тенант апи, что должно делать мидлваре, вот тут незнаю потому что не работал - сказал что первый параметр строки может помогать с базой данных и мидлвара "готовит" базу либо данные из базы для работы, например у вас есть dickpick.com вы выросли и стало eu.dickpick.com us.dickpick.com и тд первый параметр(это не параметр я хз как правильно назвать) урла может быть частью уник_ид дикпиков а значит eu.dickpick.com будет работать только с eu_uuid юзерами либо в базе eu.
🌭1
Пиздуем в гошку - да там больше вакансий, когда собесы хз, конечно чем быстрее тем лучше сначала но выходим из vim новогоднего запоя.
Наклевывается один как раз руби+го но там долго отвечает хр. Энивей я сторонник того что собесов должно быть дохуя, а не точечных "сопроводительных писем" и другого дрочева, так что надеюсь получится хотябы 3-4 в неделю.
Наклевывается один как раз руби+го но там долго отвечает хр. Энивей я сторонник того что собесов должно быть дохуя, а не точечных "сопроводительных писем" и другого дрочева, так что надеюсь получится хотябы 3-4 в неделю.
🔥1
📌 безпроигрышная подписка - я пытаюсь свичнутьс в го вы получаете либо что надо учить/делать для успешного го собеса либо что не надо. Roadmap - тут сделаю ноушн который будет редактироваться по мере успешности/безуспешности собесов, там будут ресурсы для изучения и вопросы с собесов, если совсем попрет будут собесы записывать.
knocknevis on Notion
GO LANG ROADMAP | Notion
Made with Notion, the all-in-one connected workspace with publishing capabilities.
🔥5
замогильный уровень разработки pinned «📌 безпроигрышная подписка - я пытаюсь свичнутьс в го вы получаете либо что надо учить/делать для успешного го собеса либо что не надо. Roadmap - тут сделаю ноушн который будет редактироваться по мере успешности/безуспешности собесов, там будут ресурсы для…»
☠️ сложна вырубай!
за 3 выходных закончил тур оф го, еще некоторые моменты посмотрю на ютубе поспрашиваю гугол и чат гпт, добавлю в ноуш интересные вещи, как например ссылка на github с простыми примерами.
Дальше попрактикуюсь в кодварс(до синего) и литкоде(на изи уровне), недолго, но надо привыкнуть к синтаксису уж очень другой чем в руби. Могли заметить в ноушне в списке ресурсов книгу from ruby to go так вот пока хз нужна ли она, неуверен нужен ли просто "транслейт". Пожалуй придумаю "субъективный" рейтинг "ресурсов" ноушн.
за 3 выходных закончил тур оф го, еще некоторые моменты посмотрю на ютубе поспрашиваю гугол и чат гпт, добавлю в ноуш интересные вещи, как например ссылка на github с простыми примерами.
Дальше попрактикуюсь в кодварс(до синего) и литкоде(на изи уровне), недолго, но надо привыкнуть к синтаксису уж очень другой чем в руби. Могли заметить в ноушне в списке ресурсов книгу from ruby to go так вот пока хз нужна ли она, неуверен нужен ли просто "транслейт". Пожалуй придумаю "субъективный" рейтинг "ресурсов" ноушн.
🔥4
👻 Пока по гошке скучно привыкаю к синтаксису(в кодварс), расскажу как на текущем проекте происходит переезд функционала на отдельный сервис(опыт распила монолита в вакансиях).
Главная задача плавный переезд, что в данном случае означает возможность увеличивать количество данных юзеров которые будут обрабатываться на сервисе. Т.е. запустили сервис и решили попробывать что случится если мы 10 процентов юзеров переведом втуда, и так далее увеличивая до 100 полностью переехав.
🦴 Как бы пресетап, CQRS паттерн, не обазательно, но удобно одна точка входа/выхода по сути команду которая раньше записывала/апдейтила в базу переделываем на месседж в кафку(либо пост запрос как пример) который прочитает наш сервис.
🦴 Flipper - наш главный гем который дает на функционал включения/выключения фич и их процентов
🦴 Redis - тоже можно и другую базу, просто пример реализации с редисом
💀
Начинаем с Flipper,
💀
- непосредственно в том месте где логика текущего функционала, там где у нас commad или query, к сожелению у меня например не все так гладко добавляли не только в одном месте(команда/кверя), но в процессе можно отрефакторить "контрабандой" - потом будем на перформансе хвастаться. Так как у нас какойто процент юзеров, то для новых это тоже актуально Flipper будет для каждого 10 нового юзера делать enable наш фича флаг.
-второе место это джоба которая сразу отправит нам 10 процентов юзеров и так далее пока не перевезем всех.
💀подробнее про второе место, а именно джобу
этот кусочек кода будет практически одинаковым для новых юзеров и для джобы
Но в джобе нам нужно запомнить данные которые уже отправились, потому что мы еще не раз ее запустим из-за того что запускаем по частям 10-20-30 и тд процентов юзеров(любых других данных), тут пригодится кэш
и добавляем в джобу еще один иф
после проверки Flipper.
Альтернативных гемов не встречал, мы его так же юзаем для любого другого нового функционала на монолите только для 100 процентов, таким образом если что то пошло не так можно не откатывать релиз а просто выключить в админке. Ну и так же АБ тестирование тоже с ним происходит, там уже тоже учитываются проценты.
Главная задача плавный переезд, что в данном случае означает возможность увеличивать количество данных юзеров которые будут обрабатываться на сервисе. Т.е. запустили сервис и решили попробывать что случится если мы 10 процентов юзеров переведом втуда, и так далее увеличивая до 100 полностью переехав.
🦴 Как бы пресетап, CQRS паттерн, не обазательно, но удобно одна точка входа/выхода по сути команду которая раньше записывала/апдейтила в базу переделываем на месседж в кафку(либо пост запрос как пример) который прочитает наш сервис.
🦴 Flipper - наш главный гем который дает на функционал включения/выключения фич и их процентов
🦴 Redis - тоже можно и другую базу, просто пример реализации с редисом
💀
Начинаем с Flipper,
Flipper.enable(:new_feature)- для простоты пишем это в консоле, у нас появляется функионал
Flipper.enabled?(:new_feature)- где так же вторым аргументом можно передать юзера, а так же
enable_percentage_of_actorsгде вторым аргументом процент который мы хотим установить. Соответсвенно в кодовой базе это будет выглядеть как добавление ифов с
Flipper.enabled?где в елсе будет старый функционал, а в ифе новый
💀
Мы делаем 2 способа отправки данных из монолита в сервис:
- непосредственно в том месте где логика текущего функционала, там где у нас commad или query, к сожелению у меня например не все так гладко добавляли не только в одном месте(команда/кверя), но в процессе можно отрефакторить "контрабандой" - потом будем на перформансе хвастаться. Так как у нас какойто процент юзеров, то для новых это тоже актуально Flipper будет для каждого 10 нового юзера делать enable наш фича флаг.
-второе место это джоба которая сразу отправит нам 10 процентов юзеров и так далее пока не перевезем всех.
💀подробнее про второе место, а именно джобу
actor = OpenStruct.new(flipper_id: “User;#{user_id}")
return if FeatureFlag.disabled?(:feature_flag, actor)
этот кусочек кода будет практически одинаковым для новых юзеров и для джобы
Но в джобе нам нужно запомнить данные которые уже отправились, потому что мы еще не раз ее запустим из-за того что запускаем по частям 10-20-30 и тд процентов юзеров(любых других данных), тут пригодится кэш
Rails.cache.write("#{user_id}_specific_key", user_id, expires_in: 90.days и добавляем в джобу еще один иф
return if Rails.cache.fetch(“#{user_id}_specific_key”).present? после проверки Flipper.
Альтернативных гемов не встречал, мы его так же юзаем для любого другого нового функционала на монолите только для 100 процентов, таким образом если что то пошло не так можно не откатывать релиз а просто выключить в админке. Ну и так же АБ тестирование тоже с ним происходит, там уже тоже учитываются проценты.
🔥2⚡1
пришел спам на почту работа в конаде ап ту 114к юсд 🇨🇦
один из пунктов звучит так
это какойто занебесный уровень продуктивности или когда менеджер волчара 🤡
один из пунктов звучит так
High-traffic production environment, which sees the team ship code 7 times per day (on average)!
это какойто занебесный уровень продуктивности или когда менеджер волчара 🤡
👻2
Утром был микро скрининг, пока еще на руби вакансия мутная часто описание меняли. Из примечательного мадам ХРЕН(как удачно т9 исправил) даже задавала вопросы по руби. А потом внезапно — «мы против если сотрудник будет совмещать еще одну работу» и в конце «можете ли дать три номера менеджеров с прошлой работы если попросим». Вообщем какой вывод мадам хр в тренде держите на чеку. 🐺
P.S. По гошке осваиваюсь хз че написать, пока что.
P.S. По гошке осваиваюсь хз че написать, пока что.
😱3
🦴🦴🦴Высру 3 мысли в одном посте: 🦴🦴🦴
📕Книга from Ruby to golang не рекомендую, крайне не рекомендую. Я уже писал что разочаровался, с тех пор я ее дочитал, затрагивает наверное 20% языка и по сути она похожа просто на переводчик с руби на го. Построена она по принципу так в руби а так в го. Последняя глава это интерфейсы. Еще треть книги это список терминов(общих), если кто то свичуется с руби в го читайте захлебом за пол дня и не парьтесь или выкиньте ее.
📗Не буду говорить что я стремлюсь к сверхпродуктивности, идеально конечно 95% практики + видосы/статьи которые должны быть краткой выжимкой с книг, как будто это сэкономит время (и что бы курьер выносил мусор 🗿). Так вот я это к тому что книга нужна, бывает лень решать задачи, внимательно смотреть видосы, обычной работой мозг устал и книга это компромис аля "не можешь бижать - ползи". И я нашел следующую, чутье подсказывает должна зайти 100 ошибок Go и как их избежать. Во-первых я похожее читал в руби оч зашло, во-вторых как минимум 100 примеров кода будет а значит книга ближе к практике. Краткое ревью сделаю как дочитаю, хотелось бы что бы я уже эти ошибки допускал не в кодварсах/литкодах а в какойто приближенной к проектам практике.
🐳 Вчера помагал товарищу-вкатышу с серваком, на его курсах кратко проходятся по деплою/линуксу. В голову пришел диджитал оушн, и внезапно сейчас там суперлегко деплоить. Думаю написать, что то а гошке, однозначно апи, а что будет делать буду думать. В идеале конечно найти террабайты данных и пытаться гоурутинами элегантно их доставать, но можно начать с простого - прокси для другой апишки.
📕Книга from Ruby to golang не рекомендую, крайне не рекомендую. Я уже писал что разочаровался, с тех пор я ее дочитал, затрагивает наверное 20% языка и по сути она похожа просто на переводчик с руби на го. Построена она по принципу так в руби а так в го. Последняя глава это интерфейсы. Еще треть книги это список терминов(общих), если кто то свичуется с руби в го читайте захлебом за пол дня и не парьтесь или выкиньте ее.
📗Не буду говорить что я стремлюсь к сверхпродуктивности, идеально конечно 95% практики + видосы/статьи которые должны быть краткой выжимкой с книг, как будто это сэкономит время (и что бы курьер выносил мусор 🗿). Так вот я это к тому что книга нужна, бывает лень решать задачи, внимательно смотреть видосы, обычной работой мозг устал и книга это компромис аля "не можешь бижать - ползи". И я нашел следующую, чутье подсказывает должна зайти 100 ошибок Go и как их избежать. Во-первых я похожее читал в руби оч зашло, во-вторых как минимум 100 примеров кода будет а значит книга ближе к практике. Краткое ревью сделаю как дочитаю, хотелось бы что бы я уже эти ошибки допускал не в кодварсах/литкодах а в какойто приближенной к проектам практике.
🐳 Вчера помагал товарищу-вкатышу с серваком, на его курсах кратко проходятся по деплою/линуксу. В голову пришел диджитал оушн, и внезапно сейчас там суперлегко деплоить. Думаю написать, что то а гошке, однозначно апи, а что будет делать буду думать. В идеале конечно найти террабайты данных и пытаться гоурутинами элегантно их доставать, но можно начать с простого - прокси для другой апишки.
🔥5
🤡Здраствуйте🤡
Хотел записать, записал, звук себя вышел в окно, поэтому вырезал два кусочка ХР о вакансии.
Что не вырезал скажу текстом.
Уже на скрининге достает меня вопросами про DSA, -📌оцени свой уровень алогосиков от 1 до влада тена.
-📌как часто юзаешь в работае DSA: хер знает что тут ответить, думаю коррелирует со следующим вопросом "а как сильно ты самостоятельный и делаешь ли проекты с нуля" проекты подразумавется фича или сервис. Конечно в повседнемном багафиксе эти алгосики или структуры в плане подумать ты используешь примерно редко. Но если можешь запилить фичу с нуля то там и поттерны и структуры и алгосики.
Саммари аудио если впадлу слушать:
-2 часа на кодилити то что на скрине, срок неделя
-созвон с ХР забронькать следующие этапы
-3 часа на алгосики с тремя командами(они ищут в три команды)
-4й час behavioral/cluture fit - нет не угадали growth mindset
возможно это для владов тенов, подразумевается проверка мотивации и способностей выучить си шарп.
Хотел записать, записал, звук себя вышел в окно, поэтому вырезал два кусочка ХР о вакансии.
Что не вырезал скажу текстом.
Уже на скрининге достает меня вопросами про DSA, -📌оцени свой уровень алогосиков от 1 до влада тена.
-📌как часто юзаешь в работае DSA: хер знает что тут ответить, думаю коррелирует со следующим вопросом "а как сильно ты самостоятельный и делаешь ли проекты с нуля" проекты подразумавется фича или сервис. Конечно в повседнемном багафиксе эти алгосики или структуры в плане подумать ты используешь примерно редко. Но если можешь запилить фичу с нуля то там и поттерны и структуры и алгосики.
Саммари аудио если впадлу слушать:
-2 часа на кодилити то что на скрине, срок неделя
-созвон с ХР забронькать следующие этапы
-3 часа на алгосики с тремя командами(они ищут в три команды)
-4й час behavioral/cluture fit - нет не угадали growth mindset
возможно это для владов тенов, подразумевается проверка мотивации и способностей выучить си шарп.
🔥2
💀Сразу говорю я делаю не правильно так делать нельзя (с) 💀
Начинаю практиковать гошку, почти калька с видео ozon (в ноушне есть ссылка). Сделал хуже чеем в видео, потому что как раз почитаю 100 ошибок 0 помощи.
Это бот у которого можно спросить по команде search + какоето слово что значит это слово, бот ходит на urban dictionary.
В планах удачно отрефакторить и поменять/добавить другую апишку, нужно что то где уместно будет использовать корутины возможно это 2+ разные апишки по одной тематики. Потом подумаю куда бы его задеплоить диджитал оушн поидее базка мне не нужна может найдется бесплатный сервак либо за подъемные 100 баксов. Кто знает еще варианты захостить дешего бота пишите.
https://github.com/igorrize/go_bot
Начинаю практиковать гошку, почти калька с видео ozon (в ноушне есть ссылка). Сделал хуже чеем в видео, потому что как раз почитаю 100 ошибок
Это бот у которого можно спросить по команде search + какоето слово что значит это слово, бот ходит на urban dictionary.
В планах удачно отрефакторить и поменять/добавить другую апишку, нужно что то где уместно будет использовать корутины возможно это 2+ разные апишки по одной тематики. Потом подумаю куда бы его задеплоить диджитал оушн поидее базка мне не нужна может найдется бесплатный сервак либо за подъемные 100 баксов. Кто знает еще варианты захостить дешего бота пишите.
https://github.com/igorrize/go_bot
GitHub
GitHub - igorrize/go_bot
Contribute to igorrize/go_bot development by creating an account on GitHub.
🔥2⚡1
🤖Эксклюзив(нет )
Задачки с майкрософт теста на долбаеба(если не пройдешь то и не позовут дальше), дается два часа тест, не копируется, вырезал, страдал. На самом деле легкие, третья просто необычная может на уровень медиум литкода тянет хотя тут еще субъективное ощущение от перевода и просто долгого понимания что требуется.
🦴Обновил ноушн добавил ссылки на задачки которые должны быть ближе к реалиям. Будем пробовать.
🦴Учится устал, потому что криво записаны видосы озоновского торрента, и только третий с практикой аля воркшоп.
🦴Думаю что го-фичевского добавить в бота/проект.
Задачки с майкрософт теста на долбаеба(если не пройдешь то и не позовут дальше), дается два часа тест, не копируется, вырезал, страдал. На самом деле легкие, третья просто необычная может на уровень медиум литкода тянет хотя тут еще субъективное ощущение от перевода и просто долгого понимания что требуется.
🦴Обновил ноушн добавил ссылки на задачки которые должны быть ближе к реалиям. Будем пробовать.
🦴Учится устал, потому что криво записаны видосы озоновского торрента, и только третий с практикой аля воркшоп.
🦴Думаю что го-фичевского добавить в бота/проект.
🔥4