TGViewer
Channel Public Channel
Айтишник обыкновенный 🐰

Айтишник обыкновенный 🐰

@default_itshnik

Привет!

Я Коля – молодой отец, муж и айтишник с опытом более 6 лет. Сейчас занимаю должность ведущего системного аналитика.

Подписывайся, здесь умные хиханьки-хаханьки про IT

Автор: @itshnik_kolya
Subscribers
1.91K
Photos
254
Videos
23
Links
119

Showing posts older than #374 · Back to latest

Older Posts 16 shown
Post #371 1.08K
Ну, мы.

#юморэзки
  • 🤣 21
  • 👍 6
  • ❤ 3
  • 🔥 1
Post #370 1.03K
🚨НЕ УДАЛЯЙ ПОКА НЕ ПРОЧИТАЕШЬ ЭТОТ ПОСТ🚨

Теперь, когда вы обратили внимание, поведаю вам интересную историю о мальчишке по имени Коля, который любил удалять.

Коля спроектировал и спрограммировал большую микросервисную систему с кучей транзакций, логики и прочих полезностей для бизнеса. Это было приложение для заказа разных видов рафа на дом, в том числе лавандовый и на банановом молоке. Исключительная фишка заключалась в том, что кофе привозили горячим и, конечно же, вкусным 🥤

Как-то раз к Коле пришли из бизнеса и предложили добавить новый напиток. Коля реализовал механизм добавления напитков, а также их удаления. И вот наступило 14 февраля, коллеги из отдела маркетинга добавили тематический напиток - «раф поцелуй Купидона 🙈» с зефирками и специальным сиропом, и заложили время, в которое его можно купить, неделя до и после праздника. После проведения акции напиток удалялся из меню.

Наконец наступил праздник, все довольны, клиенты покупают новый вкусный раф, бизнес считает прибыль, Коля решает новые задачи. Одним словом - «песня»

Но наступило 21 февраля и всё внезапно сломалось! Буквально всё. Но что же произошло? Правильно, напиток удалился. Но почему же это сломало «всё»?

Давайте разбираться:
1️⃣Во-первых, были клиенты, которые добавляли напиток в свою корзину, но так и не заказали его. Когда они зашли в приложение вновь, запрос на получение данных с корзиной сломался, так как не смог найти в справочнике БД информацию об удалённом напитке.
2️⃣Во-вторых, были клиенты, которые уже успели попробовать новый раф. У них, конечно же, сломалась история заказов.
3️⃣В-третьих, внутри бэкенда тоже все сломалось, так как всё, что не могло улететь на фронт приложения, так же имело зависимости и на бэке. Туда же полетели различные системы лояльности, банковские расчёты и тд. Все сломалось как карточный домик.

А всё можно было бы исправить одним простым действием, просто не удалять временный напиток) Да-да, зачем его удалять?
1️⃣Во-первых, конкретно в этом кейсе, ничего не стоит оставить данные, они занимают не так много места.
2️⃣Во-вторых, кто сказал, что мы просто так оставим? Мы добавим признак, отвечающий за то, что напиток стал неактуальным для заказа.

На самом деле вопрос удаления довольно часто поднимается в подобном ключе, очень важно знать и понимать, что чаще лучше не удалять данные, чем удалять. Иначе можно себе вставить палки в колеса.

Еще подробнее на эту тему можете почитать вот этот пост. Тут довольно просто, но подробно и на хороших примерах разбирается тема удаления и поднимается такое понятие как SOFT DELETE.

И под конец желаю вам не быть тем самым Колей из байки и как в поговорке, семь раз отмерять перед тем как один раз резать удалять)


Ставьте ✋ и делитесь в комментах своими историями как вы что-то удаляли, что совсем не стоило бы.

#быстростатья
  • 🔥 27
  • ❤ 8
  • 👍 3
Post #369 1.13K
Если среди вас есть hr или если у вас есть знакомый hr, свяжитесь, пожалуйста, со мной - @itshnik_kolya
Или хотя бы в комментах отзовитесь, оч нада


