BEARlogin – Telegram
BEARlogin
707 subscribers
159 photos
29 videos
6 files
214 links
Примус починяю.

Канал с хокку тут https://news.1rj.ru/str/devs_hokku

Рекламу не беру
Download Telegram
Set vs object

Недавно зашел разговор, что лучше использовать для создания списка без повторяющихся значений. Нашел интересный эксперимент по этому поводу https://github.com/anvaka/set-vs-object
Спойлер - Set быстрей :)

#js #быстродействие #frontend
👍2
Ментор vs самообучение

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

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

Для первых могу посоветовать прочитать хорошую книгу по языку и основательно разобраться во всех вопросах, искать стажировки, выполнять тестовые задания с условием обратной связи.
Для вторых есть сервисы для подбора ментора. Я, например, начал работать с Solvery. Вот мой профиль https://solvery.io/ru/mentor/bearlogin

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

#войтивайти #менторство #профессиональныйрост
🔥3
Hetzner Cloud

Я давно пользуюсь Hetzner, еще со времен, когда никакого Cloud в помине не было. ИМХО лучшее предложение по цена/качество. Если вы еще не пробовали его, не сочтите за дерзость просьбу воспользоваться моей реферралочкой :D https://hetzner.cloud/?ref=MTXkDijTGcMH :D Вы получите €20 халявных денег на счет.

А какими облаками пользуетесь вы?
Я 💛 Фронтенд

26 февраля состоится онлайн конференция https://yandex.ru/promo/events/ya-love-frontend-2022#registration с кучей разных вкусностей, а активности идут уже сейчас. Так же завтра 20 февраля в 13:00 откроется доступ к Capture the flag. Кто еще не знает что это такое, зацените предыдущий CTF https://ctf.ilovefrontend.ru/ - очень захватывает :)

P.S. я застрял на Монализе :) Пишите ваши результаты в комментарии
У нас в Huntica появилась интересная вакансия https://bearlogin.notion.site/Trainee-Juniour-Frontend-Developer-bda45f185d8e483d844680df4d875b04 если интересно, пишите :)
Webpack aliases в IDE

Обычно IDE сами автоматически резолвят алиасы, если есть webpack. Но если мы используем другой бандлер, например Vite, то необходимо прописать в корне проекта файл jsconfig.json, где указать paths:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"~/*": ["./src/*"]
}
}
}
Laravel Test Mock With Constructor

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

Подробней тут https://bearlogin.notion.site/Laravel-Test-Mock-With-Constructor-ff5904277d86458ca8bb1429c1e102fa

#advices #tests #laravel #php
Makewarnotpeace

Только сегодня прилетели новости, что не надо обновлять зависимости. Как минимум может прилететь эта шляпа https://www.npmjs.com/package/peacenotwar, а как максимум шифровальщик или удаление всех ваших файлов. Чекните этот тред https://github.com/vuejs/vue-cli/issues/7054

Upd. Бро прислал ссылку, где собирают список зловредов https://docs.google.com/spreadsheets/d/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ/htmlview?usp=sharing&pru=AAABf7rCuSo*bIOpMXcSv6-ORZvEudbuAw

#ебанулись #оборзели #thisiswar
Бей своих, чтобы чужие боялись

Американское НКО пострадало от автора node-ipc

https://github.com/RIAEvangelist/node-ipc/issues/308#issuecomment-1070975082
Храните lock файлы в репозитории

Вот просто всегда заливайте lock файлы в git. Я это делал еще до этой всей истории с малварями, и всем советовал. Если у вас вдруг есть репа без лок файла, срочно залейте его туда.
👍2
BEARlogin pinned «Ментор vs самообучение Сейчас все больше людей понимают, что пройдя курсы, которые обещают сделать вас как минимум джуном за 3 месяца, а то и сразу миддлом с нуля, в лучшем случае только начинаешь понимать что то на уровне стажера. С трудоустройством, естественно…»
Хроники первой мировой интернет войны

Обсуждали сейчас в техдирском чате https://news.1rj.ru/str/ctorecordschat как жить в таких условия. Собрал список рекомендаций.

