• Почему в программировании столько математики?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Копирование файлика на уровне ОС - элементарная математика (байты перенести из одного места в другое), все числа целые, адресация простейшая.

    Программирование контроллера, который будет копировать данные - высшая математика, ибо нужен контроль целостности данных (алгоритмы хеширования или банальных контрольных сумм), алгоритмы коррекции ошибок, шифрование.

    Программирование передачи данных по сети - плюс ко всему прочему шифрование, протоколы передачи данных, асинхронная передача.

    Программирование в 2д или 3д - геометрия разного порядка. Вычисление стандартных вещей - можно ли пройти из точки А в точку Б и можно ли увидеть из точки А точку Б, а также как это отрисовать с минимальными ресурсами - ужас.

    Ну и далее. Простое приложение для какого-нить IOS которое выводит "привет вася" - это одно. А Shazam, который анализирует акустическую запись, разбирает ее на части, выполняет сравнение с учетом искажений - тут вам нужна не только хорошая математика, но и еще неплохо в этих сигналах разбираться, понимать как они хранятся в компе (как преобразуется аналог в цифру, с какими потерями, и что с ними делать) и так далее.

    В общем алгоритмы, алгоритмы, алгоритмы.
    Как говорил Ломоносов, математику следует учить только за то, что она приводит ум в порядок.
    Ответ написан
    2 комментария
  • Оправдано ли будет использование NodeJS в качестве бэкенда крупного приложения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Paypal и Netflix используют Node.js. У обоих нагрузки очень даже приличные.
    В плане масштабируемости думайте об архитектуре. Можно и на perl написать приложение, которое за секунду будет обслуживать миллион клиентов.
    Node.js будет прекрасно работать в качестве движка для типичного веб-приложения вроде магазина, чата или CRM. Если у вас очень много компонентов, например тысячи, логичнее приложение разбить на модули и сделать вместо одного приложения несколько, которые можно запускать по-отдельности (здесь уместно упоминание микросервисной архитектуры). Разумеется запросы нужно распределять с помощью балансировщика.
    Есть еще такая вот штука https://serverless.com/ - ее можно масштабировать практически до бесконечности. Были бы деньги.
    Node.js будет плохо работать в области процессинга данных, например генерация картинок, потоковая обработка видео, нейронные сети и т.д. Здесь лидеры C, C++, Go, Rust, Java.
    Можно даже создать гибридное приложение - большую часть выполнить на Node.js, а критичную по производительности на другом языке. Например генерация миллиона прайсов в сутки в старый xls или векторный pdf, упаковка в архив и рассылка - не самая лучшая идея для Node..JS. То же C++ здесь будет вне конкуренции.
    Ответ написан
    19 комментариев
  • Как правильно разобрать строку как массив php?

    @FreeDobby
    Свободный Добби
    Ответ написан
    Комментировать
  • Vue.js + C# Как начать?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Если в общем, то ваши знания почти нулевые (база старого JS и основы шарпа никуда не годятся).

    Во-первых, писать HTTP сервер на шарпе это, имхо, убийство. Но если очень нужно - REST и вперед.
    Во-вторых, для использования фреймворка сначала нужно прорыть документацию, екземплы сложных проектов (вместе с беком), выучить ES6 полностью и только тогда можно что-то начинать.
    Ответ написан
    4 комментария
  • Как собственнику удержать клиентов при увольнении РОПа?

    Andrey_Pletenev
    @Andrey_Pletenev
    Pletenev.com
    Основной комплекс мер по защите от увода клиентской базы нужно внедрять заранее.
    То, что можно сделать сейчас в вашей ситуации:
    1. Расставаться “по хорошему” и прямо оговорить непереманивание клиентов.
    2. РОП передает своему преемнику или вам всю информацию по клиентам и сделкам, которые находятся сейчас в работе: в каком состоянии работа по каждому клиенту, какие есть договоренности, обязательства, документы и т.п. Можно сделать такую передачу письменной. В идеале вся эта информация должна вестись в CRM.
    3. C адреса РОП всем клиентам рассылается письмо, или он звонит им в присутствии преемника. Сообщается что с такого-то числа все дела будет вести новый человек (его контакты). Преемник должен как можно быстрее связаться со всеми переданными клиентами.
    4. В случае, если риск увода базы высок, после решении об увольнении в ходе 2-недельного срока, пока РОП еще работает, допускать его к корпоративному компьютеру только в присутствии преемника. Обычно именно в этот период и крадут данные.
    5. Если все же уволившийся РОП попытается уводить клиентов и других сотрудников, можно письменно изложить все факты и разослать клиентам и конкурентам, в т.ч. в компанию, куда ушел сотрудник. Так же можно опубликовать эту историю в интернет в отраслевых блогах или форумах. Пример подобной статьи, написанной моим знакомым, директором IT компании. В результате, потери в клиентах будут минимальны, нечестный сотрудник узнает, что означает деловая репутация, оставшиеся сотрудники десять раз подумают, прежде чем последовать его примеру.
    Ответ написан
    Комментировать
  • Простой вопрос по Docker-у?

    @MadridianFox
    Web-программист, многостаночник
    Сам по себе Docker работает под Linux (есть какие-то мутки с запуском на нём вёнд, но я туда не лезу, религия не позволяет).
    Под Windows доккер запускается в виртуалке. Раньше для этого использовался Docker Toolbox, который работает с Virtualbox, ну и с другими гипервизорами, если настроите. Сейчас это считается legacy, хоть его и можно скачать и всё работает.
    Docker for Windows - актуальный на данный момент способ запуска контейнеров, работает только в Windows 10 Pro. И не просто так он работает только там, ведь ему нужен HyperV, который, ой как неожиданно - гипервизор, в котором запускается такой же Linux как и в Docker Toolbox.

    Я пользуюсь Docker Toolbox. Работает нормально. Один только нюанс - проброс папок. Хотите делать volume который подтягиваться с винды - убедитесь что папка винды расшарена в виртуалку, и монтируя volume в контейнер указывайте путь до папки в виртуалке. Естественно, такой двойной проброс влияет на производительность, но мы же не прод тут хостить собрались, для редактирования кода норм.

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

    neuotq
    @neuotq
    Прокрастинация
    Если регистрация с email адресом, то по возможности вытаскивать email из соц сетей и автоматически привязывать у пользователя эту соц сеть. Если соц сеть не дает email, то при первом входе насильно требовать завершения регистрации через указания email, далее проверяется есть ли этот пользователь уже в базе - тогда говорим нужно авторизоваться и после логина привязываем соц сеть, если такого email нет, то регистрируем нового пользователя с записью этого email в качестве основного + привязка соц сети + пароль(уже по желанию).
    Ответ написан
    2 комментария
  • Как сделать множественную замену в самой БД MySQL?

    qonand
    @qonand
    Software Engineer
    UPDATE `tablename` SET `vtc` = REPLACE(`vtc`, ' ', '')
    Ответ написан
    Комментировать
  • Где и каким образом хранить данные?

    eastywest
    @eastywest
    Backend developer
    ClickHouse создан как раз для таких задач.
    Ответ написан
    3 комментария
  • Какую из CMS выбрать: NetCat, UMI, Shop-script, CS-Cart, HostCMS, Simpla?

    @Eugeny1987
    Работаю с HostCMS
    HostCMS
    Ответ написан
    Комментировать
  • Правильно ли будет, если поставить GitLab на сервере разработки?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    1. Правильно ли будет, если на этот сервер разработки я поставлю GitLab?
    2. Насколько помню, центральный git-репозиторий обычно хранят на отдельной машине (ну или на github.com).
    Вы ни когда не задумывались, с чем это связано? :)

    На самом деле, GitLab, не очень "спокойно" работает, если его проксируют, возникает целая череда "танцев с бубнами", что бы он нормально работал. Это первый момент.

    Второй момент, напрямую связан с первым - GitLab любит, что бы сервер был целиком в его распоряжении. Если не уходить далеко в подробности, можно поставить GitLab на какую-то виртуальную машину (например, LXC/LXD), а сервер разработки - на вторую виртуальную машину, и всё это будет работать в рамках одного сервера. В этом случае, кол-во "потенциальных проблем" сводится к нулю, но, крайне желательно иметь 2 разных IP, что бы избежать проксирования (и каждой машине выделить свой IP). В ином случае, мы опять упремся в HTTP-прокси со всеми вытекающими...

    Ещё один важный - GitLab очень любит ресурсы сервера и обычно требует не менее 1-2Гб оперативки... Которые, разумеется будут "откушены" от сервера и не смогут использоваться другими приложениями. А так же, на сервере будет "паразитная" нагрузка создаваемая самим GitLab'ом и когда кто-то решит выяснить, "почему всё тормозит" - сделать это будет не так просто, как хотелось бы, т.к. на сервере, кроме вашего приложения будет работать GitLab...

    Отвечая непосредственно на Ваш вопрос - "можно ли так сделать?" - можно. Но не стоит.
    Ответ написан
    Комментировать
  • Правильно ли будет, если поставить GitLab на сервере разработки?

    @MadridianFox
    Web-программист, многостаночник
    Центральный репозиторий (тот в котороый пушат несколько разработчиков) должен быть bare - т.е. без файлов.
    Например GitLab как раз хранит bare репозитории.

    Если /var/www/project это хост только чтобы показывать сайт (не разрабатывать прямо тут), то туда надо клонировать репозиторий из центрального. Когда разрабы пушат в центральный - руками или автоматически делаете pull в /var/www/project.

    Где ставить гитлаб - вопрос наличия и мощности ваших машин. У меня в последнем проекте машин было мало и на dev-машине работали и гитлаб и хосты разработчиков, но в docker-контейнерах, т.е. они никак не были связаны.

    Если же /var/www/project это хост с которым работают все разрабы сразу (прямо редактируют код), то срочно заваривайте чай - придётся переделывать. Лучше каждому разрабу выделить свой хост где он будет редактировать файлы своей копии сайта.
    Ответ написан
    7 комментариев
  • Как успокоить атакующую армию ботов, кликающую на рекламу на моем сайте?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    А что мешает обратиться в правоохранительные органы? Я так понимаю у Вас все доказательства преследования с его стороны и угрозы. Просто посадите и все.
    Ответ написан
    7 комментариев
  • Как правильно установить SSL сертификат от Comondo на Nginx?

    kotomyava
    @kotomyava
    Системный администратор
    nginx -t или лог ошибок, даст вполне конкретный ответ на этот вопрос...
    Ответ написан
    2 комментария
  • Как такой код преобразовать в json?

    json_encode()
    Ответ написан
    Комментировать
  • Как сделать в yii2, чтобы в чпу были символьные коды разделов элементов?

    slo_nik
    @slo_nik Куратор тега Yii
    Доброе утро.
    Зачем Вы плодите одинаковые вопросы? Смысл какой?
    Я Вам уже ответил, что использовать.
    Изучайте тему.
    https://habrahabr.ru/post/208328/
    yiiframework.ru/forum/viewtopic.php?f=19&t=19445&s...
    yiico.ru/blog/487-yii2-slug-behavior-dlya-avtogene...
    Остальное через google поиск.
    Ответ написан
    2 комментария
  • Как сделать в yii2, чтобы в чпу были символьные коды разделов элементов?

    @Brain_code
    Все можна, почитайте про правила URL manager
    Ответ написан
    Комментировать
  • Замена фотошопа верстальщику?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Самая удобная тема - https://zeplin.io/ Это просто прорыв.
    Но это не значит, что не нужно уметь пользоваться фотошопом.
    Ответ написан
    15 комментариев