Готовлю серию постов на тему найма, вакансий, вката и тд. Хочу подойти к этому не только с позиции своего личного мнения и опыта. Пока не буду раскрывать каких-либо подробностей, но должно быть круто.

Всем хорошего дня и вот вам мем на злобу дня❤️

#движуха
  • ❤ 15
  • 🤣 11
  • 🔥 4
Post #368 1.08K
Итак, мое ЭКСПЕРТНОЕ МНЕНИЕ по поводу REST vs gRPC.

Вкратце, ответ такой:
Расходимся, нас снова всех обманули 💩, победила дружба. Но я не пуська, поэтому объясню свою позицию.

Сейчас все делают приложения на микросервисах. И даже если лично ты не делаешь, то скоро, скорее всего, будешь, когда твой монолит уже не сможет адекватно существовать, а проект уйдет далеко за грани МВП. Даже фронтенд в крупных проектах уже пишется с подходом микрофронтендов. Но сейчас не об этом ☝️

Для микросервисов оба варианта хороши. Оба варианта имеют большое комьюнити, паттернов для реализации, библиотек и тд. Каждый вариант имеет свои плюсы и минусы. Если коротко, то REST простой и поддерживается чуть ли не утюгом, а gRPC производительный и более удобный (с точки зрения разработки).

Так что, если брать во внимание их плюсы и минусы, то не нужно выбирать и кровно доказывать «кто круче». Оба варианта круче.

Мы будем использовать gRPC для взаимодействий внутри контура, между своими сервисами бэкенда, возможно, еще для взаимодействия с некоторыми смежниками, а REST для взаимодействия с внешними потребителями (тут подразумеваю в первую очередь тех, кто находится за контуром, а также смежников без грпц) и клиентом (фронтенд куском приложения, который такой с кнопочками).

Можно угореть и воткнуть грпц везде, ведь он более модный, производительный и вообще рест уже фу, но зачем вставлять себе палки в колеса? 🧠

Кто с моим самым экспертным мнением не согласен, прошу в комментарии, я, с удовольствием, почитаю ваши доводы❤️

Почитаю и останусь при своем уже сформировавшемся мнении))
🏋️

PS: Любопытно, что большинство проголосовало за рест, причем с мощным отрывом. Жалко, что никто не высказался(

Ставь 💃 если внимательно прочитал, мне будет приятно ❤️

#экспертноемнение
  • 👍 8
  • ❤ 2
  • 🔥 2
Post #367 1.06K
В посте про версионирование написал, что есть разные варианты, как можно использовать семантическую строку. Сразу подметил, что «пофиг» где и как вы это делаете. Главное, чтобы это работало и всем было ок. Конечно, способы отличаются, имеют свои компромиссы, плюсы и минусы. Но…
ПОФИГ!

На самом деле важнее всего, чтобы всем было удобно
, и это не создавало лишних проблем при использовании.

И все же текущий пост не об этом, сейчас я хочу открыть еще одну холиварную тему.

А вы за CHILL REST или gRPC?

Сейчас каждый обязательно должен выбрать какой-то лагерь, а в идеале еще и написать коммент с обоснованием, если ты не пуська, конечно!) Тут уже так просто не получится отвертеться, сказав, что ПОФИГ))

А я уже подготовил свое развернутое мнение и его сможете увидеть либо после того, как пробьем 25 реакций, либо завтра.

⚔️👁⚔️⚔️👁⚔️

Итак, ты за кого?!?! Голосуй!!!
И пусть победит сильнейший!

🤟 – я за мой любимый рестик
🤔 – я за мой любимый гээрпэцэ
Telegram Айтишник обыкновенный 🐰 Версионирование API Наверное, почти все знают и понимают что это такое. А я все равно хочу рассказать подробнее, не зря же я об этом читал в книге Дж. Гивакса «Паттерны проектирования API». Интересный факт, я заметил, что все используют один и тот же подход…
  • 🔥 12