- lock файлы хранить в репозитории
- Изоляция сборки в контейнерах в том числе и для промежуточных сборок на машинах разработчиков, хотя бы до появления lock файла.
- Форки всех библиотек (по возможности) и контейнеров к себе.
- Зеркалирование репозиториев пакетов.
- Включение в CI как минимум поиска по ключевым словам, UTF символам с изображением украинского флага и сравнение списка файлов с вайтлистом.
- Ресерч по инструментам анализа кода.

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

Пишите свои советы в комменты
👍4
Laravel Facades

При работе с Laravel приходится много работать с Facades и многие их не любят, так как непонятно, с каким реальным классом они работают. Но есть способ узнать это. Например так мы узнаем, какой класс используется для URL:

\dd(get_class(\Illuminate\Support\Facades\URL::getFacadeRoot()));

#laravel #facades #advices #backend #php
Как оплатить Hetzner

Комрады интересуются, как в таких условиях платить за хостинг.

У Hetzner есть возможность оплатить через Bank Transfer.
Тема работает со Сбер, Тинькофф и Альфа.

У Сбера вроде коммисия самая маленькая - 150р. Тинькофф берут 15 евро, Альфа 0.9%

Тут тема https://vc.ru/ask/376006-kak-oplachivat-hosting-hetzner-kuda-perehodit
👍1
Фризы SSH терминала

Я думаю все замечали, что если на какое то время оставить в терминале SSH подключение, то через некоторое время оно перестает отвечать, и либо отваливается, либо фризит терминал.

Чтобы это фиксануть, нужно в файле /etc/ssh/ssh_config дописать конфиг

Host *
ServerAliveInterval 100

Клиент будет отправлять пустой пакет каждые 100 секунд и не даст умереть соединению

#devops #ssh #advices
👍6
Yarn и проблема с install в CI окружениях

Если вы используете yarn для билда, то думаю замечали, что у него бывают проблемы со скачиванием зависимостей в CI билдах, хотя локально все отрабатывает отлично.

Обычно мы получаем такие ошибки:
error An unexpected error occurred: "ENOENT: no such file or directory, open '/usr/local/share/.cache/yarn/v6/npm-esbuild-linux-ppc64le-0.14.38-dceb0a1b186f5df679618882a7990bd422089b47-integrity/node_modules/esbuild-linux-ppc64le/.yarn-metadata.json'".

Эта проблема решается флагом --network-concurrency 1, которая ограничивает конкурентные запросы, правда при этом страдает скорость билда.

А вы как решаете такие проблемы?

#yarn #ci
👍1
Кеширование сборки докера в multistage конфигурациях

В CI билдить приложение можно как в окружении runner, так и в docker in docker.

Если в первом случае мы можем сделать service specific конфигурацию, настроить кеши и т.д. То во втором случае мы будем в меньшей степени зависить от конкретного CI сервиса и не придется для теста билда гонять CI.

Но при билде docker-in-docker возникает вопрос производительности и кеширования.

Универсальный способ - спулить последний образ и использовать его как кеш.

Вот пример из документации Gitlab https://docs.gitlab.com/ee/ci/docker/using_docker_build.html

Но если Dockerfile содержит несколько stage, то данный вариант не будет работать, так как кешироваться будет только последняя стадия.

Подробней тут https://bearlogin.notion.site/multistage-88aab91f9848490ea1b41bf87b23b917

#docker #devops #ci #cache
👍4
Grepper

Недавно наткнулся на такой сервис https://www.codegrepper.com/

Его суть, что любой человек может сохранить code сниппет как ответ на вопрос.

Например, ищу я как в vue3 сделать компонент с v-model:

В 1 клик сохраняю этот сниппет, и теперь любой у кого установлен плагин grepper увидит этот ответ при вводе вопроса в гугл.

Записал небольшое демо https://www.loom.com/share/a632fb66dc214ac3893f0c892c1560f0
👍5
Идемпотентность

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

По этой теме очень советую статью от Яндекса https://habr.com/ru/company/yandex/blog/442762/

#api #backend #arcitecture
👍11