Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (11)
  • Как рассчитать зарплату веб-разботчика и сисадмина?

    @0LLEGator
    "Начинающий" программист в средней компании.
    Во-первых, пересмотрите ваш взгляд на админство. Админ работает хорошо, когда он пьёт пиво и гамает в дьяблу, а не носится целый день взмыленный. Так что тут как минимум 50/50. И ваш директор должен понимать, что долгосрочная надёжная работа существующего функционала важнее фич при нестабильном качестве (радость от новой фичи длится недолго, а вот огорчение от ошибки гораздо дольше, есть и исследования на эту тему). Ну и чтобы шеф тоже был доволен можно ввести штраф за простой или недоступность основных или второстепенных функций.
    Поддержку пользователей тоже нужно разделить. Потому что ошибка сетевой карты и отравление мозга перекисью водорода в виде "я ничего не понимаю и понимать не хочу" - это разные вещи. Поэтому ошибки включаются в админство, а "пользовательские обращения" и "пользовательские обращения с обучением" оплачиваются по факту фиксировано + каждые полчаса дополнительно, потому что вместо консультирования тупых куриц ты мог бы писать свистелки. Заодно и директор будет знать, кто вместо работы не может попасть в одноклассники или не желает выполнять свою работу, перекладывая её на тебя.
    Ну а по поводу программирования соглашусь с идеей дедлайнов. Согласуете объём работ из расчёта 1/2 рабочего дня на программирование и стоимость доработки. В каком месяце сделал, в таком и получил стоимость доработки за срыв сроков - штраф. Соответственно премии за укладывание в срок как таковой нет, но чем больше времени ты тратишь, тем больше дополнений запрограммируешь, тем больше получишь в итоге.
    Вот как-то так выглядит схема "и нашим и вашим" в моём представлении.
    Ответ написан
    4 комментария
  • Как зарабатывать дома с помощью интернета с максимальной анонимностью?

    @0LLEGator
    "Начинающий" программист в средней компании.
    Странный вопрос. Такое ощущение, что вы не только просите совета, как анонимно вывести зароботок, но и каком способом можно заработать, чтобы без анонимного вывода денег было нельзя обойтись.
    Совета два:
    1. оплата наличкой (для максимальной анонимности сбрасываете хвосты и встречаетесь в маске), способ уязвим для методов терморектального криптоанализа.
    2. Может я открою секрет, но всем прекрасно известно, что существует "такой-то Вася Пупкин, родившийся тогда-то, прописанный там-то", так что анонимность в любом случае не полная по определению. Предлагаю расширить эту неанонимность до размеров "Вася, родился..., прописан..., зарабатывает 150, ковыряя говносайтики", при этом ценность такой информации не повысится ни на йоту. Таким образом получается двойная жизнь, в одной вы неприметный программист-одиночка, в другой - анонимный воин интернета.
    Ответ написан
    Комментировать
  • Проблема с нужной выборкой?

    @0LLEGator
    "Начинающий" программист в средней компании.
    Можно соорудить простой запрос для подсчёта количества разговоров
    SELECT ifnull(COUNT ( `dl2`.`dialog_id`),0) AS ` dialog_count`
    FROM `dialog_relations` AS `dl1`
    INNER JOIN `dialog_relations`  AS `dl2` USING(`dialog_id`)
    WHERE `dl1`.`user_id` = @user1 AND `dl2`.`user_id` = @user2

    Но в приведённой вами схеме данных такой запрос может завышать количество разговоров, если они есть. Если совпадений нет, то они не появятся. Чтобы этот запрос работал корректно, рекомендую в первой таблице вместо искусственного PK в виде id записи сделать составной PK состоящий из ID разговора и ID участника, тогда он будет отражать суть и предохранять от дублирования записей.

    Для конкретно вашего случая правильно считать количество будет запрос
    SELECT ifnull(COUNT (DISTINCT `dl2`.`dialog_id`),0) AS ` dialog_count`
    FROM `dialog_relations` AS `dl1`
    INNER JOIN `dialog_relations`  AS `dl2` USING(`dialog_id`)
    WHERE `dl1`.`user_id` = @user1 AND `dl2`.`user_id` = @user2


    Чтобы лишь определить наличие разговоров можно сделать "красивее"
    SELECT ifnull(COUNT (DISTINCT `dl2`.`user_id`),0) AS ` dialog_count`
    FROM `dialog_relations` AS `dl1`
    INNER JOIN `dialog_relations`  AS `dl2` USING(`dialog_id`)
    WHERE `dl1`.`user_id` = @user1 AND `dl2`.`user_id` = @user2

    тут 0 - нет диалогов, 1 - есть диалоги.

    P.S. Справедливости ради хочу отметить, что без ifnull'а должно подойти для запроса @akashtrih-а. Единственное, стоит проверить на запросе с отсутствием разговоров между пользователями.
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (5)