• Какой язык программирования удобен для создания контрольно/аварийных систем и систем автоматизации и для визуализации процесса (HMI)?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Посоветую всё-таки начать с декомпозиции задачи, т.к. сбор данных - одно, визуализация - другое. Не факт, что вам вообще сильно нужно программирование, т.к. если сможете загнать данные в какой-то формат (или БД) без программирования, то отобразить их сможете даже в Excel через источники внешних данных. Посоветую пока не углубляться в программирование, а постараться решить задачу малыми усилиями.
    На странице https://www.siemens-pro.ru/components/s7-300.htm достаточно много информации. Меня немного повеселила такая инфа в одном из документов (видать очень давно разрабатывают эти контроллеры, что в общем-то характеризует их весьма положительно):

    1cac292a9271443ea8bca4e809d00940.png

    Ну а если без шуток, если у вас есть доступ к контроллерам siemens, то вроде как не проблема снимать с них показания и складывать их в БД MSSQL (может даже бесплатный MySQL). Главное получить данные с контроллеров. Эксперименты с отображением можно отложить на потом.
    Ответ написан
    1 комментарий
  • Как войти на сайт через CURL с CSRF токеном?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если сайт построен не на js клиент-фреймворке, то делайте 2 хита:

    Шаг 1 - заходите на страницу, собираете csrf запрос, cookie
    Шаг 2 - отправляете данные своей авторизации
    Ответ написан
    6 комментариев
  • Как называется классификация вот такого: lazy code, managed code, messy code и тп...?

    Stalker_RED
    @Stalker_RED
    lazy - ленивый. (возможно вы имели в виду не lazy code а lazy evaluation?)
    messy - грязный, беспорядочный
    И только managed (управляемый) имеете какое-то особое значение: wiki: управляемый код
    Ответ написан
    Комментировать
  • Существуют ли такие курсы в принципе?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    А есть ли подобные методички\книги\курсы, в которых наглядно создаётся какое-то приложение, использующее максимально полный функционал технологии.
    Ну, это всё равно, что вешать картину на стену, используя все возможные инструменты в вашем ящике (хотя нужен лишь молоток).
    Нельзя поставить одну задачу сразу под весь потенциал технологии.
    Можно лишь показать HelloWorld! (quick start) и какие-либо неоднозначные моменты, использование которых отличается от большинства.

    Сейчас все из них используют в качестве практики используют маленькие и зачастую показательные примеры для одной стороны
    Но я с Вами согласен в том, что примеры (после обзора функционала и API) должны быть ЗАКОНЧЕННЫМИ ПРОДУКТАМИ: с момента идеи и до вывода в продакшн.
    Ответ написан
    2 комментария
  • Как навсегда отключить злоумышленника от моего компьютера?

    Несмотря на то, что не являюсь специалистом по информационой безопасности, на мой взгляд есть следующие факторы риска:
    1. низкая осведомлённость по теме информационой безопасности - полезно хотя бы периодически посещать сайты типа https://www.SecurityLab.ru
    2. настройки маршрутизатора (роутера) с паролем админа по умолчанию (admin/admin, admin/12345 и.т.д.)
    3. настройки маршрутизатора с возможностью удалённого доступа.
    4. настройки маршрутизатора со слабыми аутентикациями типа WEP, слабыми паролями и т.д.
    5. настройки маршрутизатора с открытыми портами на всё и вся, а также другие настройки сетей
    6. старый маршрутизатор с давно необновлённой прошивкой (firmware)
    7. нелицензионно установленная ОС, скачанная с интернета
    8. неустановленные или вовремя не установленные штатные обновления безопасности ОС
    9. любое ПО, установленное с сомнительных источников (в особенности игры)
    10. отсутствие средств защиты ОС: антивируса (хотя бы встроенного в ОС) и межсетевого экрана
    11. вовремя необновлённое ПО (дыры в Adobe Acrobat Reader, Adobe Flash, Java JRE и т.д.)
    Ответ написан
    Комментировать
  • Знание которые не устареют через 10-20 лет?

    @laxikodeje
    За те 30 лет, что я пишу компьютерные программы, операторы if и for не устарели. Появился foreach. На этом все.

    Основные принципы.
    Они не меняются.
    Те основные принципы что вы освоите - они будут актуальными очень и очень долго.

    Боятся нечего - вы что же думаете, через 10 лет и один день ВСЕ ваши коллеги переключатся на совсем другие технологии а вы останетесь не у дел???
    ;)
    Ответ написан
    Комментировать
  • Насколько вообще может быть легальна деятельность на Upwork?

    Zifix
    @Zifix
    Barbatum
    Не заморачивайтесь слишком сильно. Просто открывайте ИП, платите 6% с того что упало на расчетку, и на всякий случай откладывайте еще 6% на штрафы. Можете перейти на патент с нового года — вообще отлично. Бухгалтерия где-нибудь в Эльбе, счет в Авангарде.

    Но если прям боитесь штрафов, и хотите все сделать максимально правильно, идите в Модуль-банк или Точку, у них там есть бух. обслуживание и жесткий валютный контроль, возможно они подстелят достаточно соломы чтобы штрафов не было. А возможно и нет.
    Ответ написан
    6 комментариев
  • Создание робота-паука для сбора данных - где искать информацию?

    Antonchik
    @Antonchik
    Программирую на HTML
    Про пирсинг почитайте, и про библиотеки которыми удобно разбирать html
    Ответ написан
    1 комментарий
  • Можно ли создавать игры на пиратской версии движка?

    @McBernar
    Для себя можете что угодно.
    Для релиза нельзя — поймают, забанят, засудят.
    Ответ написан
    Комментировать
  • Можно ли создавать игры на пиратской версии движка?

    sim3x
    @sim3x
    Нет
    Ответ написан
    Комментировать
  • Обязан ли программист отдавать 100% рабочий продукт без косяков?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1.
    Допустим у вас заказали адаптивный лендинг, и под каким то браузером на каком то устройстве под определенным углом съезжает текст .
    Понятно что проверить под всеми устройствами что все отображается ок тяжело да и долго, отнимает много времени.
    Заранее составляется список браузеров/устройств для проверки корректности отображения, согласно дизайн-макету. Если списка нет - проверяется под 5-кой (IE, FF, Chrome, Opera, Safari) передовых/лидирующих браузеров для стационарных и мобильных систем.

    2.
    Или допустим заказали парсер сайта, вы проверили все ок, но в очень редких случаях на сайте встречается какая то нестандартная верстка которую во время разработки вы не заметили, и данные чуть расходятся.
    Это "косяк" исполнителя, 100%. Он должен исправлять/дорабатывать бесплатно.

    3.
    Это всё 100% косяки программиста, и их нужно будет бесплатно исправлять?
    Или же это естественная часть разработки, и последующие правки делать только за деньги?
    Я понимаю что есть договора, но не учтешь все тонкости в них
    Всё, что прописано в договоре - должно быть выполнено. Ожидаемое качество работы - всегда тоже можно полностью прописать. Если что-то отсутствует в требованиях - исполнитель вправе это не делать, если это не влечёт за собой нарушение договора с его стороны по любому из пунктов.
    PS: А вообще, лучше с его стороны такого не делать, т.к. это - его репутация.
    Ответ написан
    2 комментария
  • Как добавить кастомное свойство существующей структуре?

    А почему не хотите просто создать вот такую структуру?
    struct User {
        Name string
        LastName string
        Connection net.Conn
    }
    Ответ написан
    3 комментария
  • Программирование или что-нибудь другое?

    @res2001
    Developer, ex-admin
    Только профессией не требующей специальной квалификации можно заниматься не напрягаясь, освоив один раз основное движение и до пенсии его повторяя. Так что любая специальность требует в дальнейшем развития. Где-то это проще, где-то сложнее.
    Программирование не самая простая штука, но и не сильно сложная - вы же уже делаете сайты, так что практически программист. Есть вещи и сложные, но туда можно не соваться, если нет желания.
    В основном программирование - рутина. Но и везде так же - жизнь это не вечный праздник - праздники по расписанию (посмотрите в календарь), а в остальные дни - рутина, привыкайте. И да, если каждый день - праздник, то и праздник становиться рутиной :-)
    Большинство задач в программировании довольно типовые, а потому рутинные, но если захотеть можно найти и интересные задачи, но там, обычно, есть некоторые сложности, поэтому придется напрячься. Кроме того себя можно развлекать и самому, например осваивать новые подходы и технологии в программировании, а можно просто бухать.
    Если получается программировать и нет отвращения - занимайтесь этим. Если есть что-то что получается лучше или интереснее, то лучше переключиться туда.
    Но попытайтесь подумать на шаг вперед - сможет ли ваша профессия обеспечить вам нормальный уровень жизни.
    Кстати, если что, уровень жизни то же можно подвигать в разные стороны :)
    Ваша жизнь, выбирайте.

    PS: Ну и C# - это не совсем "для телефонов". Когда вы последний раз видели смарт под виндой? Они конечно есть в природе, но это экзотика, имхо. Для телефонов больше Java подходит.
    Ответ написан
    3 комментария
  • Как найти наиболее вероятные пути прохождения ориентированного графа?

    @Mercury13
    Программист на «си с крестами» и не только
    Замкнуть выход на вход. Каждой вершине придумать вероятности (да хоть 1/n).
    Получаем цепь Маркова, остаётся найти её эргодическое распределение.
    Надо только придумать разглючку на случай, если ЦМ будет периодической — но, возможно, стандартные методы регуляризации СЛАУ с этим справятся.
    Ответ написан
    Комментировать
  • Как сгенерировать случнайную числовую последовательность с неравномерным распределением?

    longclaps
    @longclaps
    Псевдокод
    нужный_процент = 0.33 // например
    for (i = 0; i < n ; i++) {
       x = random_от_нуля_до_единицы();
       if (x > нужный_процент) x = 0;
       else x /= нужный_процент; // ненулевые равномерно распределены на [0..1]
    }
    Ответ написан
    1 комментарий
  • Extjs. За что платить 9000$?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    За поддержку и за кучу готовых контролов. Стоят ли эти контролы девять килобаксов? Стоит ли эта поддержка этих денег? Возможно, для кого-то стоит.
    Ответ написан
    Комментировать
  • Как сделать древовидные комментарии с бесконечной вложенностью на JavaScript?

    бесконечной вложенностью? какая логика?

    Рекурсия.

    const comments = [
    	{
    		comment: 'Comment',
        childs: [
        	{
          	comment: 'Child comment',
            childs: [
            	
            ]
          }
        ]
    	}
    ]


    С чего начать создание древовидных комментариев

    С более конкретной постановки задачи.

    Тык
    Ответ написан
    6 комментариев
  • Как должен выглядеть процесс работы с Docker?

    vyachin
    @vyachin
    Ищу работу
    как я понял по ответам тут собрались адепты докера. В этой церкви последователь должен появиться атеист. Только сегодня был большой срач насчет какие проблемы можно получить при переходе на докер https://habrahabr.ru/post/332450/ очень советую почитать.

    Теперь к вашему вопросу. Докер НЕЛЬЗЯ использовать для персистентный образов. Т.к. если его правильно готовить никакой уверенности нет на какой ноде будет запускаться ваш контейнер физический. Т.е. все что пишет в память или на диск нельзя оборачивать в докер контейнер. Потом есть системы оркестрации, которые ваш контейнер могут с одной ноды на другую перебросить, что вы думаете будет с памятью контейнера - правильно, она очистится.

    Тут мне могут возразить что у нас все работает на "отлично" - это вы господа с проблемами не сталкивались. Читаем статью по ссылке выше и начинаем готовиться.

    Давайте разберем ваш стек и посмотрим что можно упаковать в докер контейнер.
    - NodeJS - не знаю как это у вас работает, если нет состояния - то можно
    - MongoDB - база, пишет в файлы, однозначно нельзя
    - ElasticSearch - этого зверя точно нельзя он и в память и на диск пишет
    - Redis - пишет в память, точно нельзя

    И что в итоге вы хотите обернуть в контейнер? И зачем вам докер? Чтоб mongodb была запущена от имени root? При этом мы помним о проблемах с безопасностью самой mongodb. Или elasticsearch завернуть в докер, он физический сервер способен утилизировать на 100% по памяти, пропускной способности дисковой подсистемы и 100% процессорного времени, а вы ему хотите еще один уровень абстракции в лице докера? ))

    Одно дело на компьютере разработчика использовать docker-composer и совсем другое дело в продакшене.
    Ответ написан
    8 комментариев
  • Как эффективно развивать себя как разработчика?

    aRegius
    @aRegius
    Python Enthusiast
    Вам будет гораздо легче решать большую часть стоящих перед вами задач (а другим гораздо легче вам в этом помогать), как только вы перестанете описывать их общими фразами (типа "максимально эффективно", "полноценный дев", "хорошим специалистом" и т.п.).

    Будьте конкретны:
    - "Моя цель на ближайшие 6 месяцев - вырасти до позиции XXX в текущей компании". И далее:
    - "Что мне нужно сделать для того, чтобы в течение 6 месяцев в моей компании вырасти до XXX ?"

    С этим уже можно обратиться к людям, обладающим достаточной компетенцией в помощи вам с ответом на этот вопрос: "Для того, чтобы в нашей компании стать XXX, нужно знать ЭТО и уметь ТО".

    - "Что мне нужно для того, чтобы узнать ЭТО и научиться делать ТО ?". Cоставляете план действий (разбиваете необходимые шаги на месяцы, недели, дни) с дежурными сроками (для проверки запланированного и достигнутого, внесения в связи с этим необходимых корректировок и т.п.) - и вперед.

    Но все начинается с конкретики:
    - "...хочется максимально эффективно развивать себя...". Что конкретно значит (для вас) "максимально эффективно"? По каким критериям вы будете определять, эффективно вы развиваетесь или нет? Количество прочитанных книг? Сложность решаемых задач? Что конкретно?
    - "...чтобы стать не только полноценным девом...". Что конкретно значит (для вас) "полноценный дев"? Как вы поймете, что стали "полноценным девом"? Вы добьетесь определенной должности? Будете зарабатывать определенную сумму денег? Что конкретно?

    Успехов.
    Ответ написан
    Комментировать
  • Правильно ли объясняется в тексте почему в 1 кб 1024 байт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Нет, неправильно.
    То, что было в перфокартах для контроля четности - это оставьте перфокартам, контроль четности и кодирование данных никак не связаны с обозначением кило и 1024. И уж тем более 1025 вообще далеко от ИТ.

    Все проще.
    Берем 1 бит, можем оперировать двумя значениями 0 и 1
    2 бита - 4 значения, 0-3
    3 бита - 8, 0-7
    4 бита - 16, 0-15
    5 бит - 32, 0-31
    6 бит - 64, 0-63
    7 бит - 128, 0-127
    8 бит - 256, 0-255
    9 бит - 512, 0-511
    10 бит - 1024, 0-1023

    Нет такого набора бит, чтобы мы могли оперировать ровно 1000 значений. 9 бит мало, а 10 бит позволяют оперировать уже 1024 значениями. Ограничиваьт себя искусственно нет смысла.
    Поэтому на железном уровне в качестве адресации используются степени двойки, чтобы максимально эффективно использовать все используемые биты и память.
    Следовательно ближайшее к 1000 "компьютерное" число это 1024, отсюда в килобайте 1024 байт.

    Для бизнеса это оказалось не очень удобно. И вообще много технических моментов обычным пользователям непонятно почему и как, например с теми же жесткими дисками, когда объем неотформатированного диска и отформатированного может отличаться на заметные процентов 10-15.
    Кроме того, в системе Си, приставки кило, мега, и так далее всегда означали 1000 чего-то. Поэтому с исторически сложившимся 1024 в ИТ отрасли сложилась некомфортная ситуация. Для исправления и появились новые названия, кибибайты, мегибайты, а килобайты и мегабайты по общепринятой системе Си теперь кратны 1000. Но это важно для стандартизации, маркетинга, а не для программирования.

    В программировании ничего не изменилось, и как бы их не называли кибибайт или килобайт, при программировании оперируют степенями двойки, а не десятки.
    Ответ написан
    Комментировать