Задать вопрос
  • Кому отдать старые сервера и железо?

    deepblack
    @deepblack
    Rusonyx раньше раздавали сервера нуждающимся бесплатно.
    Вот статьи на хабре:
    https://habr.com/en/company/rusonyx/blog/214537/
    и https://habr.com/en/company/rusonyx/blog/188606/
    У них были такие условия:


    Конечно, есть несколько условий, они достаточно простые:
    • Один сервер в одни руки (если Вы не аргументируете большее количество);
    • Вы должны описать зачем Вам нужен этот сервер;
    • По понятным причинам хостеру эти серверы мы не отдадим;
    • Самовывоз из нашего офиса в г. Москва (недалеко от м. Белорусская);
    • Серверы без дисков по требованию наших системных администраторов (авито и молоток вам в помощь);
    • Дареному коню… ну вы поняли, что претензии по оборудованию не принимаются, но при демонтаже все серверы были рабочими и впустую нагревали помещение нашего ЦОДа на Варшавке.



    Можете там-же и опубликовать, только оформите по нормальному статью.
    Ответ написан
    Комментировать
  • Кому отдать старые сервера и железо?

    Zoominger
    @Zoominger Куратор тега Железо
    System Integrator
    Вы в Мск? Были б в Питере, я б забрал.
    Сдавайте в детские дома и в отделения больниц, например, они любое возьмут.
    Ответ написан
    Комментировать
  • Кому отдать старые сервера и железо?

    @EvilSide
    Sysadmin
    С подобной проблемой мы боролись по средствам передачи железа для ПТУ\Университетов\Коледжей.
    Они и принять могут по дукументам и чаще всего будут рады этому.
    Ответ написан
    5 комментариев
  • Какой ноутбук выбрать для работы на фронтенде?

    Zoominger
    @Zoominger Куратор тега Ноутбуки
    System Integrator
    4 ядра, 8-12 Гб ОЗУ.
    Не существует каких-то специальных компьютеров для программистов, нужен просто мощный ноутбук, чтобы он мог вертеть прожорливую IDE и просто прожорливый JS.
    Ответ написан
    Комментировать
  • Какие стратегии повышения зарплаты существуют?

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

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

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

    Комментировать
  • Как изменить скрипт работающий в Kubuntu для работы в Ubuntu 18.04?

    Exebeche
    @Exebeche Автор вопроса
    Осваиваю программирование
    Танцы с бубном РУЛЯТ!!!
    Победил это дело.
    Озвучки не было т.к. тупо скопипастил и не обратил внимания на ключи - ключь
    -sp
    (source, play) озвучивает язык оригинала.
    Теперь еще бы на досуге разобраться где хранятся стили попапа, но это уже будет другая история.
    После нехитрых экспериметнов было получено:
    #!/usr/bin/env bash
    text="$(xsel -o)" # Переводимый текст
    translate="$(xsel -o | trans :ru -no-ansi -sp -b)" # Результат с произношением оригинала (ключь -sp)
    # echo "$translate" | xclip -selection clipboard 
    notify-send --icon=info "$text" "$translate" # Вызов popup с нужными данными


    Теперь у меня и в телефоне и на ноуте есть быстрый перевод от Google Translate
    Надеюсь еще кому-то пригодится.
    З.Ы.
    Кому пригодится - не поленитесь жамкнуть "Нравится" и улучшить карму
    Ответ написан
    2 комментария
  • Как получить значения одной колонки из ArrayCollection в Symfony?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Вам нужно вызвать метод map(), и передать в него анонимную функцию, которая принимает сущность и возвращает ее id. По итогу вы получите коллекцию id этих сущностей

    https://www.doctrine-project.org/api/collections/l...

    Если очень большой объём, то чтобы туда-сюда массивы не генерировать — используйте \Generator, и уже по факту итерации берите id сущности и работайте с ним
    Ответ написан
    2 комментария
  • Правильно ли я работаю с Git над проектом?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Мастер - главная ветка вашего проекта.
    Фича/Фикс/Прочая ветка - ветки, которые ответвились от мастера и в которых сосредоточена вся их суть.

    ---

    Закончили фичу/фикс, выпала более приоритетная задача, передумали делать или застряли на одном моменте и хотите делать что-то дальше - комитите все изменения, переключаетесь на мастер, создаете новую ветку и поехали опять: создали ветку, изменения, комит, далее.

    ---

    Ребята в ответах правильно пишут: не обязательно делать git push. Если не понимаете почему - прочитайте предназначение этой команде.

    ---

    Ветки создавайте как хотите, но определитесь с их порядком.
    Работая с JIRA, YouTrack и прочими Issue Tracker'ами, можно создавать ветки по номеру задачи в этих трекерах и понимать, что делалось той или иной ветке.

    ---

    Мержить лучше через Pull/Merge Request, другие будут видеть изменения по той или иной задаче, кто-то сможет проревьювить или начать диалог.
    Так же можете сделать несколько веток, сделать для них PR/MR и в нужное время слить их все вместе (например, когда одни ветки ждут изменений из других веток, поэтому пока что не могут быть влиты)
    Ответ написан
    Комментировать
  • Laravel cron на хостинге (без доступа к консоли)?

    DevMan
    @DevMan
    если на хостинге нет доступа к консоли, то обычно есть панель управления, где и можно добавить задачу.
    Ответ написан
    4 комментария
  • Ошибка при переносе сайта на Bitrix (Call to undefined function mysqli_init()), как избавиться?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Установи расширение mysqli
    Ответ написан
    Комментировать
  • Как определить максимальную частоту процессора?

    На сайте производителя посмотреть
    https://ark.intel.com/content/www/ru/ru/ark/produc...
    Ответ написан
    Комментировать
  • Как запустить nodejs скрипт через PHP exec?

    larisamoroz
    @larisamoroz
    Курю маны, втыкаю в код, ваяю, починяю.
    1. Выполните с помощью exec d в php команду whoami:
    exec('whoami', $output);
    Посмотрите содержимое $output и убедитесь, что php запускается не из под вашего штатного пользователя, а от какого-то своего, который не имеет прав на запуск хрома

    2. Перенаправьте вывод ошибок в stdout (2>&1) в вашей команде, которую вы передаёте exec:
    exec('/usr/bin/node ../../admin-test/test.js 2>&1', $output);

    И после выполнения посмотрите содержимое $output, там скорее всего будет описание ошибки, которая происходит
    Ответ написан
    1 комментарий
  • Как перенести текст из одной строки в другую?

    fzfx
    @fzfx
    18,5 дм
    найти: class=\"one\s(\w+)\"(.*?)class=\"link\"
    заменить на: class=\"one\"\2class=\"link \1\"

    5da4dab9438f8350908121.png
    Ответ написан
    3 комментария
  • Как хранить дату рождения в базе данных?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    есть прекрасный тип данных - DATE. Сложнее если у вас могут быть не точные даты и тогда только VARCHAR(10)
    Ответ написан
    Комментировать
  • Как лучше спроектировать бд?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Всего 3 таблицы:
    2 таблицы: items и options
    и одну "многие-ко-многим" (промежуточную): item_id, option_id (есть строка-"связка" - опция есть/включена у объекта)

    Т.е. промежуточная таблица будет хранить только уникальные связи.
    А быстрый поиск - можно делать как по опции, так и по айтему.
    И добавить свойства или айтемы - проблем нет.
    Ответ написан
    1 комментарий
  • Если вставлять фрагменты php кода в html разметку - плохо, то что тогда хорошо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В любом утверждении важно понимать контекст.
    А также учитывать, что 95% говорящих вообще не понимают, что говорят.

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

    Если у тебя при запросе в БД тут же вываливается хтмл - это так и есть, извращение.
    Если ты, как аккуратный пионер, сначала получил все данные, а потом приинклюдил файл шаблона, в котором пхп занимается только выводом полученных раньше данных - то сделал все правильно и со временем освоишь работу с настоящими шаблонизаторами.
    phpfaq.ru/tech/tpl
    Ответ написан
    Комментировать
  • Как обработать и сравнить большой массив данных?

    erge
    @erge
    Примус починяю
    вариантов есть несколько....
    1) загружаете данные доступными вам способами во временную таблицу, далее UPDATE по этой таблице
    если из PHP, то собрать из массива запрос вида
    INSERT INTO tmp_goods (name, article, price)
      VALUES ('NAME_1', 'ARTICLE_1', PRICE 1),
    .......
             ('NAME_N', 'ARTICLE_N', PRICE_N)
    ;


    после чего выполнить UPDATE:
    UPDATE goods g
      INNER JOIN tmp_goods t ON t.article = g.article
      SET g.price = t.price
      WHERE g.price != t.price
    ;


    и очистить tmp_goods если она более не нужна.

    2) собрать из массива запрос вида:
    UPDATE goods
    SET price = CASE article
    WHEN ARTICLE_1 THEN PRICE_1
    WHEN ARTICLE_2 THEN PRICE_2
    ....
    ELSE price END


    так же есть операторы:
    REPLACE ,
    INSERT ON DUPLICATE KEY UPDATE
    и вообще погуглите - MySQL множественный апдейт

    и... еще вариант:
    можно обойтись без временной таблицы (как в варианте 1)...
    соберите из массива запрос вида:

    UPDATE goods g
      INNER JOIN (
        SELECT 'ARTICLE-1' AS article, PRICE_1 AS price UNION
        SELECT 'ARTICLE-2', PRICE_2 UNION
        SELECT 'ARTICLE-3', PRICE_3 UNION
    ...
        SELECT 'ARTICLE-N', PRICE_N
        ) t ON t.article = g.article
      SET g.price = t.price
      WHERE g.price != t.price
    ;


    смотрите пример на sqlfiddle (сосбтвенно update в левом поле описания схемы)
    Ответ написан
    Комментировать