Айтигребец
666 subscribers
182 photos
45 videos
137 links
Айтигребец - канал душного сеньора помидора.

Ссылочки, мысли и прочая IT-годнота. Технологии, статьи, интервью etc. Расширяем кругозор и гребём тугеза.

17 лет фуллстека, сейчас мастли бэк. 10 лет .NET, 7 лет Node.js

Связь : @ytrihT
Download Telegram
7) Security. Отвязать аккаунт от номера телефона. Да, так они пытаются бороться с фейк-акками и уменьшить кол-во "мёртвых душ", но есть и другие способы. Как показала практика 2020-ого года в Беларуси, симка как второй фактор - опасная штука. Cloud password тут вроде как "спасает", однако есть случаи, когда и он не помогал.
Второй момент - отсутствие "второго дна" или "защищённого пространства", куда можно попасть только если ввести куда-то какой-то код. Допустим, я хочу подписаться на канал, но иметь возможность читать его только тогда, когда считаю это безопасным.
Третья фишка - это идентификатор пользователя в общих чатах. Изменением никнейма и имени тут не добиться анонимности. Клиент телеграма видит ваш "реальный id", и он не меняется между чатами. А жаль, ведь таким образом можно вычислять людей "на будущее", собирая информацию о том, что кто пишет, а потом "сопоставляя" списки, собирая их, допустим, с других устройств. Чем и пользовались белорусские силовики в 2020-ом.

8) Было бы круто как-то "сливать" каналы и чаты в одну ленту. Т.е. чтобы я мог все новости поместить не в папку, а смержить в один канал и там читать не переключаясь постоянно между ними.

9) Ужасно не хватает фишки "отметить непросмотренным". Миллион раз был кейс, когда случайно открываешь чат с человеком и у него сообщения отображаются как "просмотренные". И нет возможности откатить. Существует возможность "mark as unread" на контакте, чтобы не забыть потом это сделать, но сообщение всё равно уже помечено как "просмотренное", что создаёт дискомфорт.

10) Было бы круто видеть не только "edited" при редактировании, но и историю изменений конкретного сообщения.

11) Есть куда расти и поиску. Сейчас он объединяет в себя поиск вообще по всему. Хочешь найти каналы - мимо. Покажет первые 5 по совпадению, остальные отрежутся. Нельзя в поиск вбить никнейм и найти все его сообщения. Ну и регулярочки бы :)

12) Комментарии в каналах это какой-то отдельный ад для автора канала. Сейчас это реализуется через бота, а хотелось бы нативно.

13) Ну и последнее :) Очень не хватает тредов (древовидной структуры), как в слаке. Удобно до жути. Уверен, что должны впилить в ближайший год-два, это же напрашивается.

Ребят, есть пару вопросов к вам :

1) Чего по вашему мнению не хватает сейчас в ТГ? С удовольствием почитаю.

2) Если у вас есть своя статистика по кол-ву прем аккаунтов на текущий момент и/или вы состоите в больших чатах и вам не лень подсчитать кол-во, кидайте в комменты, тоже будет интересно глянуть.

Ну и ... ДУРОВ, ВЕРНИ СТЕНУ!
👍6
Паттерны, SOLID, Архитектура, Тесты или Хуяк-Хуяк и в продакшен ?

Статья с хабра повествует о Серёже. Серёжа - программист. Но коллеги Серёжи так не считают. Ох, я бы даже сказал - они его ненавидят! Он пишет плохой код, в то время как его коллеги - хороший.

Но ... Серёжа нравится клиентам! Делает быстро. Фиксы как-то накатываются. Серёже не нужно рефакторить и писать тесты. Зачем? "Подфуфлил" и готово!

"Понапридумывали всякой высокоуровневой чуши, сами с ней и возитесь" - думает Серёжа.

Серёжа плохой?

Правильный ответ : it depends

