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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Документация по самому проекту и его архитектуре в частности. Заказчик ставит задачу, на основе этой задачи разрабатывается ТЗ, а на основе ТЗ - частное ТЗ со всеми деталями проекта, в том числе и архитектурой. Вот вам несколько примеров:
    Схема алгоритма
    CAS, Central Authentication Service
    5bd748db6d572869658821.png
    Бизнес-логика приложения
    20b039b972.png
    Схема логики приложения
    c0d48719fb.png
    Вот ещё один отличный пример: описание структуры JSON - https://www.json.org/json-ru.html
    Ответ написан
    4 комментария
  • Ответьте на вопрос по информатике?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Тут все ответы одновременно верные, не верные и противоречащие самой задаче.
    1. "Ничего не изменилось" противоречит концепции самой задачи: по условиям задачи уже что-то изменилось. Ничего не изменилось в дизайне странице. Изменился объём страницы и увеличилось потребление трафика, а так же объём вычислительных ресурсов необходимых для обработки данной страницы.
    2. Расходы снизились, т.к. после пересборки и деплоя проекта запустился механизм очистки кэша предыдущей версии проекта и которая занимала больший объём, чем текущая. Расходы увеличились, потому что объём проекта увеличился.
    3. Скорость - аналогично: проект пересобрался чуток по-другому из-за других хэшей в названиях файлов, которые архиватор пережал чуть более эффективно. Или сжатие страниц не использовалась и скорость отображения страниц замедлилась.
    4. Износ НЖМД относится к пункту 2, т.к. это часть расходов на обслуживание сервера.
    5. Электропитание - то же самое: больше байт для обработки - больше затраты на электричество, архиватор сжал эффективнее - меньше байт, меньше затраты.
    6. Так же и с уязвимостью: дополнительные 43 байта привели к возможности использовать атаку при переполнении буфера в такой странице памяти (ну, условно, конечно). Или наоборот избавили.
    7. По любому пункту выше (и даже ниже) можно получить как взыскание, так и премию.
    8. То же самое с выбросами: пользователи получили замедление страницы и со злости очень активно и экспрессивно высказались в адрес владельцев и разработчиков сайта, что привело к более активному дыханию и дополнительным выбросам. Ну или наоборот - пользователи уснули в ожидании загрузки страницы и меньше надышали.

    Даже формулировка вопроса включает в себя вообще все ответы: к чему могло привести? Это событие могло привести вообще абсолютно к чему угодно - хоть к коллапсу и взрыву сверхновой звезды на другом конце вселенной через миллиард или триллион лет. Так что если отвечать именно на этот вопрос, то да, все ответы верные.
    Ответ написан
    9 комментариев
  • Какой лучше выбрать мини пк под сервер?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Если бюджетно, то лучший вариант будет самостоятельно собрать на базе MiniITX платы с каким-нибудь селероном, если завалялось пара плашек старой памяти - то под эту память и брать. Желательно с M2 слотом. Плюс M2 ССД и пара хардов по вашему бюджету. Ну и любой корпус с блоком питания в 60-80 ватт. А вот под задачи рендеринга бюджетно не получится - поэтому без видюхи. Если хочется более мощный проц - то берите плату на АМ5 под райзен и соответствующий проц - с TDP до 50-65 ватт и небольшой кулер к нему. Вот корпус надо будет чуть большего размера. Если есть руки - то можно и самому скрутить из обычного люминия/оргстекла и пачки болтов с гайками.
    Если хочется больше сетевых возможностей - ищите плату с двумя или четырьмя эзернет портами или берите любую серверную интелловскую PCI-E карту по вашему бюджету (можно даже б/у).
    Ответ написан
    Комментировать
  • Говорят,что не надо знать матем. при изучении программирования, но почему все задачи математические?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Для программирования всё же надо знать математику как минимум на хорошем уровне средней школы. Лучше - старшей на отлично. Математика на уровне высшей школы в основном нужна при работе с графикой, физикой и научными вычислениями. Но, именно, что "в основном". Иногда даже в обычных приложения встречаются задачи, где надо более глубокое понимание и знание математики.
    Математика - это фундамент всех современных вычислительных систем и языков программирования. Без знания математики невозможно разрабатывать приложения сложнее, чем скрипт на пару сотен строчек кода. А ещё и логику знать.
    Ответ написан
    Комментировать
  • Что можно реализовать для обучения ИБ на сайте?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Есть дипломный проект

    нужно что-то добавить

    Открываете гугл, вбиваете вашу тему, находите что-то более-менее похожее и просто копируете нужное вам. Чего-то большего от диплома не требуется.
    Ответ написан
  • Почему при полностью идентичном содержимом файлов (*.js, *.php, *.css) они могут иметь разный вес/размер?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Как именно вы проверяли вес файлов и чем и как сравнивали их содержимое? Есть два варианта: возможно вы спутали размер файла и место занимаемое на диске, показываемые в свойствах файла - это разные вещи. На диске файл занимает больше место, т.к. под файл выделяется место кластерами, а размер кластера фиксирован для раздела и может быть разным, и соответственно в разных ОС и в разных ФС он может быть разным. Второй вариант - разные переводы строк в разных ОС. Гит умеет подменять и в разных ОС размер и хэш файлов будет отличаться из-за разных принятых переводов строк в ОС или настроек гита.
    Ответ написан
    Комментировать
  • Из-за чего программа C++ на amd работает быстрее чем на intel?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Из-за того, что процессоры от разных производителей обладают разной производительностью, внезапно, из-за отличий в архитектуре, командах, транзисторах, частотах, кэшах и во всём остальном. Сюрприз! А еще есть такие факторы как: кэши, оперативная память, дисковая подсистема, запущенные приложения, сервисы, разные ОС, разные чипсеты, разные биосы, да даже вентилятор на процессоре может влиять на производительность, из-за которого турбобуст какой-нибудь включится или выключится, и еще целый вагон других факторов.
    Ответ написан
    5 комментариев
  • Как декомпозировать задачи, с которыми ты впервые сталкиваешься?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Искать, читать, анализировать, исследовать, делать выводы. Какие тут еще могут быть варианты-то? Ну, кроме варианта напрячь кого-то, а самому пойти пить чай/кофе с пончиками. Логика плюс научный метод в помощь.
    В целом же, касательно задачи именно декомпозиции есть следующие основные подходы: сверху вниз, снизу вверх и совмещённый - часть делается сверху, часть снизу. Берёте листочек бумаги и рисуете на нём все элементы вашей задачи и вообще всё, что по ней известно. Ваша задача - это ведь не просто одно слово какое-то или фраза какая-то, а что-то типа "если на входе А - то на выходе Б, если В - то Г". Далее рисуете связи между ними - что, к чему, куда и как. Вот вам и готов первый уровень декомпозиции. Если что-то неизвестно или висит в воздухе - ничего страшного, значит надо просто изучить вопрос глубже, собрать дополнительные данные и прочее. И далее повторяете в таком же духе. Берёте один элемент и делите его на составляющие таким же способом.
    Еще один тоже достаточно неплохой подход: слева рисуете исходные данные - то, что у вас есть, а справа результат - то, что должно получиться в итоге. Вот где-то между ними и есть решение. Рисуем стрелочку слева направо и думаем - что это за стрелочка? Как она работает? Что она делает такого, чтобы получился нужный результат? В центре рисуем известные части/элементы сей головоломки и потихоньку создаём между ними связи в процессе размышлений и исследований.
    Реальные примеры декомпозиции:

    Киоск для онлайн-магазина
    Ответ написан
    8 комментариев
  • Какая самая простая для программирования среда на Windows XP?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Ну, самый простой ЯП - это Форт. Проще уже некуда: просто слова разделённые пробелами. Известный мне рекорд минимальной реализации: 254 занятых байта из 256 байт оперативной памяти в каком-то МК и целых два свободных байта для использования. И SciTE-Ru в качестве IDE - он очень гибкий, плагины, множество поддерживаемых ЯП, огромная куча настроек, автоматизация и прочее. В общем, почти как VSCode - только шустрый нативный интерфейс без браузерных движков и жаваскрипта.
    А если что-то более сложное - то C# и .Net 4.7.
    Ответ написан
    Комментировать
  • Как сделать такое приложение для пожарных, суть- пожарные водоисточники?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Уже давно существует готовый сервис для добавления объектов на существующую карту: wikimapia.org - регистрируетесь, открываете карту вашего города и спокойно добавляете туда гидранты, пожарные водоёмы и все что захотите в категорию "Объекты пожарной охраны", например. После добавления объектов открываете вашу категорию и все нужные объекты будут обозначены на карте. И никакого программирования вам здесь не нужно. Причем там используются 4 разных источников карт: гугл, яндекс, yahoo, OSM.
    Наша альтернатива: 2Гис.
    UPD: пример карты гидрантов на гугл-карте, используемой в реальной работе: https://youtu.be/JzgiEn3uyIs?t=65
    Ответ написан
  • Вычитаю одно округленное число из другого, в ответе выдается число с кучей знаков после запятой, как это исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Добро пожаловать в реальный мир вычислений чисел с плавающей запятой с погрешностью! Если вам нужны точные вычисления - используйте тип decimal или аналогичный для вашего ЯП.
    https://habr.com/ru/articles/266023/
    https://learn.microsoft.com/ru-ru/office/troublesh...
    https://0.30000000000000004.com/
    Ответ написан
    2 комментария
  • Задание на учебную практику у программистов колледжа?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Обычный десктопный или веб калькулятор: от простой считалки до математического, инженерного или для программистов, как с простыми фичами, так и с более сложными: поддержка нескольких языков, тем и стилей, кроссплатформенности (win, mac, *nix, ios, android), истории вычислений, поддержка экзотических форм записи - стек с обратной польской записью, синхронизация и объединение между машинами (управление на телефоне/планшете/клавиатуре, экран - на мониторе ПК/планшете/другом телефоне), построение графиков 2D/3D и прочее. Разные платформы - dotNet, C++, Python, Web и т.п. Кому на что фантазии хватит - хоть до экселя встроенного. Главное - чтобы студентам было интересно. Можно даже на базе такого проекта диплом подготовить. Или, как вариант, взять все фичи, но разделить их на всех: сделать общий для всех проект - как для команды, что тоже будет очень полезным опытом. Можно даже взять реальный таск менеджер, в него завести все задачи проекта и провести всех студентов через реальный опыт работы в команде над общим проектом.
    Ответ написан
    2 комментария
  • Как практиковаться в программировании?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Решать реальные задачи. Написание кода - это всего лишь небольшая часть в разработке ПО. Язык программирования - это инструмент. Рекомендую присмотреться к готовым схемам изучения ЯП. Например: https://roadmap.sh/ А так же пробовать не только решать разные задачи, но и разные ЯП и разными способами. Так же имеет смысл присмотреться к играм с мощными редакторами и системами модификации: создать свой квест/карту/игру очень даже неплохо мотивирует делать что-то большее. Ну и, конечно же, учиться, учиться и учиться. Причем еще и учиться учиться. И обязательно учить английский и математику. IT меняется и развивается очень быстро и без навыков и способностей к самостоятельному обучению тут очень быстро можно оказаться за бортом и уйти на дно как топор.
    Ответ написан
    Комментировать
  • Как игра понимает, что используется не физическая клавиатура?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проблема с эмуляцией ввода в играх в том, что в винде существует несколько разных АПИ и методов получения пользовательского ввода - возраст ОС, легаси, обратная совместимость и все такое прочее. И каждый разработчик использует то, что нравится/нашел/встроенное в движок/попалось под руку, а некоторые специально усложняют возможности программной эмуляции для блокировки ботов. Поэтому надо пробовать несколько вариантов, а если не работает - то остается либо свой драйвер в ядре ОС либо эмуляция с внешнего устройства.
    Ответ написан
    Комментировать
  • Как сделать из локального чата публичный?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Вам следует описать конкретно, что именно у вас не получается. В целом ваша задача состоит из следующих подзадач:
    1. Арендовать сервер
    2. Арендовать домен
    3. Подключить сервер к домену
    4. Сделать дополнительные настройки на сервере в соответствии с требованиями вашего приложения
    5. Разместить приложение на сервере
    6. Запустить приложение
    Ответ написан
    8 комментариев
  • Какая есть бесплатная библиотека на C# для воспроизведения и записи аудио на Linux+Windows?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Дык VLC же есть, прям первая ссылка в гугле на биндинг: https://github.com/videolan/libvlcsharp
    Да даже если не можете найти конкретно либу или вот VLC биндинг завести, то что мешает тупо в командной строке запускать любой бесплатный плеер для воспроизведения/записи?
    Ответ написан
  • Как проверить запросы, которые пришли в Postman?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Postman manual -> Designing and developing your API -> Mocking an API -> Setting up mock servers:
    https://learning.postman.com/docs/designing-and-de...
    Ответ написан
    Комментировать
  • Почему код не правильно работает?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Просто отформатируйте код в нормальный вид - это не просто так придумали, а для удобства. Кроме того, вам IDE даже точное место ошибки показывает - выделяет красным и подчеркивает. Что именно тут непонятного?
    Ответ написан
  • Как реализовать эту блок схему в код?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Для реализации алгоритма потребуется использовать константы, переменные, операторы ветвления и цикл. Или https://freelance.habr.com/
    Ответ написан
    Комментировать
  • Как погрузиться в начала/фундамент программирования?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Как построенн язык программирования, например: Как понять, как устроенны ключевые слова; Препроцессорные процессы: define, include и др.; - Я правильно понимаю, нужно опустится на ещё более низкий уровень до ассемблера? - Ассемлер является той фундаментальной сущностью в программировании (не считая машинный код, который и так человек не должен понимать)?

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

    Возможно достичь понимания работы программ не физически, а программно. (Я не знаю как это точно сказать.) То есть не как в комп’ютере выполняется программа, а как работает отдельная сущность - программа? - И вообще это возможно, либо я просто многое чего хочу от жизни?

    Любая программа - это просто алгоритм. Так что смотрим что делает программа и спокойно разбираем её алгоритм. А если есть исходный код - то вообще все полностью можно разобрать.

    Ну и вообщем, какие-то фундаментальные знания - на чём базуется/построенна програмированние и IT, тоже не помешало. Например рекомендуют SICP почитать, правильно ли я тогда пойду или это не то. Если да, можете ещё набросать ваши варианты? Буду признателен.

    Фундамент - бинарная логика. Над ней - процессорные инструкции или машинный код. Далее - ассемблер, минимально простая абстракция для составления инструкций для процессора. Следующий этаж - язык программирования высокого уровня, который в своем составе имеет какой-то типовой набор абстракций (переменные, функции, операции с памятью, блоки и разные типы данных), функций и алгоритмов для более человечного описания алгоритмов и для работы с данными. ЯП бывают разные и решают проблему в какой-то определенной области или для какой-то цели. Также существуют предметно/проблемно-ориентированные ЯП (DSL - domain-specific language) - более узкие решения. Дальше - стандартные и дополнительные библиотеки для упрощения работы с определенными данными, алгоритмами и прочее. Выше лежат фреймворки реализующие какой-то определенный каркас/функционал для реализации программ/алгоритмов для решения задач в рамках какой-то специфической области.
    Ответ написан
    4 комментария