• Как в Git вынести часть проекта в отдельное отвествелние?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    1. В git есть система подпроектов, но как-то она не работает интуитивно понятным способом и не автоматически. Про подпроекты надо не забывать. Они сами не коммитятся.
    2. Можно использовать сборку (например, grunt). Мне этот вариант кажется более предпочтительным, хоть это и не git. Вы в одном проекте git сможете иметь несколько подпроектов, хранить все в одном репозитории, и для выпуска собирать тот, который вам нужен.
    3. Выделит ваше ядро как проект для bower, положить его на ресурс (gitlab/github). Обновление версий ядра в проектах вести соответственно через bower. Тогда проекты для сайтов можно держать в двух раздельных репозиториях 1 и 2. (итого у вас будет три репозитория. 3-й - для ядра). И даже смена ядра не будет сильно отражаться на проектах независимо от изменений в ядре, как это было бы в первых двух вариантах, где бы вам приходилось согласовывать все подпроекты при изменении версии ядра и это было бы самой неприятной работой, что-то менять, когда 1-й проект уже сдан (т.е. если вы поменяли версию ядра, то и обновлять надо сразу все проекты, а с bower такого не будет). - Мне кажется этот вариант вообще идеальный! - я за этот вариант. Связь между репозиториями такая:
    f70140d23e0b4c68bd24b01110873543.png
    Ответ написан
    6 комментариев
  • Разбивать данные на массив или нет?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    По-моему личному мнению, я бы не менял конфигурацию данных, которые получил от сервера. Лучше два ng-repeat-а. Кто знает, зачем вам в дальнейшем этот массив потребуется, а вы его уже распотрошили. )
    Ответ написан
    2 комментария
  • Почему некоторые люди просят JS без JQuery???

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Если это для собеседования, то скорее просто проверить, что человек владеет JavaScript, а не только jquery.
    Ответ написан
    Комментировать
  • Каким образом работают программы на javascript?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Под node.js называется nw.js. В инструкции написано как собирать такие приложения. Но они весят от 50МБ.
    Под Windows можно писать HTA приложения. Встроенная фишка Windows, как ни странно, почти никто про неё не знает. Ничего не надо ставить. HTA - тот же HTML, только может работать в контексте компьютера, т.е. имеет доступ туда, куда не имеет доступ браузер- локальные файлы, activeX.
    В обоих штуках можно забабахать очень навороченные интерфейсы с любыми библиотеками для JS для обычной web-разработки (jquery, angular и т.д.).
    Есть ещё Flex, но это уже не JS.
    Ответ написан
    8 комментариев
  • Как запретить подгрузку .swf файлом информации с других ресурсов?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Давно с swf не работал, но вот нашёл такой ответ: stackoverflow.com/questions/8909521/swf-not-playin...
    Ответ написан
    Комментировать
  • Как сделать движение объекта по экрану при скролле?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    niceScroll, Demo, только demo открывайте не в crome. Что-то у меня demo глючит, но в проекте работает отлично.
    Ответ написан
    Комментировать
  • Ошибки при работе с примером?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Внимательно смотрите документацию: https://msdn.microsoft.com/ru-ru/library/y6b12xkc.aspx
    a414c22c162d48129ced649c8c648989.png
    и проверяйте разрешения на доступ к библиотеке.
    Ответ написан
    3 комментария
  • Как работать с библиотекой scrollReveal.js?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Может div-ов маловато? В demo-примере их очень много.
    Ответ написан
    Комментировать
  • Какие подводные камни есть в использовании MongoDB?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Подводные камни у каждого свои ) Расскажу про свой небольшой опыт использования Mongo. Что сразу обращает на себя внимание в сравнении с реляционными базами - большой напряг именно с реляционными данными. Все отношения перекладываются на бизнес логику. Нет безопасности, нет хранимых процедур (в последней версии не знаю, ещё не смотрел). Только данные. Но я бы не стал считать их критичными недостатками. Просто в моей тогдашней программе 99% работы - только чтение. Проект не сильно нагружен.

    Но с другой стороны очень удобно работать когда у тебя везде JSON - и на сервере и на клиенте. Мне понравилось грузить данные напрямую в angular.

    В принципе перечисленные "недостатки" - это просто особенности. Надо попробовать самому.
    Ответ написан
    Комментировать
  • Сервис по рисованию сразу в svg, или конвертации из простого формата > svg?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Можно ещё через inkscape (бесплатный):

    cf23efc8e31f44769cfadd87d99401a5.png
    (результаты растащены, чтобы не накладываться)

    https://inkscape.org/ru/doc/tracing/tutorial-traci...
    Ответ написан
    Комментировать
  • Как осуществить перехват запросов к файловой системе?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Гляньте scriptomatic: https://www.microsoft.com/en-us/download/details.a...
    Там много примеров как настроить watcher на разные события в системе. Google wmi file watcher
    Ответ написан
    Комментировать
  • Как скрыть от опытного пользователя возможность отправить скрытую изначально форму?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    На клиенте - никак. Клиентом может быть что угодно. Надо на сервере блокировать неправильную последовательность форм.
    Ответ написан
    1 комментарий
  • Какие есть иерархические блокноты под Windows?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    На чём в итоге остановились?
    Мои комментарии к zim.
    Пару лет им пользуюсь. Накопилось больше 3000 веток. Вроде не тупит. Только при таком количестве веток дико тупит встроенный web-сервер. Но прикольно то, что можно всё можно экспортировать в html и выложить на свой web-сервер. После чего можно ещё и проиндексировать. Недавно техподдержка взяла его на вооружение. Обмен между сотрудниками - через git/gitlab. Сделал им отдельный корпоративный шаблон для экспорта html и хелп по программам кладём через него. Так что вполне достойная вещь. Даже для небольшой корпоративной работы годиться.
    Ответ написан
    Комментировать
  • Как выполнить javascript во внешнем браузере?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    А если написать html страницу и вставить туда ваш скрипт?
    Ответ написан
  • Эмуляция Ajax-ответов?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    поздновато, но всё-таки )
    для http запросов можно легко использовать fiddler autoresponder. Вообще, тема проксирования в разработке web-приложений незаслуженно игнорируется:

    6b8cae34e85940f785f6c3f07425f00f.png

    Можно в ответку вставить всё, что душа пожелает и писать ничего не надо.
    Ответ написан
    Комментировать
  • Как решить проблему с всплыванием?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Ещё вариант - проверять, не находится ли элемент в состоянии анимации:

    if( $(e).is(':animated') ) {...}

    api.jquery.com/animated-selector
    Ответ написан
  • Как выполнить скрипт на всех компах домена кроме нескольких?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    А вы как его на выполнение запускаете?
    Ответ написан
    Комментировать
  • Как перегрузить div?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Фактически вам нужно вызвать ещё раз то, что у вас написано в $(document).ready:

    function getData(){
        var url = $('.gridly').attr('req');
        $.get(url, function(data){
            var json = JSON.parse(data)
            $.each(json, function(i, obj) {
                $('.gridly').append('<div class="brick small">'+obj.fields.title +'<a href="."><img src="/media/'+obj.fields.head_pic+'"'+'></a><a class="delete" slug="'+obj.fields.slug+'"href="#">×</a></div>');
                $('.gridly').gridly({
                    base: 60, // px
                    gutter: 20, // px
                    columns: 10
                  });
            });
        });
    }
    $(document).ready( getData );

    а кнопку немного поменять (есть разные варианты, например):
    <input id="cancel_changes" class="btn btn-success col-sm-6  col-xs-12 margin-bottom col-sm-offset-1 col-xs-offset-0" value="Отменить" type="button" onclick="getData()">
    Ответ написан
    Комментировать
  • Как сменить ip адрес сетевой карты через C#?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Менял так (в публичных свойствах задавал требуемые параметры, потом вызывал set):

    (прокрутка вправо-влево shift-колёсико)
    using System.Management;
    
            private class StaticIP : IConfigurationIP
            {
                // mac-адрес адаптера, которому присваиваются настройки:
                public String macAddress;
                public string[] IPAddress;
                public string[] IPSubnet;
                public string[] DefaultIPGateway;
                public string[] DNSServerSearchOrder;
                public UInt16[] GatewayCostMetric;
                public int proxyStatus;
    
                /// <summary>
                /// Установить конфигурацию сетевого адаптера, используя имеющиеся в классе настройки.
                /// В принципе было бы корректно освобождать IP-адрес перед установкой статического адреса. см. msdn.microsoft.com/en-us/library/aa393047(v=vs.85).aspx
                /// (ReleaseDHCPLease)
                /// </summary>
                void IConfigurationIP.set()
                {
                    ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    ManagementObjectCollection objMOC = objMC.GetInstances();
    
                    foreach (ManagementObject objMO in objMOC)
                    {
                        if ((bool)objMO["IPEnabled"])
                        {
                            try
                            {
                                // Параметры objMO: http://msdn.microsoft.com/en-us/library/aa394217%28v=vs.85%29.aspx
                                // Найти сетевую карту с mac-адресом, для которой предназначена эта настройка:
                                string _macAddress = (string)objMO["MACAddress"];
                                if (_macAddress.Equals(this.macAddress))
                                {
                                    // http://www.java2s.com/Tutorial/CSharp/0580__Network/GetIPaddressfromWin32NetworkAdapterConfiguration.htm
    
                                            // http://msdn.microsoft.com/en-us/library/aa394217%28v=vs.85%29.aspx
                                            ManagementBaseObject EnableStatic = objMO.GetMethodParameters("EnableStatic");
                                            ManagementBaseObject EnableStatic_ret;
                                            EnableStatic["IPAddress"] = this.IPAddress;
                                            EnableStatic["SubnetMask"] = this.IPSubnet;
                                            EnableStatic_ret = objMO.InvokeMethod("EnableStatic", EnableStatic, null);
    
                                            ManagementBaseObject DNSServerSearchOrder = objMO.GetMethodParameters("SetDNSServerSearchOrder");
                                            ManagementBaseObject DNSServerSearchOrder_ret;
                                            DNSServerSearchOrder["DNSServerSearchOrder"] = this.DNSServerSearchOrder;
                                            DNSServerSearchOrder_ret = objMO.InvokeMethod("SetDNSServerSearchOrder", DNSServerSearchOrder, null);
    
                                            ManagementBaseObject SetGateways = objMO.GetMethodParameters("SetGateways");
                                            ManagementBaseObject SetGateways_ret;
                                            SetGateways["DefaultIPGateway"] = this.DefaultIPGateway;
                                            SetGateways["GatewayCostMetric"] = this.GatewayCostMetric;
                                            SetGateways_ret = objMO.InvokeMethod("SetGateways", SetGateways, null);
    
                                            RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
                                            registry.SetValue("ProxyEnable", this.proxyStatus);
                                            //proxyStatus = (int)registry.GetValue("ProxyEnable");
    
                                            Console.WriteLine(" set {0} to {1} finished", this.macAddress, this.IPAddress[0]);
                                            return;
                                }
                            }
                            catch (Exception)
                            {
                                throw;
                            }
                        }
                    }
                }
            }
    Ответ написан
    Комментировать
  • Почему не выводит по порядку из бд?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Сортировку надо сделать перед реверсом:
    function sortDate(a,b){
        var aDate = new Date(a.createdAt);
        var bDate = new Date(b.createdAt);
        if(aDate == bDate)
            return 0;
        if(aDate < bDate)
            return -1;
        if(aDate > bDate)
            return 1;
    };
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "https://api.parse.com/1/classes/Blog", true);
    
    xmlhttp.setRequestHeader('Content-Type', 'application/json');
    xmlhttp.setRequestHeader('X-Parse-Application-Id', 'GKid48BAvytRnKn8Y8CFKiKQ8jIJSYwpUsr1vID1');
    xmlhttp.setRequestHeader('X-Parse-REST-API-Key', '6bnW8hVQNvuLQYiDiXvMHwIvV0inEne93gLzOC0A');
    
    xmlhttp.onload = function () {
        if (xmlhttp.status === 200) {
            var userInfo = JSON.parse(this.responseText);
            console.log(this.responseText);
            debugger;
            userInfo.results = userInfo.results.sort( sortDate );
            var arr = userInfo.results.reverse();
            var text = "";
            
            for (var i = 0; i < arr.length; i++) {
                text += '<div class="blog-post"><div class="blog-header">'+arr[i].title + '</div><br><img  width="560px;" src="' + arr[i].img + '"><br><div class="blog-text">' + arr[i].text + '</div><div class="blog-share"><a href="http://gamer-by-life.com/share/?title='+arr[i].title + '&text='+arr[i].text + '&img='+arr[i].img + '&time='+arr[i].createdAt + '"><img src="share.png"></a></div><br></div><br>\n';
    
            }
    
            console.log(text);
    
        }
    };
    
    xmlhttp.send();
    Ответ написан