Безусловно аж глаз дёргается, когда читаешь о подходе Серёжи. Я таких персонажей встречал и переделывать за ними - это боль. Обычно, если таким людям доверяют делать большой пласт работы - это безусловная ошибка менеджмента/тех лида - того, кто отдал Серёже таску. Так бывает.

В статье еще закончилось не так всё грустно, т.к. команда пришла к выводу "ну работает Серёжа и работает, раз мы не можем переубедить заказчика. Главное чтобы нам потом туда не нырять в гидрокостюме".

На самом деле, это палка о двух концах.

С одной стороны : Все мы понимаем (надеюсь), что качество конечного продукта зависит от множество факторов. Сделать качественно = сделать ... как? Возьмём как конечный продукт, скажем - автомобиль. Да это слоёный рекурсивный пирог, где СТОЛЬКО аспектов продукта, что можно взвыть только лишь перечисляя их.

А на другом конце Серёжа, который склеил автомобиль из картона, приделал смешную крякалку-дудку вместо клаксона, посадил на две оси и даже приклеил на клей зелёные брызговики Sparco! Таких даже у настоящих автомобилей нет.

Так почему "Зависит"-то? Вроде всё очевидно. На мерседесе все хотят ездить, а вот на машине Серёжи - только сам Серёжа.

А давайте теперь представим, что по ТЗ у этой машины на самом деле было ... "слепить автомобиль для ... детского утренника!". Да дети счастливы будут! Можно залезть внутрь, представить себя водителем и даже "подудеть клаксоном". А то, что она уже к вечеру развалится, брызговики отклеятся, а дудка выйдет из строя - уже и не так важно, дети уже дома будут - рассказывать родителям на каком крутом бугатти они катались. Заказчик доволен. Серёжа тоже. А вот вторая команда - нет, ведь дедлайн уже вышел, а они только-только прикинули стратегию постройки цеха для покраски ручки водительской двери.

Надеюсь, аналогия ясна :) Всё зависит от ... ТЗ и ... кучи факторов.

Во-первых, зачастую бизнесу нужно сегодня. Ибо завтра уже конкурент сожрёт или ниша закроется. А как только на ноги встанет - можно уже и команду нанять и переписать выкинуть старое. MVP (Minimal Valuable Product) - в конкурентной среде реально рабочий инструмент. И там не до архитектур, там бы просто "удочку закинуть". Посадочные страницы думаете зачем существуют? Ага. Сначала - proof of concept, а после уже напильничком-напильничком.

У меня в городе есть прекрасный пример - у лучшей шашлычной в городе сайт лет пять был ... JPEG картинкой. С ассортиментом, ценами и адресом. Всё. Ребята развились и ... заказали уже нормальный сайт. Уот так уот.

Во-вторых, вот даже по себе сужу - сколько код ни вылизывай, всё равно есть куда делать лучше. А надо ли? Это ведь та самая обратная сторона палки. Да поживёт эта админка на jquery, зачем там react? И что, что монолитом и падает раз в два дня? Ей пользуются два человека раз в месяц. Хоть функции у нее и критические для бизнеса - перезапустить сервер да жмякнуть пару раз кнопку (по таймауту просто валится по фазе луны) - пойдёт! Оно работает? Работает. Бизнесу хорошо. Админке, к сожалению не очень, но кто её спрашивает.
👍10😁1
В-третьих, вы же знаете - преждевременная оптимизация - зло. Это еще сто лет назад наш любимый дядя Кнут вывел. И он чертовски прав. Не решайте проблемы там, где их еще нет. Появятся - вот тогда и расчехляйте скиллы на полную.

Это я всё к тому, что не всё так однозначно. Миссия на марс и ПО для аппаратов лучевой терапии не потерпят кривых процессов и плохого кода с багами (хотя, иногда и терпят). А одностраничнику в целом-то ваши горизонтальные скейлинги и O(logn) при сортировке ... сто лет не нужны. Пишите красивый код там, где нет спешки и особых требований и не пишите его там, кому он никому не нужен. Имейте компетенции для запуска марсохода, но не тратьте время на оверинженеринг. Вы должны быть как Нео из Матрицы. Каждый день выбирать правильную таблетку. Быть одновременно и специалистом и Серёжей. Решайте проблемы бизнеса в первую очередь.

