• Как при условии вернуть значение обратно в select в AngularJs?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Привязать select к другой переменной и поставить на неё watcher. При срабатывании watcher спрашивать пользователя подтверждение и если он согласен, то применять к целевой переменной.
    Ответ написан
  • Можно ли сделать программное удаление камеры OrbitControl в THREE.js, чтобы показать все объекты сцены?

    AlexXYZ
    @AlexXYZ Автор вопроса
    O Keep Clear O
    Нашёл неплохой контрол на замену OrbitControl:

    https://github.com/yomotsu/camera-controls

    Там есть дополнительные функции fitto, zoomto и прочие полезности, которых нет в OrbitControl.
    Ответ написан
    Комментировать
  • Включил на сайте SSL/Kerberos и стал получать обрезанные файлы?

    AlexXYZ
    @AlexXYZ Автор вопроса
    O Keep Clear O
    Просматривал свои вопросы и вспомнил, что решение всё-таки нашлось - Кривая и устаревшая версия Apache и PHP. После обновления версий все заработало.
    Ответ написан
    Комментировать
  • Как в mapBox получить массив из координат при построении маршрута?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Недавно пролистывал всякие api-шки по построению маршрутов, нашёл такое для mapbox, но не проверял:
    https://docs.mapbox.com/help/how-mapbox-works/dire....
    Ответ написан
    Комментировать
  • Есть ли в открытом доступе регулярные выражения для перевода текстовых чисел в цифры?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Это не совсем простой вопрос и регулярками не делается. Я делал как-то что-то близкое. Алгоритм посоветую такой:
    1. Подключить поисковую систему к словарю из сорока ваших чисел. (я пользовался yandex.server - уже не выпускается, но это для примера, может быть сфинкс подойдёт, или поищите что-то ещё).
    2. Брать по очереди и по одному слова из текста.
    3. Проверять их нахождение в словаре в поисковой системе. (Вот тут и происходит магия, т.к. поисковая система умеет искать с учётом морфологии). Соответственно надо уметь отличать одно число из одного слова от двойного числа из двух слов (хотя можно разбить поиск на два этапа - сначала находим тексты из двух числовых слов и заменяем, потом из одного слова, но всегда есть тонкости, например, отличить от числа из трёх слов, когда будут сотни). Немного поколдуйте над числами, которые имеют двойное наименование, например, "один"-"первый"-"раз", "два"-"второй".
    4. Заменять эти слова на числа, т.к. соответствие слов в словаре числам вы уже знаете.
    5. Профит.

    Например, ваш словарь:

    один (1 в уме или в коде программы)
    первый (1 в уме или в коде программы)
    раз (1 в уме или в коде программы)
    два (2 в уме)
    три (3 в уме)

    Текст:
    "Квитанцию оплатить первого числа"
    Квитанцию - пропустить, т.к. поисковик не найдёт в словаре
    оплатить - пропустить, т.к. поисковик не найдёт в словаре
    первого - поисковик найдёт "первый", меняете на "1"
    числа - пропустить, т.к. поисковик не найдёт в словаре

    После замены получите:
    "Квитанцию оплатить 1 числа"

    Но тут тоже надо быть внимательным, а то получите такой "перевод":
    "Раз пошёл я на охоту..."
    "1 пошёл я на охоту"
    Ну, может "раз" переводить и не нужно.
    Ответ написан
    Комментировать
  • Как создать собственную библиотеку?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Если вопрос именно по созданию библиотеки, а не GUI, то из собственного опыта - вся диаграмма помещается в UserControl. как вы там расставляете - это ваше дело.

    5d51124627ab1372431729.png

    Одна тонкость - перед использованием UserControl - собрать проект, иначе будет не подцепить этот контрол даже в исходном проекте.
    Ответ написан
  • Как правильно задать структуру класса для json объекта?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Как вариант - всё делать массивами, а перед загрузкой JSON проверить, если объект не массив, то объявить массив и загрузить одиночный объект в него.
    Если раньше было так:
    {
       "12:30": {
             name: "someName",
             lastName: "someLastName"
          }
    }

    А теперь и так и так:
    {
       "12:30": {
             name: "someName",
             lastName: "someLastName"
       },
       "13:15": [
           {
             name: "someName3",
             lastName: "someLastName3"
          },
          {
             name: "someName4",
             lastName: "someLastName4"
          }
       ]
    }
    , то конвертите всё в массив, а только потом применяйте:
    {
       "12:30": [
       {
             name: "someName",
             lastName: "someLastName"
       },
       ],
       "13:15": [
           {
             name: "someName3",
             lastName: "someLastName3"
          },
          {
             name: "someName4",
             lastName: "someLastName4"
          }
       ]
    }
    Ответ написан
  • Кто сможет дать совет, как учить JS?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    но поймал себя на мысли, что познав что-то новое я не могу понять где я буду это применять в будущем на практике.
    Это нормально когда только начинаешь. Так что просто учите и получайте удовольствие от процесса.
    Ответ написан
    Комментировать
  • Имеет ли значение на каком фреймворке сделан фронт-енд для бекендера?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Если они изначально проектировались парно, например, типа MVC, то это достаточно сильная связь, но не настолько, чтобы ее нельзя было бы подменить каким-то скриптом. Если изначально писались только функции api, а web накатили потом, то фреймворк уже не очень сильно связан с бакендом.
    Ну и третья мысль - можно иметь бакенд совсем без фронтенда. Только HTTP-запросы/ответы. Это как бы намекает )))
    Ответ написан
    Комментировать
  • Самообразование по «Информационной безопасности» и в IT-сфере в целом (для новичка)?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    А почему вы решили, что к ИБ у вас интерес меееедленно не угаснет?
    Вот честно - не очень понимаю людей, которые объявляют о том, что хотят чему-то научиться. Чем меньше вы будете распространяться о том, чему вы хотите научиться, тем меньше у вас будет обязательств и оправданий перед другими. Думаете, что ИБ возникла сначала, а потом под неё подтянулись знания, которые в неё сейчас входят? Не разговоры об ИБ сделают из вас инженера по ИБ, а ваши действия будут подходить или нет подходить под действия инженера по ИБ. Вот это я буду учить, т.к. это подходит под гордое звание инженер по ИБ, а вот это не буду, т.к. это не сочетается с должностью. Гыгыгы.
    Ответ написан
    3 комментария
  • Почему в Chrome нет анимации модальных окон bootstrap?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    У меня на 4.3. вроде работает:

    5d300e7040bc7093840593.gif

    Попробуйте в режиме инкогнито? Вдруг какой плагин косячит.
    Ответ написан
  • Как создать подобный эффект для элемента при скролле?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Можно попробовать https://scrollmagic.io/. Там много эффектов.
    Ответ написан
    Комментировать
  • Как организовать доступ к Github из ЛВС без доступа к сети интернет?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Access to GitHub и есть прокси/маршрутизатор, которые запрещены по правилам ИБ. В таком виде никак. Однако, если можно установить в DMZ gitlab и периодически на него заливать новые версии требуемых компонентов, а для проектов настроить получение новых версий с DMZ-gitlab. Так подойдёт?
    Ответ написан
    3 комментария
  • Get запрос. Как дать отработать всем скриптам?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Использовать Embedded Browser и запускать всё на компе, который запрашивает URL. Можно использовать встроенный IE: System.Windows.Forms.WebBrowser (не работает, пока не виден на экране) или Embedded Chrome в двух вариантах - CefSharp (Та же проблема, что и с IE) и его же версия, но CefSharp Healdess, но вот тут можно уже не выводить на экран.
    IE удобен тем, что подхватывает всё, что стоит в IE под пользователем - аутентификацию, куки, например. CefSharp сам по себе.
    Ответ написан
  • Как отсетять ненужные данные из обьекта?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Да вроде и норм всё. Можно так, чтобы key несколько раз не писать:
    if (['id', 'head', 'text'].indexOf(key)>=0  && article[key] ) {
             apiData.append(option, article[key]);
    }

    Если важно, то иногда имеет смысл добавить hasOwnProperty()
    Ответ написан
  • Почему я должен писать именно так, а не иначе?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Почему я должен писать именно так, а не иначе?
    Хороший вопрос. Один человек, изначально тоже подумал, а как бы вообще замутить такую конструкцию, чтобы я мог считать, что одно слово - это функция, а другое аргумент. И придумал письменность.
    Ответ написан
    Комментировать
  • Как настроить CORS для withCredentials: true?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Кто сталкивался помогите! Уже все запросы гугла помечены как прочитаны.
    - это вы должны ещё два дня по ним побегать. ;)
    Основной прикол в том, что CORS настраивается не на клиенте, а на сервере, к которому вы хотите обратиться. Пока сайт, который является сторонним по отношению к вашему приложению, не разрешит делать к себе CORS - всё! Никакие настройки CORS в браузере не помогут. Либо делать перезапрос с вашего web-сервера (с backend-а) или идти к тому сайту на поклон, чтобы он включил CORS на адрес вашего сайта. Вроде как вариантов по фен-шую больше и нет.

    UPDATE:
    Если сторонний сайт является вашим, то почитайте неплохую статью как его настраивать: https://learn.javascript.ru/xhr-crossdomain

    UPDATE 01:
    Собственно основной прикол, почему сделана такая схема - запросы всегда уходят на сайт с куками и если бы злоумышленник отправлял со своей страницы запрос на тот же https://facebook.com, то он бы мог пользоваться api этого сайта с данными вашего профиля. Ну вам этого бы не очень хотелось? Поэтому эта CORS задаётся именно на сайтах, к которым вы хотите обратиться по CORS и по этой причине он там и отключена.
    Ответ написан
  • Threejs, как избавится от "треугольных" искажений [решено]?

    AlexXYZ
    @AlexXYZ Автор вопроса
    O Keep Clear O
    Дело оказалось в камере. Было:
    camera = new THREE.PerspectiveCamera(45, width / height, 0.1, 100000);
    Стало:
    camera = new THREE.PerspectiveCamera(45, width / height, 10, 100000);
    Результат:
    5cd9bb54c8f73856692281.png
    Ответ написан
    Комментировать
  • Как перейти из инженера в программисты?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Этот вопрос задают себе и новички (какую тему выбрать для дипломного проекта) и специалисты из других областей, не связанных с программированием (например, периодически на хабре проскакивают статьи "Джун в 40 лет").

    Я немного скажу вам свой путь в этой сфере.
    1. С самого начала хотел быть программистом. Вот прям со школы, с 7-го класса. Раньше не получилось - персоналок ещё не было, поэтому начинал на терминалах. Но это не критично. Поэтому и в 30 лет, думаю, можно и не надо себе запрещать. Пластика мозга.
    2. Пробовал программировать что в голову взбредёт. Это, видимо, важный этап, когда учишься отделять мух от котлет - когда и где вообще имеет смысл применять программирование.
    3. Бесчисленное количество попыток заставить работать идею в виде программы. Иногда это не 1-2 попытки. 20, 30 и больше. Сутки, двое, неделю, чтобы заставить "это" работать. И это далеко не предел.
    4. Со временем учишься ставить себе задачу в более-менее ясном виде и на техническом языке, своего рода "техзадание", только внутреннее, когда вы самому себе по шагам расписываете решение (уверен, что этот этап вам хорошо знаком по вашей профессии).
    5. А вот теперь самое главное - работа программистом в "чистом виде" называется "кодировщик". И это вообще не интересное занятие. Даже низкоквалифицированное. Поэтому, самое интересно в программирование - личное общение с людьми других профессий. Вот представьте себе, что квалифицированный спец или даже ГИП рассказывает вам как что-то проектируется и строится! Да ни один препод в институте вам так интересно и с энтузиазмом не расскажет как идёт этот процесс. А вы слушаете, мотаете на ус и размышляете, что вы можете для этого человека сделать, чтобы автоматизировать его деятельность (п.2 и 4). Так сказать ищете своё место в этой работе. Фактически, имея одну профессию программиста можно познакомится с большим количеством разных профессий и поучаствовать в них. И на этом уровне недостатка в работе вроде как и не будет больше. Но тут надо решить для себя, что вы готовы к такой смене профессий, но к ней люди идут годами и таких людей не так уж много.

    Ну и самое неожиданное - вы себе не представляете, сколько нужных программ и утилит ещё не написано!

    Скажу вам пару секретов из опыта:

    1. Нет хорошего или плохого кода (типа "говнокод"). Если код работает и выполняет свою задачу - он хороший. Остальные идут лесом. Можно спросить коллег, чтобы они вам подсказали, как можно было бы решить задачу проще, но их советами можно игнорировать, т.к. они не живут в контексте вашей задачи и именно вы несёте ответственность, что в вашей программе окажется тот или иной кусок кода. Поэтому не вставляйте в программу код, который вы не понимаете.
    2. Как и в любой другой профессии вас будут учить только как делать правильно, но никто не будет вас учить как не надо делать (думаю, что и это вам должно быть хорошо знакомо по своей профессии). Тут только на своём опыте. И эти два понятия по времени прохождения очень сильно отличаются.
    3. Ведите журнал. Записывайте, что получилось, потом перечитывайте. Начните с простого, "написал программу Hello World на C#" и сделал это следующим образом - скрин запуска Visual Sudio, создание нового класса, указание места, куда вписал текст "Hello World". Потом через пару дней будете делать другую программу будете быстрее вспоминать как вы начинали первую программу. Лично я себе стал делать такие заметки лет 8 назад. И писать доки в своим программам. Очень помогает, когда выдёргивают из контекста на полгода, потом просят доработать.

    У меня тоже получилось несколько сумбурно, но как есть. )))

    P.S.
    программирование контроллеров для инженерных систем зданий
    - с моей точки зрения отличается от "обычного" программирования инструментами разработки и возможностями отладки и имитации тестовой среды. Поэтому с контроллерами - это лучше после некоторого опыта программирования. Хотя само программирование контроллеров может быть и проще чем обычное программирование под Windows/Linux.
    Ответ написан
    Комментировать
  • Как имитировать POST запрос?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Еще fiddler может:

    5cba10d328b6f821891480.png
    Ответ написан
    Комментировать