• Для чего используется Java в современном вебе?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Видимо, не очень глубоко вы погрузились. Для маленьких и средних, простых сайтов Python лучше Java, так как позволяет клепать их быстрее и проще. Здесь можно почитать объяснение этому. Но для крупных ресурсов, предъявляющих высокие требования к надёжности и низкой стоимости многолетнего сопровождения, таких как ebay.com, ничего лучше Java ещё не придумали.

    А уход android-разработчиков на Kotlin - это миф и хайп.

    Kysrj.png
    Ответ написан
    19 комментариев
  • На что способны api социальных сетей?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. Да.
    2. Нельзя в Facebook. Нельзя так делать.
    Ответ написан
    2 комментария
  • В чем сложность работы хантера в ИТ и отличие от HR в ИТ?Почему вообще есть такая профессия?

    keydon2
    @keydon2
    ...
    Насколько я понимаю хантеры по идее отслеживают крутых спецов и держат с ними связь, по возможности переманивая в нужную компанию.
    В РФ почему то хантерами называют просто кадровика, который проводит первичный отбор явно неадекватных кандидатов.
    Очевидно это довольно разная деятельность. В первом случае можно в каждой области в тч в ИТ выделять хантера. Во втором кадровик особо и не ищет(размещение сайта на hh.ru вряд ли можно назвать серьезным поиском), а только работает с кандидатами.
    Офк это моя догадка, могу ошибаться.
    Ответ написан
    1 комментарий
  • Как работает вирус monero распространяемый через postgresql?

    Melkij
    @Melkij
    PostgreSQL DBA
    Всё очевидно:
    суперпользователь базы - лицо доверенное и база доверяет этому пользователю. И суперпользователь множеством хитрых и не очень способов способен сделать с сервером на котором запущена база всё на что хватит прав у пользователя, от которого запущен postgres.
    Например, запустить любую произвольную команду даже простой и очевидной командой copy, не говоря уже о каких-то извращениях.

    Конкретная атака по-видимому уже разобрана и описана вот тут: https://habrahabr.ru/post/351452/

    Никогда не используйте trust, уж тем более в мир. В нормальном состоянии база вообще не должна быть открыта в мир.
    Ответ написан
    3 комментария
  • Какие вы читаете профессиональные журналы?

    OtshelnikFm
    @OtshelnikFm
    Обо мне расскажет yawncato.com
    По тегу программирование и отвечу:
    В цифровую эпоху читать журналы? Пока их напишут, утвердит редактор, выйдет в печать - они станут устаревшими (а не дай боже там опечатка закрадется - как ее исправить оперативно?). Поэтому читайте онлайн издания. Какие - гугл знает. У каждого своя подборка. Да и на тостере часто собирают такие подборки
    Ответ написан
    8 комментариев
  • Как бороться с длиной строк при локализации контента на маленьких экранах?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    Серебрянной пули нет. Таблицы на мобильнике - это всегда боль и индивидуальный подход. В зависимости от контента в таблице, ее мобильная версия всегда компромис и результат некоторых трюков:
    1) как уже писал xmoonlight - колонки превращаются в строки, грубо говоря.
    2) как уже писал Андрей - тупо скролим таблицу горизонтально
    3) я сам частенько просто убираю некритичный контент из таблицы, чтобы способ из п.1 выглядел не слишком монструозно.
    4) уменьшаем кегль, юзаем узкий шрифт, включаем переносы, - чтобы впихнуть не впихуемое

    Опять-таки, универсального решения нет. Просто анализируем контент, чистим его и дизайним так, чтобы сохранить максимум исходного смысла, но не в ущерб читаемости. Это тяжело...
    Ответ написан
    Комментировать
  • 44 года можно ли еще стать востребованным специалистом в IT?

    Начал программировать лет 8 назад. В этом году мне будет 60.
    Работаю удаленно. Предложений работы больше, чем я могу взять.
    Не сразу, но научился зарабатывать достаточно. Ключевой момент: переход к удаленной работе вместо выполнения разовых заказов.
    Ответ написан
    13 комментариев
  • Какие инструменты для разработки мобильного приложения на базе веб-технологий сейчас есть?

    alexiusp
    @alexiusp
    senior frontend developer
    Ещё есть ionic (https://ionicframework.com/). Это библиотека визуальных компонентов, которые выглядят как нативные для каждой из платформ. Построен на базе cordova и angular. Но разработчики вроде бы делают stencil, который будет фрэймворко-независимым. Так же у них есть куча дополнительных инструментов, как, например, утилита для запуска и отладки разрабатываемого приложения на тестовом устройстве.
    Ответ написан
    4 комментария
  • Заказчик сует доработки очень маленькими порциями, как брать оплату?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    поставить минимальную стоимость как за полчаса работы.
    объяснять, что вы сейчас заняты и поправите через 1-23 часа.
    Брать деньги за все время от прихода первого сообщения до сдачи последней правки.
    так как вы в режиме оперативного сопровождения.
    Ответ написан
    20 комментариев
  • No-reply@, для кого?

    @Alj
    Может быть потому, что у вас может быть автоответчик - полнейшее неуважение к отправителю :) И вы отправляете на no-reply@..., он отправляет вам, что мы не читаем и т.д. И кто-то в этой цепочке трет или не делает служебные заголовки, дающие понять MTA, что письмо делает второй круг. Поэтому, лучше что-бы он ничего не отправил.

    Далее, боты могут писать от рабочей электронной почты и, вроде, часто так делают. Иногда адрес уникальный, типа client.[id].[msg-123].[code-456789]@test.com и тогда клиент, отвечая на него, отправит сообщение в какую-то ленту, переписку внутренней системы.
    Ответ написан
    2 комментария
  • Как выбрать select средствами JS & JQuery?

    spacenear
    @spacenear
    React Web Developer
    <select id="select">
      <option>завтрак</option>
      <option value="обед">обед</option>
      <option>ужин</option>
    </select>


    Выбрать обед
    $("#select option[value='обед']").attr("selected", "selected");
    Ответ написан
    Комментировать
  • Чем построить схему/архитектуру/структуру сайта?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    https://www.draw.io/ - бесплатно, есть все инструменты, есть экспорт в pdf, googleDocs и т.д.
    Ответ написан
    1 комментарий
  • Стоит задача организовать хранение 30 ТБ фото и видео материалов с гарантией того, что ни один бит хранимых данных не исказится. Как это реализовать?

    athacker
    @athacker
    Плюсую за вариант, предложенный sanrega
    ZFS raidz решает эту задачу. Если очень боитесь -- можно даже raidz2 (условиный аналог RAID6). Если совсем-совсем страшно -- ну, есть ещё raidz3 :-)

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

    Это что касается гарантии неизменности. Что касается гарантий доступности -- всё зависит от того, какие конкретно вам гарантии нужны, и сколько денег вы можете на это потратить.
    Ответ написан
    Комментировать
  • Как распознать сложный геометрический объект близкий к овалу?

    LaRN
    @LaRN
    Senior Developer
    Замкнутость контура можно определить только пройдя по всему контуру, так что тут Жук или Чучундра не важно.
    А вот определение похожести на овал по идее можно совместить с обходом контура.
    В СОПРОМАТе есть формулы для определения главных осей инерции, в случае эллипса они совпадают с осями эллипса, там же есть формула для определения центра масс.
    Например вот:
    www.toehelp.ru/theory/sopromat/18.html
    Там все на интегралах, но в нашем случае можно просто суммами заменить.
    Алгоритм такой: находим замкнутый контур, находим центр масс(из координат точек найденного контура), находим главные оси инерции (аналогично из координат), находим площадь контура (тут можно просуммировать площадь треугольников образованных центром масс(инерции) и двумя следующими друг за другом точками контура).
    Далее, имея центр масс и направление осей инерции находи полуоси эллипса (это можно сделать выпустив лучи из центра масс в направлении главных осей инерции до пересечения с контуром), а зная полуоси находим площадь эллипса.

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

    Тут конечно много операций, но это сильно проще и по ресурсам не так затратно как нейронные сети.
    Ответ написан
    1 комментарий
  • Почему говорят, что postgress лучше для более-менее серьезного проекта чем что-либо иное?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Этот вопрос на Тостере задают примерно раз в неделю и в Интернете полно сравнений. Например, это или это. Для меня лично самый главный косяк MySQL в том, что в 2018-м году он даже стандарт SQL 92-го года поддерживает не в полном объёме. Или вот косяк из недавнего вопроса - он не запускает триггер на действиях с внешними ключами. И таких косяков просто чудовщное количество. Как только выходишь за рамки чего-то сложнее select * from some_table, начинаешь материть разработчиков ежесекундно. И ещё один факт, мало влияющий на повседневную работу, но достойный упоминания - при проверке статическим анализатором кода нескольких популярных СУДБ, MySQL по количеству ошибок оказался на первом месте с существенным отрывом!
    Ответ написан
    11 комментариев
  • Как понять, что сотрудник аутсорсит код на стороне?

    @Dr_Gonzo
    http://mahamba.com
    Собственно зачем тратить время на это расследование? Вы его можете потратить с большей пользой для бизнеса и себя. Главный вопрос - вас устраивает результат работы этого разработчика за те деньги, которые вы платите? Если да, то лучше заняться другой проблемой, если нет, просто смените разработчика.
    Ответ написан
    Комментировать
  • Как заставить работать Swoole сокет сервер в связке с RabbitMQ?

    @acerrusm Автор вопроса
    Есть новости по поводу Swoole + RabbitMQ. Добился от разработчика хоть какого то пояснения ТУТ. Но опять же, пример кода который он выложил у меня не работает. Пробовал сначала на виртуалке, потом на простом ubuntu сервере, но тщетно. Хотя картина более или менее проясняется.

    Написал разработчику о проблеме, но он пока молчит. Потому хочу попросить тех, кто заинтересован, попробовать у себя запустить swoole вместе c rabbitmq. Вдруг все таки я криворук и пример кода рабочий. Если вы столкнетесь с такой же проблемой, то обязательно напишите об этом на гитхабе.

    Шаг 1.
    Установите Swoole
    Если будете устанавливать Swoole, то устанавливайте с помощью команды:
    sudo pecl install swoole-2.1.1

    Не рекомендую устанавливать компилируя, иначе потом запаритесь удалять т.к. uninstaller не прилагается и команда "make uninstall" не сработает.

    Обязательно должна быть версия 2.1.1. т.к. в версиях ниже нет coroutine.

    Шаг 2:
    Установите IDE-helper, что бы было приятнее работать с методами и классами

    Шаг 3:
    Установите phpAMQP. Это репозиторий который swoole форкнул себе и добавил поддержку Swoole. Т.е. команда
    composer require php-amqplib/php-amqplib
    установит только phpAMQP БЕЗ поддержки Swoole и вам нужно будет ручками добавить 2 файлика:
    1) php-amqplib/PhpAmqpLib/Connection/AMQPSwooleConnection.php
    2) php-amqplib/PhpAmqpLib/Wire/IO/SwooleIO.php

    Шаг 4:
    Установите RabbitMQ

    Удачи!

    UPDATE: на StackOverflow помогли с решением: https://stackoverflow.com/questions/49226659/swool...

    Проблема была в том, что в worker.php я использовал экземпляр класса swoole_http_client, который как оказалось работает асинхронно.

    Для синхронной работы потребуется WebSocketClient класс, который можно найти тут

    Далее заменить
    $cli = new \swoole_http_client('0.0.0.0', 2345);
    
        $cli->on('message', function ($_cli, $frame) {
            var_dump($frame);
        });
    
        $cli->upgrade('/', function($cli)
        {
            $cli->push('This is the message to send to Swoole server');
            $cli->close();
        });

    на
    $client = new WebSocketClient('0.0.0.0', 2345);
    $client->connect();
    $client->send('This is the message to send to Swoole server');
    $recv = $client->recv();
    print_r($recv);
    $client->close();


    Все.
    Ответ написан
    4 комментария
  • В чём можно подготовить документацию перед разработкой проекта?

    @Kirill-Gorelov
    С ума с IT
    WIKI ??? Ставишь движок на сервер к себе и наполняешь. Организовываешь структуру как хочешь. Или ставишь любой удобный движок и там все разворачиваешь.
    Но вообще вики заточена под ведение документации.
    Ответ написан
    5 комментариев
  • Насколько хорошо backend разработчик должен разбираться в Linux?

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

    Надо:
    Знать где какие логи есть и уметь их читать, решать ошибки.
    Всякие банальные вещи, типа запуск/перезапуск демона, убить процесс, уметь читать баш-скрипты и чуть-чуть писать (на уровне что-то подправить и чтобы не поломать всё к чертям)

    Для бекендера надо уметь устанавливать и настраивать тот софт с которым работаешь: nginx, apache, mysql, postgres, redis, mongodb и так далее.

    Vim можно вообще не знать, в *nix обычно есть редактор проще, типа nano, joe или вообще mcedit.
    Самое главное - научиться выходить из vim прежде чем испортишь файл ;-)

    Если работаешь с языком, у которого есть свой пакетный менеджер (npm, yarn, pip) нужно уметь установить его и разруливать ошибки при установке через эти пакетные менеджеры.
    Например для python-pip требуются установленные компилятор и заголовочные файлы питона. Имею ввиду, что такие тонкости надо знать.

    ssh само собой надо уметь настраивать, генерация ключей, настройка авторизации по ключу, копирование файлов scp.

    git настраивать bare-репозитории чтобы заливать на сервер и там же разворачивать, при работе без сторонних сервисов типа github, bitbucket.
    Ответ написан
    2 комментария