А статью прочитайте, дельное чтиво. Как и комменты.

Have a good day!
#habr
👍10
Вышло очень интересное интервью с Айтибородой (IT-Beard) - Алексеем Картынником.

В выпуске Алексей рассказывает о своём канале, сколько удаётся на этом заработать (интеграции, с просмотров, остальные источники), а это реально редкость сегодня, обычно все ютуберы не любят об этом на публику говорить. А так же историю релокейта в Киев, а потом и во время войны - в Польшу. Холодок по коже обеспечен.

Выпуск не о технических штуках, это в первую очередь личная история человека. Но, поверьте, полтора часа пролетают незаметно.

Интервью без воды, куча фактов и цифр, с хорошей картинкой - в общем, рекомендасьон!

И не забудьте глянуть сам канал - ТОННА качественных интервью с айтишниками. Мой личные фаворит - алгоритмы работы Яндекс Музыки с Данилом Бурлаковским и интервью с Григорием Бобуком (участник подкаста Радио-Т).
👍6👎1
Audio
В последнем выпуске #радиот затронули холиварненькую тему 404-ого статуса REST API.

Вот есть у вас к примеру /api/v1/books/1 - возвращает книгу с ID:1. Всё отлично, отдаём 200-ый код с книгой в body. Что делать с /api/v1/books/100, когда книга не найдена? И вот тут соль вопроса. Один лагерь топит за 404, второй - за 200 с payload : null.

Первый лагерь уповает на то, что REST является самодостаточным и в его природе миксать http коды и коды бизнес-логики.

Второй лагерь же явно против, т.к. вообще-т 404-ый код говорит нам, что resource not found. И в данном примере не понятно - это ресурс not found или book not found? Как реагировать? Потому что во втором случае это by design, а в первом, возможно - критическая ошибка (допустим route криво запилили).

Буквально год-полтора назад мы поднимали эту тему в команде и я был приверженец именно второго лагеря.

В целом, фронту всё равно, там оба варианта - ошибка. Однако, я считаю, что чем детальнее ошибка, тем лучше фронт сможет её обработать. И если в случае resource not found - нужно бить тревогу и показывать плашечку, что что-то КРИТИЧНО пошло не так, то в первом - это может быть вполне себе user-friendly попапчик с сообщением о том, что такой книги нет.

Я всё же против миксать http коды и коды внутренней логики. Но у больших дядь можно встретить оба варианта реализации, однако чаще всего я всё же видел 200-ый ответ вида
{
payload : null
}
т.е. http тут является всё же уровнем транспорта.

Однако я могу понять и первый лагерь. В случае, если ваш клиент не браузер к примеру, 404-ый статус тоже вполне себе подойдёт для обработки ответа. За все 14 лет я ни разу не видел чистой реализации REST API в проектах, везде был mixed подход. А это, имхо, намекает.

Хоть отрывок из подкаста и длится 37 минут - я очень советую вам послушать, комментарии весьма интересные.

А какую http таблетку выбираешь ты? Голосуйте эмоджами 😂

😁 - лагерь 404
🤩 - лагерь 200 +payload
😁25🤩24🤔3👍2🌚1
"Получил доступ к Dalle-2. Вы не поверите, что может нарисовать машина… Дизайнеры больше не нужны" - гласит статья с хабра.

DALL-E 2 это такая нейроночка, которую обучали на огромном (400 000 000) датасете пар фраза=картинка. Гляньте на то, что она умеет, я прикрепил пикч. Эт реально впечатляет ^^ В статье можно найти больше подробностей и примеров, рекомендую.

*для ленивых - закинул в комментарии к этому посту еще примеры из статьи и комментариев к ней. Есть где позалипать. А еще там есть генерация из фразы "Naked woman with a large bust bathes in the Martian river at sunset"! 😉*