Post #366 965
PS: С 23.02!

#юморэзки
  • 🤣 16
  • ❤ 11
  • 🔥 7
Post #364 1.23K
Ох уж эти мемы про зумеров 🥲

#юморэзки
  • 🤣 36
  • ❤ 10
  • 🔥 4
Post #363 1.31K
Версионирование API

Наверное, почти все знают и понимают что это такое. А я все равно хочу рассказать подробнее, не зря же я об этом читал в книге Дж. Гивакса «Паттерны проектирования API».

Интересный факт, я заметил, что все используют один и тот же подход версионирования, пихая только его в разные куски, думая, что это и есть разные подходы. А вот и нет, все немного иначе.

Итак, самый известный и почти всеми используемый подход - семантическая строка. Да-да, тот самый паттерн, который включает в себя циферки с точками:
1️⃣.2️⃣.3️⃣

В этой строке обычно три числа:

1️⃣MAJOR –
отвечает за мажорные версии, которые обновляются при накате обратно не совместимых изменений

2️⃣MINOR –
второе число (минорная версия) отвечает за накат новой обратно совместимой функциональности

3️⃣PATCH –
а третье число, которое на самом деле часто не используют - это патчи, то есть обратно совместимые изменения с устранением ошибки или корректировкой поведения работы API.

По сути самое важное при любом обновлении ручки - понять: «А потребители сломаются?». Если ответ на вопрос - «Да», то значит ваше обновление обратно несовместимо и вам нужно поменять мажорную версию. А еще желательно оповестить об этом потребителей, чтобы они своевременно перешли на новую версию и при необходимости старую вывести из эксплуатации.


Как меняются циферки и почему мы разобрались, а теперь давайте перейдем к самому главному и холиварному - куда же нам запихнуть эти цифры?

На самом деле пофиг, я серьезно. Кому-то удобнее в URI прямо в path или в виде параметра, кому-то в Header, а кому-то в отдельное поле Body.

А где вы указываете версию?
❤️ - в строке адреса
🤔 - в заголовке
😱 - в теле

И пишите свои нестандартные варианты, где и как вы использовали семантическую строку. Например, я использую в
🟢🟩🟩🟩🟩🟢, так как это тоже удобно.

#быстростатья
  • ❤ 9
  • 👍 4
  • 😱 3
  • 🤨 3
Post #362 1.22K
Никому ИИ не нужен? ПОД КЛЮЧ!
🤣🤣🤣

Кстати, всех люблю и обожаю❤️
С днем Валька вас)
  • ❤ 12
  • 🤣 11
  • 👍 1
Post #361 1.21K
А какой суккулент ты на вкус? Пишите в комментах свои варианты 💪

🌵 Кактус - немного токсик, люблю всех подкалывать
💸 Замиокулькас (также известный как долларовое дерево) - люблю зиму, потому что там новогодняя премия
🌯 Буррито - люблю зависнуть под солнцем (желательно на песчаном пляже), а пес почему-то не добавляется, так что ставьте 🤣

PS: я по ходу сразу все три варианта 🤣
PPS: а если вы еще и проголосуете за канал, будет вообще круто, я смогу добавить еще кастомных реакций!
PPPS: фото буррито добавлю в комменты, если не забуду)))
Telegram Айтишник обыкновенный 🐰 Проголосуйте за канал, чтобы он получил больше возможностей.
  • 🤣 4
Post #359 1.29K
Эйчары выходят из запоя

Уже не первую неделю во многих айтишных каналах идет бурное обсуждение рынка труда. Кто-то пишет про сокращения, кто-то про то, что людей все также не хватает. Даже многие опытные специалисты переживают, что если их погонят из компании, то они не найдут работу 😢

Но я бы хотел вас немного подбодрить, провели тут некоторые ребята эксперименты, и как только открыли свои резюме на hh, так сразу эйчары начинали закидывать предложениями. Поэтому сказать, что все прям плохо точно нельзя.

