Задать вопрос
  • На что способны api социальных сетей?

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

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

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Всё очевидно:
    суперпользователь базы - лицо доверенное и база доверяет этому пользователю. И суперпользователь множеством хитрых и не очень способов способен сделать с сервером на котором запущена база всё на что хватит прав у пользователя, от которого запущен 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 комментария
  • Какие стратегии повышения зарплаты существуют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

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

    Из этого вывод, стратегия проста - увеличивайте собственный профессиональный уровень на столько, чтобы свободно менять компанию, как только вас что-то перестало устраивать.
    Ответ написан
    4 комментария