• Алгоритм деплоя приложения fastapi + react + postgres?

    @vitaly_il1
    DevOps Consulting
    Все просто - в целом деплой не сильно отличается от деплоя на вашем лаптопе.
    Для начала просто возьмите VPS, и добавьте Github Actions который будет строить FE и BE и и копировать их на сервер. Jenkins вам не нужен. Пример - https://fullstackopen.com/en/part11/getting_starte..., или любой пост/видео - есть множество.
    Дальше можно думать об улучшениях:
    - для монорепо разделить деплой BE и FE
    - чтобы дейлой FE был более похож на "настоящий", задеплоить его в AWS S3 или что-то аналогичное
    - добавить тесты, static code scanning (SonarCloud например)
    Ответ написан
    Комментировать
  • Можно ли в нынешних условиях работать на зарубежных фриланс биржах?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если кратко, то для живущих в РФ нельзя.
    Ответ написан
    Комментировать
  • Откликнулся на вакансию в которой набирали народ на стажировку, взяли без собеса и сразу кинули на реальный проект без наставника, что делать?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ну что сказать - разбираться и программировать....
    А то постоянно куча вопросов типа куда джуну устроиться - нигде без опыта не берут, что же делать, как жить...
    Ну вот - взяли... ))
    Ответ написан
    Комментировать
  • Как запустить браузер в изолированной среде на Linux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Заведи себе пользователя-болвана. И от имени него запускай браузер. Ну а после работы можешь каждый раз убивать его профиль на локальном диске.

    Вообще если ты настолько беспокойный кабанчик что тебе надо именно сильная изоляция то посмотри на такие флешки-операционки как tails https://tails.boum.org/ они вот спецом созданы для мамкиных хакеров. Ничего не остаётся после них. Можешь прон смотреть. Или вещества в торе покупать. Или в хабре писать. Вобщем все можно.
    Ответ написан
    3 комментария
  • Делается ли merge при rebase?

    toxa82
    @toxa82
    Итоговый результат слияния кода при merge и rebase одинаковый. Разница будет только в порядке коммитов в истории. Merge сверху применяет новые коммиты, rebase находит общего предка, убирает ваши новые коммиты в ветке, обновляет ветку, применяет ваши новые коммиты сверху.
    Ответ написан
    Комментировать
  • Можно ли без высшего образования работать в Геймдеве?

    opium
    @opium
    Просто люблю качественно работать
    Завершена запрещающего нет радиаторе
    Ответ написан
    2 комментария
  • Как справиться с выгоранием в профессии?

    opium
    @opium
    Просто люблю качественно работать
    От выгорания есть старый проверенный метод секс наркотики рокнролл
    Ответ написан
    2 комментария
  • Оркестрация приложений на маленьком домашнем сервере. Что можете посоветовать?

    У меня в похожей ситуации сложился такой набор инструментов:
    - контейнеризация - докер
    - конфигурация и запуск контейнеров - docker compose
    - web IU к докеру - Portainer
    - деплой - Gitlab CI
    Ответ написан
    Комментировать
  • Оркестрация приложений на маленьком домашнем сервере. Что можете посоветовать?

    Советую поступить как нравится.

    Оркестрация кубом в пределах одного физического сервера скорее прихоть, чем необходимость. Можно поиграться разве что для знакомства с системой. И k8s скорее всего точно мимо - впустую потраченные ресурсы одного сервера. minikube, k3s и подобные будут лучшим выбором.
    Для поставки в куб все равно придется организовать сборку и публикацию контейнеров. Для доставки и helm хватит.

    Что бы посоветовал - baremetal с оркестрация через Ansible.
    Как вариант - гипервизор: виртуалки или lxс; возможно Proxmox. Просто на случай необходимости в изоляции или разных конфигураций ОС.
    Ответ написан
    2 комментария
  • В какую дружественную страну переехать из России чтобы продолжить работать на Upwork?

    @oldcoins1234
    Судя по всему - друзей все меньше, а будет - все хуже. Ну, точно хуже чем в Иране или Сев.Корее, которые уже отстали от РФ по количеству и тяжести введенных против них санкций.
    https://www.bloomberg.com/news/articles/2022-03-07...
    Готовимся.
    Ответ написан
    Комментировать
  • Какой стек технологий выбрать для высоконагруженного MVP?

    @Akela_wolf
    Extreme Programmer
    Писать надо на том, что знаешь. От языка способность держать высокую нагрузку зависит слабо - есть вполне себе хайлоад (лично видел, платежная система), написанный на PHP.
    Для серьезного хайлоада важнее другая характеристика: не скорость работы, а стоимость ошибки. Если ваш хайлоад "ляжет" из-за какой-то ошибки (да еще с потерей части данных) - это будет очень-очень-очень плохой экспириенс для пользователей. А если это будет происходить неоднократно - потеря посетителей вам гарантирована.
    Поэтому у меня для хайлоада приоритеты:
    1. Надежность
    2. Скорость разработки
    3. Производительность

    Итак, по пунктам.
    Надежность. Это про то, насколько строго язык отлавливает ошибки программиста и насколько просто на нем написать подверженную ошибкам муть. Насколько просто будет сопровождать код, написанный на данном языке. В этом пункте ключевые слова "архитектура", "покрытие тестами" и "статическая типизация". Первые два пункта - это про любой язык, так как реализуются на уровне процессов разработки. Из предложенного списка языков статическую типизацию обеспечивают Java (Kotlin) в мире JVM и Typescript (не Javascript) в мире Node.js

    Скорость разработки. Это про наличие большого количества готовых библиотек и про богатые возможности языка для выражения требуемых программисту структур данных и алгоритмов. Тут фавориты те же: Java/Kotlin и Typescript. На мой взгляд, JVM-мир сложнее, но дает все-таки больше возможностей (тот же Spring обеспечивает создание бинов за пару аннотаций).

    Производительность. Не могу сказать о Node.js - не тестировал на производительность, но JVM обеспечивает очень хорошую скорость. Еще один немаловажный момент: очень часто в хайлоаде приложение чего-то ждет. Например, отправив запрос в БД ожидает ответа. А в это время могло бы обрабатывать другой запрос другого пользователя, а получив ответ из БД - вернуться к обработке первого (reactive programming). Для этого у нас есть разные реактивные фреймворки для той же Java (Reactor, Vert.x и т.п.) и, что особенно приятно, корутины в котлине, которые позволяют писать асинхронный код почти настолько же просто как и синхронный. На Javascript с их async/await тоже можно такое писать, хотя возможностей все-таки поменьше чем в Котлине.
    Опять же, с корутинами достаточно легко и просто реализуется многопоточность, в ноде с ней не все так просто (хотя она тоже есть).

    Таким образом, мой личный выбор для хайлоада: JVM и Kotlin.
    Альтернативный вариант: Node.js и Typescript.

    Другие я бы стал рассматривать только при наличии очень весомых преимуществ перед обозначенными.

    P.S. Также Kotlin является официальным языком для Android, поэтому можно подумать о том чтобы писать и мобильное приложение и сервер на одном языке.
    Ответ написан
    Комментировать
  • Как заигнорить файл .gitignore?

    delphinpro
    @delphinpro
    frontend developer
    Я правильно понимаю, что цель - исключить какие-то файлы, нужные только вам, локально, а про файл .gitignore вы уже сами додумали?

    Мне было бы удобнее всё-таки иметь в проекте файл .gitignore (наверняка он у вас есть).
    Подобные файлы складывать в отдельную папку, которую и добавить в игнор.

    Но если всё же ничего трогать не хочется, то можно использовать глобальный список игнорирования.

    Откройте файл %USERPROFILE%/.gitconfig
    Добавьте строку в секцию core

    [core]
    	excludesfile = C:\\path_to\\.gitignore


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

    Можно использовать консоль, для добавления глобального игнор-списка в конфиг

    git config --global core.excludesFile "%USERPROFILE%\.gitignore"
    Ответ написан
    Комментировать
  • Какую базу выбрать для bigdata?

    alexfilus
    @alexfilus
    Senior backend developer
    Звучит как задача для ClickHouse, Вроде как они недавно пофиксили производительность при отдельных инсертах без буфера. Даже если нет, есть схема с записью всех событий в Kafka и вычитыванием оттуда с помощью Materialized view в таблицу КликХауса. Эта схема точно рабочая и указанные нагрузки выдержит. Плюс отличное сжатие данных.
    Чистый PostgreSQL по производительности не сильно отличается от MySQL, а вот с дополнением TimescaleDB вставка становится очень быстрой, возможно вам его хватит. Там полноценный SQL и возможность редактировать данные без проблем. Неплохо сжимает.
    Про ScyllaDB уже написали.
    Ответ написан
    3 комментария
  • Как можно сделать механизм, который контролирует внешний IP и запрещает выход в интернет, если внешний IP не равен заданному?

    @FragMaster Автор вопроса
    В общем всем спасибо за мысли, вы мне посоветовали именно такой подход, как я планировал, но в вопросе не освещал, чтобы получить альтернативное видение.
    В результате:
    - поднятие OVPN клиента + маршрутизация трафика останется на pfSense
    - написал скрипт, который будет запускаться в ВМ и контролировать внешний IP и в случае, если он не тот, блокировать все сетевые интерфейсы. Скрипт выполняется раз в 1 минуту.
    https://gitlab.com/a.perminov/external-ip-monitor
    - еще есть скрипт, который так же проверяет не пересекается ли внешний IP в всех ВМ и шлет уведомления о проблемах в Discord

    Думаю этого будет достаточно...
    Ответ написан
    Комментировать
  • Как разрешить трафик между двумя локальными сетями на Mikrotik?

    @AlexanderSuz
    У меня вот так

    В firewall в filter Rules

    chain=forward action=accept src-address=192.168.3.0/24 dst-address=192.168.1.0/24 log=no log-prefix=""
    chain=forward action=accept src-address=192.168.1.0/24 dst-address=192.168.3.0/24 log=no log-prefix=""

    3.0 видит 1.0
    1.0 видит 3.0

    Если не понятно, могу скрины выложить
    Ответ написан
    Комментировать
  • Фрилансер кинул, сделав только часть задания. Можно ли вернуть деньги?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Договора, конечно же нет? Вы, наверное богатый человек, раз без договора рискнули работой на такую сумму.

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

    Денег Вы не вернули бы, даже если бы он жил с Вами в одном городе, хотя тогда оставался бы небольшой шанс подать на него в суд. В Вашем же случае проще сразу понять и простить :) потому что я не думаю, что Вы рискнете поехать в Украину судиться с ним ;)

    Уж сколько раз твердили миру...
    Ответ написан
    Комментировать
  • А тот ли Windows 11 сегодня вышел?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Правило не ставить новую версию винды пока не выйдет первый сервис пак - это как раз для тех пользователей, которые не горят желанием лазить и патчить все руками.

    Что там такого необходимого в вин11, что срочно надо на нее переходить?
    Ответ написан
    7 комментариев
  • Как писать нормальный код на Го?

    axifive
    @axifive
    Software Engineer
    Ответ написан
    Комментировать
  • Стенд для изучения DevOps на базе Linux-серверов. С чего начать изучение?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Воу, воу - какие серверы, какие циски? Девопс - это же руление на высоком уровне (с). Нужно облако, контейнеры, оркестрация с автомасштабированием - иначе это какое-то банальное админство получается, а не модный девопс.

    /sarcasm
    Ответ написан
    Комментировать
  • Upwork как правильно получить первого клиента?

    entity1313
    @entity1313
    Веб-разработчик, проект-менеджер
    Хз, в чём магия, но я вышел на апворк года с два с лишним назад. Взял пару заказов, сделал, получил хорошие оценки, и на год забил. Не могу сказать, что у меня было нечто особенное в работах или в навыках - WordPress, немного по веб-анимации. Но проблем с получением первого заказа не было. Через год у меня было уже не сильно актуальное портфолио, но я пришёл обратно и решил работать всерьёз. Каких-то проблем тоже не помню, народ потянулся. При этом не могу сказать, что занимался чем-то специфичным - WP-разработка и вёрстка, в основном.

    Возможных проблем вижу несколько:
    - плохой английский
    - плохое портфолио
    - негативные отзывы
    - высококонкурентная сфера, где сложно показать, чем вы лучше
    - плохие кавер-леттерс (лучше писать сразу под задачу клиента, предлагая варианты решения)

    Думаю, имеет смысл прокачать специализацию и двигать её. Я сделал себе WordPress-портфолио, предлагал "всё для WP" - разработку плагинов, тем, WooCommerce, REST. За год получил "top rated" и шквал заказов - разве что, серьёзный по российским меркам кеш сделать не получилось (2к-3к на пределе) - видимо, для WP это непросто, ну или я поймал не ту волну. Сейчас думаю расширяться на более серьёзные фреймворки, будет интересно, что предложат там.

    Да, и идея с низкими ценами - она плохая. Ставьте нормальную для себя цену и убеждайте заказчика, что вы отличный специалист. Индусов он и без вас найдёт :). Я обычно просто повторяю цену, заявленную в объявлении, а если вижу, что она слишком низкая для задачи - повышаю до комфортной для себя.

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