• Как использовать прокси из GUI на Убунте?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Я очень долго работал, добавив вот такое вот в /etc/environment (в конец):
    http_proxy="http://user:password@host:port/"
    https_proxy="http://user:password@host:port/"
    ftp_proxy="http://user:pass@host:port/"
    socks_proxy="http://user:password@host:port/"


    Важный момент, для apt-get за прокси нужно настраивать в его конфиге. Точно не помню, но там тоже было просто.
    Ответ написан
  • Как выбрать строку с максимальной датой?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Попробуйте группировать по usr и action, а к ним подтянуть максимальные id и дату.
    Вообще костыль, может работать не самым лучшим образом. Если такая выборка нужна часто но она меняется реже 10 минут, к примеру, то можно сделать материализованное представление, что позволит тратить время на его перестройку, а выборка будет достаточно быстрой.

    P.S. Вот про него я говорил:
    select 
      max(id) id
    , x.usr
    , x.action
    , max(datetime) datetime
    from test x
    group by x.usr, x.action
    order by id
    Ответ написан
  • Windows server 2008 r2 + iis 7 + php 5.4.6 + база на ms access?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Есть вероятность, что ваш ограниченный пользователь не имеет доступа к папке, где лежит файл с базой. Он должен уметь читать и писать в этой папке
    Ответ написан
    Комментировать
  • Какая бд лучше подойдёт для реализации очереди?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Мы в своем решение, написанном на .NET, в момент, когда потребовалось внедрить очередь, просто поставили Microsoft Message Queue. Сейчас, если бы у меня был выбор и подобная задача, я бы остановился скорее на RabbitMQ, а может и нет. Все зависит от задач.

    Отвечая на вопрос, используйте ZeroMQ/RabbitMQ/MSMQ и не изобретайте колесо. Для них не нужно БД, да и реализовывать это куда проще чем городить взаимодействие с БД.

    А еще, можно попробовать к примеру, Hangfire, но это не совсем очередь а больше планировщик задач.
    Ответ написан
  • Как определить machine key который используется по умолчанию?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Можно открыть C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config.comments (в зависимости от установленной версии .NET, путь немного будет меняться)

    Там, есть такое:

    <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="HMACSHA256" decryption="Auto" compatibilityMode="Framework20SP1" dataProtectorType="" applicationName="" />


    private byte[] _validationKey;
    private byte[] _decryptionKey;
    
    public static byte[] GetKey(object provider, string name)
    {
      var validationKey = provider.GetType().GetMethod(name).Invoke(provider, new object[0]);
      return (byte[])validationKey.GetType().GetMethod("GetKeyMaterial").Invoke(validationKey, new object[0]);
    }
    
    void LoadKeys() // Вызвать для получения ключей
    {
        var machineKey = typeof(MachineKeySection).GetMethods(BindingFlags.Static | BindingFlags.NonPublic).Single(a => a.Name == "GetApplicationConfig").Invoke(null, new object[0]);
    
        var type = Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a").GetTypes().Single(a => a.Name == "MachineKeyMasterKeyProvider");
    
        var instance = type.Assembly.CreateInstance(
            type.FullName, false,
            BindingFlags.Instance | BindingFlags.NonPublic,
            null, new object[] { machineKey, null, null, null, null }, null, null);
    
        var validationKey = type.GetMethod("GetValidationKey").Invoke(instance, new object[0]);
        var key = (byte[])validationKey.GetType().GetMethod("GetKeyMaterial").Invoke(validationKey, new object[0]);
    
    
        _validationKey = GetKey(instance, "GetValidationKey");
        _decryptionKey = GetKey(instance, "GetEncryptionKey");
    }


    Взято тут - stackoverflow.com/a/31919794
    Ответ написан
    Комментировать
  • Как правильно перенести проект ASP.Net MVC на другой сервер? Ошибка 0x80070021 HTTP Error 500.19?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Либы все на месте? Ничего не забыли доставить?
    Версия .net framework для пула и вообще .net framework на машине соответствует требуемой?

    Еще момент, пул из под кого запущен? У этого пользователя есть права на работу с папкой, где развернут сайт?
    Ответ написан
    Комментировать
  • Почему сохраняются старые значения в потоке?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Я внес небольшие изменения:
    bool key;
    Timer time; /*вынес класс*/
    volatile int i; /*вынес i и пометил как volotile, но если у вас Intel и один поток, то это не обязательно*/
    
    BackgroundWorker bw = new BackgroundWorker();
    private void button2_Click(object sender, EventArgs e) // запуск таймера класс BackgroundWorker
    {

    У меня текст менялся - Таймер. Время: 1, Таймер. Время: 2 и т.д.

    Вопрос, у вас какой процессор?
    Представленный пример кода - это упрощенная версия? Если да, вы его проверяли?
    У вас только один поток меняет значение переменной i?
    Ответ написан
    3 комментария
  • Как в IIS для определённого пути включить только анонимную авторизацию?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    По идее как-то так:
    <location path="mysite.domain/file.xml">
          <system.web>
             <authorization>
                <allow users="?"/>
             </authorization>
          </system.web>
       </location>


    Вот тут исходный ответ: stackoverflow.com/a/10351155/2822609
    Ответ написан
    Комментировать
  • Как подключить Fenom к моему проекту?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    А что у вас в самой переменной $content? Через var_dump не смотрели?
    А еще смущает вот эта строка:
    $content = $fenom->display($controller_object->$controller_method(), $controller_object->getData());

    Там, исходя из документации, нужно вот это :
    $content = $fenom->fetch($controller_object->$controller_method(), $controller_object->getData());


    Ссылка на документацию:
    https://github.com/fenom-template/fenom/blob/maste...
    Ответ написан
  • Объясните как правильно применять паттерн Repository с Entity Framework?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Репозиторий дает одинаковый набор общих API, таких как :
    • IEnumerable<TModel> GetModels();
    • TModel GetModelByID(int modelId);
    • void InsertModel(TModel model);
    • void DeleteModel(int modelID);
    • void UpdateModel(TModel model);
    • void Save();


    IEnumerable<TModel> GetModels(); иногда меняется на IQueryable<TModel>GetModels(), тем более в данном примере это более правильно (так как GetModels не имеет параметров, то материализация должна быть в самый последний момент).

    Тоже и с сохранением. Нужно сохранить новые значения пользователя и записать в историю, получается нужно вызвать операции 2х репозитариев и как-то скоординировать сохранение, что бы откатить при сбое. Как решается эта проблема?


    Это решается с помощью сервисов или Unit of Work, которые построены вокруг объединения репозиториев, связанных единой бизнес-логикой, единого экземпляра контекста, единой транзации где нужно и т.п.

    Пример всего этого добра можно глянуть, к примеру, вот тут: https://www.asp.net/mvc/overview/older-versions/ge...

    Статейка старенькая, но для общего понимания пойдет. Но самая соль не в этом. Соль ситуации в том, что EF сам по себе UoW, а его DbSet-ы - это репозитории. Соответственно, вам нужны репозитории лишь в том случае, если вы желаете поддержку работы с несколькими, назовем это, бакэндами. В данном конкретном случае бакэендами могут быть:
    • EF
    • NHibernate
    • Linq2db
    • SqlClient/Npgsql/MySQL/etс (тут сложнее и потребуется поработать)
    Ответ написан
    Комментировать
  • Почему не подключается БД?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    А вообще, база открывается через "слона", т.е. pgadmin-а?
    Если открывается, нужно разбираться с инициализацией подключения и вообще, с настройками подключения, а вот если нет - тогда смотрите порты на сервере БД и pg_hba.conf, есть ли там разрешение на подключение к БД из вашей сети.

    Помню, Spring валил мне огромную простыню ошибки, которую нужно было просматривать вдумчиво, чтобы увидеть, откуда пошло распространение.
    Ответ написан
    Комментировать
  • Как дебажить Windows службы на C sharp?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Собираете службу под debug-ом. Потом можно к ней подключиться через отладчик, когда она запущена как служба.
    Из VS, запущенной из-под имени администратора системы, что важно.
    После того, как вы подключились, вас нужно только вызвать срабатывание вышеуказанной логики. Ну и точек прерывания наставить предварительно, конечно.
    Ответ написан
    Комментировать
  • Как обновить запись в БД используя EF из setter'a?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Мне кажется, вся проблема вот тут:
    db.Chargebacks.Attach(this);
    db.Entry(this).Property(x => x.Comments).IsModified = true;


    Попробуйте вместо this создать выше "копию", "клона" этой сущности и уже работать с ней.
    Вообще, я бы на вашем месте поискал был другой подход - отталкиваясь от событий изменения данных колонки/строки грида, к примеру.
    Ответ написан
    Комментировать
  • Asp.net MVC сайт развернутый в облаке Microsoft Azure Web Sites выдает ошибку. Как исправить?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Вообще-то, localdb используется для разработки локально. И в облак его может и не быть. Такая ошибка обычно выводится когда не найден сервер из строки соединения. Советую вариант с sdf- базой , он должен пройти.
    Ответ написан
    Комментировать
  • Как передать данные в работающий поток?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    А поле, через которое вы пихаете данные, оно volatile? Может это поможет?
    Ответ написан
  • Какой тип данных выбрать для хранения пола?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Если есть необходимость делать пол необязательным, то можно сделать enum, добавив туда значение для неопределенного (незаполненного), ну или же использовать boolean, разрешив туда NULL.
    Ответ написан
    1 комментарий
  • Как в MODx можно использовать два одинаковых замароженных URL?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Пришла в голову сходу мысль про ссылки/символические ссылки, может поможет?
    И да, придется дублировать документы (т.е. создаете документ в нужном разделе) и ссылку на него в нужном месте, что обеспечит нужный URL.

    Костыльно, но помочь может.
    Ответ написан
    Комментировать
  • Java и Web - что выбрать?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Так как посоветовали уже Spring, я посоветую еще глянуть в сторону PlayFramework.
    Фронт - если желаете все писать на Java, то GWT. Если нет - то Angular 2 или React.
    Ответ написан
    Комментировать
  • Как получить данные из связанной таблицы Entity Framework?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Примерно так, непонятно какой там у вас контекст.
    using(var db = new Model1())
    {
    	var data = (from bid in db.BID 
    	           join u_c in db.Users on u_c.id = bid.user_id_created
    			   join u_e in db.Users on u_e.id = bid.user_id_executor
    			   select new BIDDto
    			   {
    				   id = bid.id, 
    				   text = bid.text, 
    				   datetime_created = bid.datetime_created, 
    				   user_created_name = u_c.Name, 
    				   user_executor_name = u_e.Name
    			   }).ToArray();
        /// Дальше помещайте data куда нужно
    }


    BIDDto это класс с нужными вам полями.
    Ответ написан
    Комментировать
  • Проверка на то открыт ли файл?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Слушать, открыт ли файл можно вот так: stackoverflow.com/a/21137389

    Дальше, если вам нужно скрыть его - то, к примеру, нужно искать все открытые окна по заголовкам, к примеру :stackoverflow.com/a/7268375

    Дальше, скрыть окно, к примеру так: www.go4expert.com/articles/hiding-windows-c-sharp-t973

    Но, зачем?..
    Ответ написан
    Комментировать