API закрытое, но можно встать в очередь на доступ. Однако, придётся всего-то пару месяцев подождать. Если вас это не смущает - записывайтесь :) https://labs.openai.com/waitlist

Ну и к слову, я уже пару недель как тестирую copilot, скоро поделюсь с вами фидбеком, не переключайтесь 🚣
👍3🤩2❤‍🔥1
Инфографика об экспансии Chrome. Забавно, что совсем недавно firefox занимал половину рынка, а сейчас живёт в рамках пяти процентов. А если учесть, что тот же edge и опера отказались от своих движков в сторону хромиума, умирание огненной лисы выглядит особой грустью и даже опасностью. Монополии всегда были и остаются злом. Однако, та же история из этого же ролика нас учит, что это дело времени, пока кто-то снова не вырвется в сравнимую конкуренцию. Вырвется же, правда?

#живи_firefox !

https://youtu.be/H52DmvfzDWM
👍5
Какой ваш основной браузер? (исключая разработку). Можно выбрать несколько.
Anonymous Poll
67%
Chrome
30%
Firefox
10%
Safari
4%
Edge
7%
Opera
7%
Другое/Показать ответы
Небольшой железный лайфхак для улучшения интернетиков этих ваших.
Встречайте - малыш Xi !

Проблема : при аренде новой съёмной квартиры (да и в своей тоже) весьма часто в комплекте с интернетом идёт какой-нибудь нищенский роутер от провайдера и как результат - раздаёт вайфай он вот прям ПЛОХО.

В моём случае, таймауты раз в 5-8 минут длительностью секунд 5-10. Подключено около 6 девайсов.

Ну так вот. Можно решить вопрос кардинально и купить новый роутер, а можно попробовать вот такого малыша, как на картинке. Это Mi WiFi Range Extender AC1200. Вообще, он нужен для усиления сигнала в отдалённых от роутера участках, что само по себе уже неплохо. Но он ещё и замыкает на себя все соединения. Плюсуем тот факт, что ксяоми умеют в софт и железо - работает всё это прекрасно! Он сглаживает сигнал, разгружает основной роутер, создаёт рядом ещё одну сеть и по сути линкует вас к роутеру через себя.

И о чудо, интернет работает намного стабильней. Zoom митинги спасены. Таймауты если и бывают, то во-первых супер-короткие, во-вторых раз в минут 20, но не будем списывать проблемы "за" роутером. Если погнут оптический кабель - тут уж простите.

Ещё эта коробочка умеет :

1) из 2.5Ghz создавать 5.0Ghz канал, т.е. да, хоть к нему и идёт по 2.5, но отдаёт он уже в 5.0 (само собой и в 2.5 тоже), т.е. ваши девайсы де-факто стабильнее бегут до Xi.
2) Умеет в раздачу из витой пары от роутера. У меня к сожалению не завелось (виню роутер), но фича крутая.
3) Умеет в смартлинк, т.е. коннектится к двум вайфаям и если один недоступен становится - моментально свитчается на другой.

Что до эксплуатации, то всё просто - втыкается в розетку, настраивается за 5 минут через приложение Mi Home. Стоит около ~30$. Есть ещё его младшая версия - за ~20$, всё то же самое, только 2.4Ghz (пропускная способность 300mb vs 700mb на 5.0Ghz) и минус Ethernet кабель.

В общем, крайне рекомендую. До кучи ловите статью с конкурентами и тестом этих двух ушастых. Если кто пользует, дайте свой фидбек в комментариях.

#железо #Xiaomi
👍5😍2
Красиво)

Ps. Приветственное письмо после регистрации на докерхабе 🙂

Ps2. Whale - кит
🥰4👍3
Если вы ещё не слышали об IFTTT сервисе, то, пожалуй, я исправлю это недоразумение.

IFTTT расшифровывается как If This Then That.

Это целый сервис по автоматизации разных штук! Только с философией NoCode, т.е. код писать не нужно (но можно, апи открыто), на платформе уже тысячи всяких готовых компонентов/интеграций.

