Задать вопрос
  • Как создать контейнер приложения, которое развернуто?

    @rPman
    в общем случае это невозможно
    docker файл это список команд, которые необходимо выполнить на 'нулевой системе' чтобы приложение заработало

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

    в некоторых случаях, пакетный менеджер linux предлагает вполне законченное описание того что нужно для того чтобы приложение заработало, к сожалению в реальности не все так просто, не все приложения корректно описаны, а для некоторых требуется ручная первоначальная настройка
    Ответ написан
    2 комментария
  • От чего компьютер решил просыпаться?

    Varikorek
    @Varikorek
    Python разработчик ботов, и Java Mobile Dev.
    выспался))
    Ответ написан
    Комментировать
  • Как повысить свои навыки в построении архитектуры сложных приложений?

    MDiMaI666
    @MDiMaI666
    Талантливый программист
    Делать много много и расширять зону ответственности. И сам додумаешься. Главное будешь знать не как а зачем так делать. Только практика.
    Ответ написан
    Комментировать
  • Юридические последствия бага на сайте?

    @rPman
    В российским законодательстве есть необходимость в умысле и понесенных убытках.
    Если нет умысла и тем более нет убытков, то по уму сложно будет что то сделать.

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

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

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

    p.s. помним, что цена на ценнике имеет приоритетное значение тому что ожидает магазин, в момент совершения покупки цена была озвучена? оплачена клиентом в полном размере? помним про то как человек купил телевизор по цене 0 (ошибка на сайте интернетмагазина, после которой все стали писать что цена на сайте не является офертой и т.п.)
    Ответ написан
    1 комментарий
  • Зачем нужны методы отправки данных отличные от GET, POST?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если в html формах, js ajax их нельзя отправить
    Кроме хтмл и жс существует еще очень много окружений, способных отправить такие заголовки (самый простой пример - пхп или консольный курл). Чаще всего их (заголовки) используют для семантического разделения API "по намерению", то есть "удалить", "положить", "взять", "только заголовки" и т.д, в частности это применимо в рестфул апи.
    Ответ написан
    Комментировать
  • Какова правда в работе и обучении будущего ИБшника?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    80% работы и обучения - рутина, бесконечная и муторная работа с бумажками, зарплата колеблется около 20к в районах,

    Не бывает "средней температуры по больнице". ИБ - это огромная область, в которой десятки направлений, которые делятся еще на десятки поднаправлений.
    Все очень зависит от того, где работаешь - в одного в конторе в сотню-другую рыл, в небольшом отделе в конторе человек на 500 или в Сбербанке, например.
    Чем меньше контора - тем ширше круг обязанностей, чем больше - тем уже. В небольшой конторе ты можешь быть не очень связан регламентами, тем более, что половину из них тебе же и писать. В Сбере у тебя и 100% времени может уйти на регламенты.
    Со стороны в ИБ можно попасть только в контору типа Сбера - где ты долго будешь расти внутри подразделения. В небольшой конторе рыл на сотню-две - ИБ-шник (если он вообще есть) как правило один, максимум два и занимается он всем и имеет доступ всюду и ждут от него решения всего, в том числе весьма неприятных вопросов (например просмотреть сто тысяч (это не оборот речи - их реально было сто тысяч!) фотографий и удалить компроментирующие определенного человека).
    Работу админа он должен знать лучще админа - потому что ему их контролировать приходится.
    Работу юриста - в определенной области законодательства - не хуже юриста
    Работу психолога - не хуже психолога средней руки (ИБ это далеко не всегда про компы. ИБ зачастую про людей)

    Здесь нет никакой романтики. Здесь нет никаких эмоций - только суровая безжалостная правда, которая крошит иллюзии безжалостно, когда ты видишь на оперативном мониторе СМП, что девочка с ресепшн, о кторой ты втайне мечтаешь, переписывается с мальчиком из продаванов, и при этом матерится как сапожник и собирается отдаться за покатушки на тачке...
    Это скучная, рутинная работа, где много микротиков (или цисок, или даже фортигейта), много конфигов прокси и правил iptables, много логов и их анализа, много СМП/DLP и никакой хакерской романтики
    Ответ написан
    2 комментария
  • Что использовать для реализации EDA в микросервисной архитектуре?

    @yarkin
    RabbitMQ это про очереди, если у вас есть очередь задач, то не думаю, что захотите чтобы все воркеры выполняли одно и тоже действие. Если нужно, чтобы каждый сервис получал копию сообщения, они должны иметь независимые очереди, которые могут быть подписаны на один эксчендж.
    Если у вас может быть по N инстансов одного сервиса, то все N подписываются на одну и ту же очередь (иначе см. выше что будет), но каждый сервис должен иметь свою очередь.
    Почитайте базовые мануалы по RabbitMQ - https://www.rabbitmq.com/getstarted.html - там много полезного найдёте (на хабре есть переводы на русский, если надо)

    Например, для простоты возмём что эксчендж всего один - events. Есть два сервиса - S1 и S2. У каждого из них по 3 инстанса. Сервисы хотят получать все сообщения которые публикуются в events.
    Получаем (допусти ещё ничего нет):
    - создаём эксчендж events (лучше до запуска всего) с типом fanout
    - первый инстанс S1 при запуске создаёт очередь - events-s1; создаёт биндинг этой очереди на эксчендж events; подписывается на эту очередь
    - второй и третий инстансы S1 при запуске видят, что очередь есть и просто подписываться на неё
    - всё тоже самое повторяется для S2

    При росте сервисов, одного эксченджа может не очень хватить, тогда одна очередь может имеет более одного биндинга к нужным ей эксченджам. Или тип эксченджа можно поменять на topic и управлять тем кто получит сообщения уже через ключи биндингов и заголовки сообщений, а не имена эксченджей.
    Ответ написан
    Комментировать
  • Что в себя включают «Системные данные», занимающие слишком много места?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Бежит лиса по лесу, вдруг из кустов:
    - Ку-ка-ре-ку....
    Лиса - в кусты. Там возня, шорох, визги. Выходит волк, застегивая ширинку и поправляя штаны:
    - Вот что значит знание иностранных языков!


    Я в маках ни бельмеса, но вижу что вопрос уже сутки висит в топе без ответа.
    При том что достаточно перевести свой вопрос на иностранный, как в интернете сразу находится куча информации.
    Вот например буквально такой же вопрос на реддите, What is System Data on Mac and why is it at 335.22GB?!
    То есть в первую очередь надо перезагрузить свой мак.

    Так же гуголь находит много других рекомендаций по очистке "системных данных" AKA "System data". И чтобы ими воспользоваться, надо всего лишь немного знать английский.
    Ответ написан
    5 комментариев
  • Как найти работу, если есть скиллы, но нет опыта?

    php666
    @php666
    PHP-макака
    При всем этом у меня дикий паралич перфекциониста и синдром самозванца, мне кажется, что моих знаний ещё недостаточно, сайты с вакансиями пестрят требованиями того, чего я не знаю в совершенстве, а невозможность контролировать свободное время на текущей основной работе не даёт возможности спланировать какие-либо стажировки или фриланс-проекты.
    Ты — ничтожество, жалкий грешник, урод, всё в тебе, что есть — это зло и грех, тебе приготовлены вечные муки, страшный суд, ад и погибель (c)
    Ответ написан
    1 комментарий
  • Как работают алгоритмы выбора лидера в распределенных системах?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно же просто сделать так - какой-нибудь узел заметил, что текущий лидер отвалился, и он сразу же отправляет всем остальным узлам напрямую, либо на какую-то шину, что теперь он - лидер.

    Если текущий лидер отваливается, почему вы думаете, что все остальные узлы узнают об этом по очереди?
    Узнают одновременно. И одновременно пошлют всем узлам, что они новые лидеры, и получится бардак.
    Именно поэтому и проводится выбор - либо генерируется случайное число каждым узлом, и выбирается среди всех тот, у кого число самое большое. Либо есть заранее заданные приоритеты выбора лидеров, основанные или на конфигах, или на мощностях, как уж создателю программы показалось нужным.
    Опять же, в алгоритм можно добавить настройки, чтобы администратор мог указать какие машины не должны участвовать в выборе.
    Ответ написан
    2 комментария
  • Есть ли польза от codewars?

    @Cobweeb
    Конечно есть и большая! Codewars это практика для собесов, благодаря систематическим занятиям ты легко ну или гораздо легче будешь справляться с задачками с собесов(тот же пресловутый live coding), потому-что они будут или похожи или приемы которые ты использовал в codewars применишь на собесе. А в реальности ты мало уделяешь именно тем приемам которые нужны в таких задачках, реальную задачу вообще можно слепить из либ одних и забыть как сортировку делать)) Да и если ты в реальной задаче сам сортировку написал то по хорошему тебе надо руки оторвать))
    Ответ написан
    1 комментарий
  • Как организовать быстрый поиск по 78 млн строк?

    Зависит от того какой поиск и какие данные.
    Опять же - если данных уж очень много, то вряд ли получится всё в ОЗУ загрузить
    Если по точному соответствию, и все они уникальные - используй хэш таблицы.
    Если они сортируемые - отсортируй и используй бинарный поиск.
    Если нужен полнотекстовый/нечёткий поиск - проще взять стороннюю СУБД.
    Ответ написан
    7 комментариев
  • Кто проходил курсы от Otus? Отзывы? Мнения?

    @eiv_tm
    Я пытался учиться на Kotlin в Otus, отзывы судя по-всему пишут их сотрудники, такого дна я еще не видел. Преподаватели опаздывают, не готовятся к лекции, несут такую ахинею волосы дыбом. Но есть и плюс, я прослушал три лекции, пришло понимание, что я не готов за это платить и мне вернули сумму полностью, так как вовремя пришло осознание, если бы позже, то высчитали бы. За это им спасибо, а если в интернете почитать отзывы, то это у них не на одном курсе такое, системность прослеживается.
    Ответ написан
    Комментировать
  • Где можно почитать про правильную организацию сервера и распределения нагрузки (EN/RUS)?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    200-800 юзеров это вообще ни о чём.
    подойдёт любая архитектура, даже говнокод
    Ответ написан
    2 комментария
  • Где можно почитать про правильную организацию сервера и распределения нагрузки (EN/RUS)?

    miraage
    @miraage
    Старый прогер
    Да читать особо не надо
    0) с вашей нагрузкой можно это всё дело на ноутбуке дома запустить, и он справится
    1) обвешиваете приложение метриками (grafana итп)
    2) время от времени смотрите, где боттлнеки
    3) рефакторите этот код или выносите его в отдельный сервис
    Ответ написан
    Комментировать
  • Обрабатывает ли postgres запросы одновременно?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    От транзакционности и наличия кластера. Транзакции выполняются всегда последовательно, а любые другие запросы - параллельно. У распределённого кластера есть свои особенности
    Ответ написан
    9 комментариев
  • Лучше ли использовать NOT NULL везде?

    @deliro
    Лучше поступить так, как того требует бизнес-логика. Если цены может не быть — очевидно она должна быть NULL. Потому что 0 и NULL — совершенно разные значения: "бесплатно" и "цены нет", из чего следует, что в первом случае товар продаётся за бесплатно, а во втором может не продаваться.
    Ответ написан
    Комментировать
  • Удаленщики, работающие в англоязычных компаниях - возникают ли у вас проблемы с английским языком и как вы их решаете?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Надо просто начать. Например, можно в трекере писать не по русски, а по английски. И комментарии тоже в коде.
    А вообще, разговорный - тоже подтягивается. Главное просто начать и не боятся.
    Ответ написан
    Комментировать