Новогодние праздники закончились, и как будто бы с ними тема сокращений тоже постепенно утихает. А если вспомнить, что большие компании долго разворачиваются, то можно понять, что сейчас как раз проходят/прошли волны разного рода согласований: бюджета, мест, целей и тд. Так что уже сейчас начинают появляться новые вакансии на самые разные позиции.

Если вы думаете сменить работу, то Вита, моя коллега и системный аналитик из Сбера, как раз рассказывает крутые лайфхаки по резюме и трудоустройству. И если вы хотите быть гигачад-кандидатом на рынке, то самое время заглянуть на её канал 💪

Собрал для вас одни из самых топовых и полезных постов, благодаря которым ребята находили работу:

🔘 Бесплатный файл для подготовки к собесам на БА/СА с материалами на 100+ страниц (Вита, за это тебе отдельный респект)

🔘 Бомбический вебинар с solution архитектором, где разбирали актуальные вопросы по резюме, найму, хард и софт-скиллам🔥

🔘 Пет-проект для системного аналитика, с которого я ухахатывался

🔘 Интервью, где HR открывает закулисье своей работы и наглядно показывает, как ищет кандидатов на позицию СА

Еще Вита частенько освещает разные забавные собесы. В том же Сбере, например, один техлид замутил собес в стиле днд квеста. Мужик, видимо, настолько преисполнился и устал, что придумал себе новый формат развлечения 😁

Или есть пост о том, как к Вите пришел эйчар из Яндекса и предложил вакансию бизнес-аналитика, за которым скрывался дата-аналитик. Звучит по-яндексовски, не правда ли? 😂

Так что не давайте себя заскамить 💩 новостями о сокращениях, если решились на собес, дерзайте, у вас все получится.
  • 🔥 16
  • 👍 5
  • ❤ 4
Post #358 1.21K
Ухахаха

#юморэзки
  • 🤣 38
  • 👍 3
  • 🔥 2
Post #357 1.34K
А все знают разницу между URI, URL и URN?

Вот я стабильно раз в год где-то забываю👌
Это, конечно, вопрос, который вряд ли у вас спросят на собесе, однако, в работе частенько это знание пригождается.
Поэтому это 🌟

Так что ловите памятку и сохраняйте себе)

*️⃣URI (Uniform Resource Identifier) – унифицированный идентификатор ресурса
*️⃣URL (Uniform Resource Locator) – адрес ресурса в сети Интернет
*️⃣URN (Uniform Resource Name) – единообразное название ресурса

Если после этих определений вам все стало ясно, то, наверное, вы гений из Гарварда, ну или я просто слишком слабый.

Если вам как и мне по определениям все еще ничего не понятно, то картинка далее специально для вас (и меня).
Кстати, ее я подрезал из публикации того самого Алекса Сю, автора книги System Design Interview, кто не читал, рекомендую. Пост про книгу туть.

#быстростатья
  • 🔥 14
  • 👍 7
  • ❤ 2
Post #356 1.1K
Сейчас я вам поведаю одну грустную историю

Помните в этом посте я рассказывал про семейное увлечение суккулентами?

