• Как работать с ценами в разной валюте?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Хранить значения в одной (универсальной) валюте. С сортировкой проблем быть не должно. Что касается фильтрации, то просто конвертировать значение фильтра в универсальную валюту.

    Например, цены хранятся в долларах США. Клиент хочет посмотреть цены от 100 рублей, тогда 100 рублей нужно конвертировать в доллары США и подставить это значение в запрос на выборку.

    При выводе можно конвертировать на лету, выводиться ведь будет немного записей. В крайнем случае, если будут проблемы с производительностью, можно кешировать.
    Ответ написан
    Комментировать
  • Удалить все, кроме * sql?

    igruschkafox
    @igruschkafox
    Специалист по сопровождению БД MS SQL
    Сначала проверте что вы будете удалять следующим запросом

    Select  *  from MyTable  where user_id = 21 and delete not like 'not'


    Если в результате запроса именно те строки которые хотите удалить - то удаляйте запросом
    Delete from MyTable  where user_id = 21 and delete not like 'not'
    Ответ написан
    Комментировать
  • Выбор технологии для разработки игры новичку?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Два проекта проработаны в плане писанины - геймдизайна (сюжет,сеттинг) практически полностью, но дальше работа не идет...
    Поздравляю! Вы пополнили 99.99999% список "разработчиков игр"!

    Хотите сделать быстро 2D и опробовать геймплэй - советую обратить внимание на JS библиотеку CraftyJS
    Как освоите как работать с базовыми игровыми понятиями, такими как:
    1. игровой цикл
    2. сцены и их окружение (в плане архитектуры, а не графики!),
    3. preloader при переходах между сценами и шкала загрузки ресурсов,
    3. ресурсы сцены (модели, спрайты, скрипты, разметка уровня и т.д.)
    4. корректное освобождение памяти при смене сцены
    5. панели диалогов сцены
    6. меню: внутри-игровое и основное, зависимости и структура

    и т.д. - сможете легко перейти на Unity3D.

    Я так и поступил при создании первого обучающего проекта для себя на Unity3D: вначале - выучил Crafty.js и основы игрового цикла (и как полагается - собрал все грабли)))), затем - перешёл к обучению на Unity3D (а вот тут уже - я знал где эти грабли)))).
    Ответ написан
    2 комментария
  • Как безболезненно сменить область деятельности?

    opium
    @opium
    Просто люблю качественно работать
    безболезненно никак
    координальная смена деятельности безболезненно может пройти в лет двадцать, а если вам за 30 это всегда сильный напряг
    вот у меня есть хороший друг сергей, он в 35 лет прочитал мой блог и решил уехать из москвы и сменить работу, до этого работал как и вы 1С программистом, за два года выучил js + node , стал работать на апворке и переехал жить в тайланде с женой и ребенком из москвы.
    Ответ написан
    2 комментария
  • Опасно ли выполнять такой код в С# + T-SQL? Или каким способом можно написать по-другому?

    Casper-SC
    @Casper-SC Автор вопроса
    Программист (.NET)
    В итоге решил это дело так. На место {0} в C# коде подставляется сгенерированный GUID

    BEGIN TRANSACTION
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED
    
    SET DEADLOCK_PRIORITY LOW;
    DECLARE @Quantity INT = 5;
    
    IF OBJECT_ID('tempdb..##GroupIDs_{0}') IS NULL
    BEGIN
    	CREATE TABLE ##GroupIDs_{0} (
    		ID INT NOT NULL,
    		CONSTRAINT PK_GroupIDs_ID_{0} PRIMARY KEY(ID),
    	);
    END
    
    INSERT INTO ##GroupIDs_{0} (ID) 
    SELECT TOP(@Quantity) ID FROM SOME_GROUP WITH(UPDLOCK, READPAST) WHERE REPLICATED <> 1
    
    -- Первый запрос, вызываемый из C# кода в одной транзакции.
    -- 1 ------------------------------------------------------------------
    UPDATE SOME_GROUP SET REPLICATED = 2 
    OUTPUT 
      INSERTED.ID
     ,INSERTED.NAME
    WHERE ID IN(SELECT ID FROM ##GroupIDs_{0})
    
    -- Второй запрос, вызываемый из C# кода в одной транзакции.
    -- 2------------------------------------------------------------------
    UPDATE SOME_CHILD_ONE SET REPLICATED = 2 
    OUTPUT 
      INSERTED.ID
     ,INSERTED.GROUP_ID
     ,INSERTED.UPDATED
    WHERE GROUP_ID IN(SELECT ID FROM ##GroupIDs_{0}) AND REPLICATED <> 1
    
    -- Третий запрос, вызываемый из C# кода в одной транзакции.
    -- 3 ------------------------------------------------------------------
    UPDATE SOME_CHILD_TWO SET REPLICATED = 2 
    OUTPUT 
      INSERTED.ID
     ,INSERTED.GROUP_ID
     ,INSERTED.NAME
     ,INSERTED.CREATED
    WHERE GROUP_ID IN(SELECT ID FROM ##GroupIDs_{0}) AND REPLICATED <> 1
    
    DROP TABLE ##GroupIDs_{0};
    -- 3 ------------------------------------------------------------------
    
    COMMIT TRANSACTION
    Ответ написан
    Комментировать