К примеру, я только что решил через него проблему вида :
В Грузии у меня сейчас два телефона с двумя симками. Один с белорусским номером, второй с грузинским (основной).

На белорусский постоянно приходят смски 3d-secure и я постоянно бегаю смотрю эти коды. Ну а если нужно на улице, то пиши пропало - два телефона с собой таскать такое себе удовольствие.

И IFTTT тут решение. Я легко настроил форвард всех своих смсок в телеграм. Флоу примерно такой : ставите IFTTT апп, там создаёте апплет From : sms, To Telegram, апп просит вас авторизироваться в боте и выдать разрешение на чтение смс. Интеграция готова. Теперь когда приходит смска, я получаю её через бота. Мало этого - можно настроить ключевые слова по которым триггер будет срабатывать. В общем, удобно.

Можно сделать отсылку на email или push'ем на телефон. Куда угодно, в общем.

Бесплатная версия вполне юзабельна и позволяет создать короткие цепочки (в про версии можно длинные создавать).

Еще пару примеров (из тысяч) всевозможных интеграций :
RSS новость -> Telegram
Instagram photo -> Facebook
New Phone photo -> Gmail
File updated on dropbox -> Phone Push
и т.д.

В общем, не всегда оно нужно, но когда нужно - выручает здорово.

Всем добра.

#лайфхак
👍7🔥4👎1
Компания потеряла себя и $660 тысяч в крипте из-за ошибки программиста

Децентрализованная биржа OptiFi приостановила работу после ошибки одного из сотрудников, из-за которой параллельно оказались навсегда заморожены активы клиентов. Компания подробно рассказала о произошедшем в блоге.

Ошибка произошла во время обновления кода. Один из разработчиков случайно использовал команду «solana program close», в результате чего оказался без возможности восстановления заблокирован мейннет OptiFi, а вместе с ним — $661 тысяча в стейблкоине USDC.

Спасти активы невозможно.

Вот это я понимаю скилл, уронили так уронили прод посоны 😂
не делайте так (с) ваш кэп
🌚11👎1
Мой опыт использования Macbook

На днях презентовали очередные "wow" обновления яблочных девайсов. В два раза лучше! В три производительнее! В пять удобнее! Новый датчик! Лучше прежнего! Новые цвета! И материальчик для чехольчика, посмотрите на него! Всего xxx $ и он ваш! Скорее, пока не размели.

Кх кх. Да. Инновации в деле.

Так о чём это я...

Я буквально недавно поимел прекрасную возможность свичнуться на время с windows на богоподобный Mac!
Уууухууу! Какой же он прекрасный и крутой, вы не поверите! Это лучшее, что случалось со мной, рил. Идеальная айос, а какой приятный тач!!! Удивительный юзер экспириенс...

Ах да. Это. Это же слова из презентаций. Чёт попутал.

Так вот, у меня ДВАДЦАТЬ ДНЕЙ ПОДРЯД ГОРЕЛО 🔥 с того, какой мак прекрасный. Точнее "прекрасный".

В статье 19 пунктов того, почему я себе не куплю мак. Мне хватило этих двадцати дней чтобы понять, что то ли я какой-то не такой, то ли слова "эпл" и "премиум" в одной фразе это шутки такие, которых я не понимаю. Почти каждый чёртов день я ловил маленькие фейспалмы. Каждый. Чёртов. День.

*типичный мем про ожидание vs реальность*

Внимание, особо ярым фанатам не заходить. Там сравнение с богомерзким Xiaomi notebook pro. А ксяоми, как известно для ... ээээ... маргиналов.

В общем, если ко мне в очередной раз подойдут в туалете и скажут, что лучше Apple в мире ничего нет - я найду что ответить.

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

https://telegra.ph/Opyt-ispolzovaniya-Macbook-bez-kupyur-ili-EHpl-vy-seryozno-09-09?2
👍7🔥3💩1