Так вот, сейчас совсем нет времени заниматься цветами(

Настолько нет времени, что мы на них практически полностью забили. На фоне этого цветы перестали поливать вовремя, регулярно подсвечивать и вообще хоть как-то за ними ухаживать. От этого цветы начали тянуться к свету, пускать воздушые корни, откидывать ненужные листья и тд.

НО кому-то это может даже по-своему понравиться, так как теперь, например, топси турви выглядят как мини пальмы 🌴
  • ❤ 9
  • 🤣 3
Post #353 1.43K
А вы знали, что каждый, вот буквально каждый, может сам сделать браузерное расширение для использования в личных целях?

Например, мне на прошлой работе надоело при подключении к виртуальному рабочему месту вводить по несколько раз логин и пароль, который еще обычно ультразащищенный и состоит из кучи самых разных символов. И что забавно, браузер и связка ключей ноута почему-то отказывались адекватно работать с этой УЗ, приходилось все заполнять исключительно ручками. Так что я, как самый настоящий айтишник, автоматизировал ежедневную рутину с помощью расширения.

Если расширение не планируется публиковать в какой-нибудь Google Extension Store, то не нужно платить деньги за кабинет разработчика. Но в структуре расширения все равно придется разобраться, а еще в строении страницы приложения, где будете использовать расширение, ну и, конечно, придется еще чуток разобраться с JS и CSS. Кстати, необязательно становится настоящим джаваскриптизером, большинство запросов можно и загуглить или, как сейчас это модно, заджипитить.

Итак, из чего состоит расширение?
Есть четыре основных блока и один еще:
🔘 Popup – вываливается при клике на иконку, чаще всего там различные настройки
🔘 Content – встраивается непосредственно в страницу или страницы, где запланировано использовать расширение
🔘 Background – работает фоном, обычно используется для связи попапа и контента, либо для выполнения каких-то задач фоном
🔘 InfoPage – открывается в отдельной вкладке, также обычно содержит настройки или полезную информацию
⚡️ Manifest.json – файл, который используется для настройки расширения и подгрузки всех описанных выше частей

Что нужно для того, чтобы начать использовать расширение?
Достаточно простого редактора, например, Notepad или Sublime, и сам браузер, в котором будем использовать расширение. Еще нужно немного разобраться в панели разработчика браузера, там куча полезных вкладок, которые помогут отладиться, провести реверс инжиниринг, найти то, что будет дорабатываться и понять как.

А теперь, когда вы узнали вкратце про расширения, и поняли, что на самом деле все не так просто, как было сказано в заголовке, я вас немного успокою)

Есть уже готовое расширение, которое позволяет встраивать CSS стили и JS код.
Не знаю насколько безопасен Styler, но если никакие пароли вы не вставляете, то, наверное, можно закрыть свои нужды и им, не делая полноценное расширение. А еще стайлером можно как минимум сделать крутую прическу отладить работу, так как это удобнее, когда вы не особо разбираетесь в инструментах браузера или не хотите разбираться во всех описанных выше нюансах расширения. Из коробки расширение дает вам два поля для ввода, первое для стилей, второе для кода. Не надо разбираться в структуре расширения, продумывать лишнюю логику, заморачиваться с установкой расширения и постоянным обновлением версий в ходе отладки и тестирования, не надо в конце концов разбираться в манифесте (а там куча настроек, придется курить доки 🚬)

Далее пойдут простые примеры и перед тем, как вы посмотрите на них, призываю вас писать в комменты все возникшие вопросы, уверен, что много всего нового и ничего непонятно))) С удовольствием расскажу то, что сам знаю. А для тех, кому стало прям интересно, ставьте - 🤩 , если увижу активность, то обязательно выложу продолжение с небольшим проектом и расскажу простым языком что и как работает.

Итак, пример использования Styler`а для Хабра. Я добавил CSS стили, чтобы сделать весь текст жирным (ну или почти весь) для снижения напряжения на глаза 👀:
* {
font-weight: 700
}


А также добавил небольшой кусок JavaScript для оповещения о том, что уже целых 15 минут сижу и читаю публикации на Хабре ⏰:
const time = 1000 * 60 * 15   //15 минут
const stopChill = () => {
alert("Что-то ты сильно расчилился, пора бы поработать!")
}

setTimeout(stopChill, time)


#быстростатья
  • 👍 10
  • 🔥 4
  • ❤ 3
Post #352 1.33K
Если что, я никого не покидал, это все проделки шпиёнов.

Ставь лайк, если тоже старый и любишь мемы с внезапным патисоном 👍

#юморэзки
  • 🤣 11
  • 👍 5
  • ❤ 2
  • 🗿 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →