Задать вопрос
  • Как правильно выделить память для двумерного массива большого размера?

    Правильно будет использовать std::vector, например так
    std::vector<int> v(N*M);
    Но стоит учитывать, что для большого числа данных памяти может не хватить.
    Ответ написан
    5 комментариев
  • Требования к самописной CRM?

    Jeer
    @Jeer
    уверенный пользователь
    Аж жуть берет от таких заданий ) Покупка готового инструмента обычно дешевле, чем разработка с нуля. Особенно если разработка осуществляется одним человеком. Особенно если опыта мало. Особенно, если на поддержке будет тот же человек, что и на разработке ) безумие :) проект полетит в помойку, но у вас будет строчка в резюме по созданию проекта, можете обкатывать любые технологии за счет глупого работодателя.

    По делу без брюзжания:
    Писать под винду моветон - лицензии дорогие
    Вин формс зачем? - делайте веб апи с фронтом на вью/реакте/ангуляре. Нужна кроссплатформенность, чтобы хоть с телефона можно было зайти и нажать нужную кнопку в системе.
    Апи нужно, потому что будет много интеграций с другими системами, загрузка/выгрузка в 1с, не дай бог будете телефонию подключать
    Внутренняя сеть решается с помощью впн сервера.
    Помимо функциональных требований существуют еще технические, должен быть мониторинг, вы должны всегда знать сколько ресурсов потребляет ваш сервер, сколько данных занимает на дисках, логи и трейсы - гуглится по слову Observability, обычно не закладывается в смету, но к этим вопросам приходят рано или поздно
    Что еще, ну, по функционалу тут проще, открываете презентации в популярных CRMках, смотрите, что они могут, выписываете списком и идете к заказчику, чтобы он указал галочками, что будете делать, что не будете
    потом прикидываете по трудозатратам и озвучиваете сроки из которых можно понять примерную стоимость проекта. Часто одно маленькое предложение, типа того же "выгрузить данные в 1с" грозит несколькими десяткми часов работы, потому что другой отдел, с ними нужно договориться и сделать интеграцию. Или "должен быть отчет такой-то", а там как начнешь разбираться, еще 5 раз посовещаться сначала надо ))
    Ответ написан
    Комментировать
  • Как разграничить хранение данных пользователей?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Каждый имеет свой набор полей. Клиника, например, имеет адрес и дату основания.
    Мне кажется вы как-то не так пользователей определяете, клиника как пользователь не кажется логичным утверждением. Пользователь - сущность имеющая общие атрибуты - логин, пароль, опционально дату регистрации и еще несколько признаков присущим людям/иным разумным. В частности, логинится не здание фирмы и не юридичкское лицо в виде учредительных документов, а конкретный Федор Пупкин из клиники "Веселая челюсть". И связь Федора с клиникой через один ко многим (либо многие ко многим, в зависимости от сложности возможных пересечений) видится более адекватной структурой, как минимум по тому что не только Федор может управлять действиями от лица клиники, а еще например бухгалтер Василиса Андреевна. Проблема в том что у вас юзерами стали объекты, по дефолту к ним не относящиеся. Как только вы отделите мух от котлет, все встанет на свои места, в том числе через роли, так как к клиникам будут иметь доступ только роли работников клиники.
    Ответ написан
    1 комментарий
  • Как открыть сайт находящийся в ВМ из хостовой машины?

    LikeMySoul
    @LikeMySoul
    Сис. Админ
    Ок, исходя из того что это виртуалбокс и ip он получает видимо из своей отдельной NAT подсетки. Варианта реализации 2:
    Первый пробросить еще один интерфейс как бридж и разрешить ему форвардить пакеты из сети 10.0.2.0 в вашу подсеть, после чего прописать маршруты на обеих(двоих?) сторонах и пробовать снова.
    Второй просто удалить стандартный NAT интерфейс в virtualbox и добавить вместо него bridge чтоб ловил адрес в вашей сети. После чего перенастроить nginx и апач на новый ip полученый из вашей сети.
    Есть третий, но это еще больший костыль чем первый вариант: поднять впн и пушить вашу машину по нему.
    Ответ написан
    1 комментарий
  • Как понять что делает данный код php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Гадость.
    Тут даже смотреть не надо чтобы понять, что код делает гадость

    код ниже после __halt_compiler(); никак не интерпретируется языком PHP, что явно следует из названия этой функции.
    Ответ написан
    1 комментарий
  • Какие видеоуроки/книги/советы посоветуете начинающему программисту?

    hint000
    @hint000
    у админа три руки
    какие-нибудь своеобразные, но полезные советы

    1. Любой конкретный язык программирования - фигня (хотя без него никак), а важнее алгоритмы и структуры данных.
    2. Когда размер ваших програм перевалил за десяток строк, пора осваивать методы отладки (debug). Это 99% практики и 1% теории. Практически невозможно (даже для гения) сразу без ошибок написать программу на тысячу строк. И будут моменты, когда вы готовы биться головой о стену, потому что уже десять раз всё проверили, и весь код правильный, но всё равно выдаёт неправильный результат; и приходят мысли, что это какой-то неизвестный глюк в операционной системе и т.п. Вот это будет ваш личный момент истины. Это будет означать, что нехватает опыта в отладке. Выловить ошибки в программе на тысячу строк (в своей) не слишком просто, но вполне по силам студенту.
    Ответ написан
  • Какие видеоуроки/книги/советы посоветуете начинающему программисту?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    допустим человек, который впервые решил заняться боевыми искусствами пишет вопрос

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

    Просто изучай базу
    Делай простые приложения.
    До того, как писать код на 1000 строк, пиши на 100.
    Разберись с тем, как происходит компиляция.
    Почитай про name convention
    почитай про git
    задавай конкретные вопросы, приводя кусок кода, в котором у тебя что-то не выходит.
    Общих вопросов в интернете полным полно и пользы они никому особой не приносят
    Ответ написан
  • Визуализация ЭЦП в PDF и документах Word?

    hint000
    @hint000
    у админа три руки
    Таким образом вы убиваете смысл ЭЦП.
    Идея ЭЦП в том, что ЭЦП позволяет убедиться (в частности), что документ не был изменён после подписания. Если в документе изменить хоть один байт, то проверка подписи покажет, что подпись недействительна.
    Теперь посмотрим, как вы хотите сделать.
    У вас есть документ. Вы его подписываете. Потом вы добавляете в документ "визуализацию ЭЦП", тем самым изменяя документ и делая подпись недействительной.
    Ответ написан
  • Как можно создать дистрибутив Linux на основе Debian?

    @rPman
    полагаю ты не понимаешь что такое создать дистрибутив linux.

    Дистрибутив это не только набор пакетов но и инфраструктура, обслуживание репозитариев, интегрирование обновлений и т.п. Еще есть юридические моменты, так как в мире linux 'благодаря' производителям железа все полностью открытым быть не может (но да debian старается) то нужно еще следить, чтобы ни чьи интересы не задел, добавляя какой то пакет у себя (например были споры по названию браузера firefox, так как пакетом хотел рулить debian, называть его таковым он не имел права, пришлось переименовать в iceweasel)
    Ответ написан
    Комментировать
  • Самопроизвольное объявление define'ов в проекта?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Получается, магическим образом, самопроизвольно, между включениями VulkanTexture.h и VulkanglTFModel.h был объявлен define.

    А на самом деле где этот define определяется и как это место относится ко всем этим заголовочным файлам?

    Разве препроцессор не последователен и может включать файлы в том порядке, в каком ему заблагорассудится, а не как я написал?

    Нет, не может, но возможно ты не вполне понимаешь сам, в каком порядке ты написал их подключение. Так, например, Helpers/VulkanTexture.h и VulkanTexture.h -- это один и тот же файл, или разные? Если один и тот же, то из-за #pragma once в нём он не подключается в VulkanglTFModel.h, а если разные -- то подключается.

    Понять, что фактичиски куда подключается можно выполнив вместо шага компиляции только препроцессирование (например, для gcc заменив в команде компиляции ключ -c на -E). В выводе препроцессора не видно дефайнов, но видно когда подключается тот или иной файл и видно весь исходный код не относящийся к препроцессору.
    Ответ написан
    Комментировать
  • Имею базу в формате txt размером 2gb, как отсортировать по количеству символов на строку?

    @rPman
    Для таких операций уже несколько десятилетий в linux существует утилита awk со своим языком программирования (он достаточно простой хоть и странный), так же можно соорудить регулярное выражение и с помощью утилиты sed или grep, несколькими проходами пройти по файлу, и сначала вывести все короткие строки, вторым проходом все длинные.

    так же можно написать приложение на любом языке программирования, построчно читать файл, измерять длину строки или какое тебе нужно условие и записывать в нужный файл, кода строк на 5-6
    Ответ написан
    Комментировать
  • Как реализовать рекурсию в UML (диаграммы классов)?

    Vindicar
    @Vindicar
    RTFM!
    Особенно никак? Диаграмма классов не описывает содержимое методов, а приведённый код бессмысленен даже как пример.
    Можно, конечно, сделать отношение зависимости от Foo к нему же, но будет затруднительно пояснить его природу.
    Ответ написан
    Комментировать
  • Правильно ли написано уравнение на c++?

    Разделителем целой и дробной части должен быть символ "точка" (.)
    Ответ написан
    7 комментариев
  • Объясните на простом примере разницу между ООП и ФП?

    Griboks
    @Griboks
    В чистом ФП будет примерно так:
    releaseSocket(releaseConnection(releaseRouter(json(get('/users',prepareRequest(createRouter(routerParams,connect(createSocket('TCP'),ip, port)))),users))))

    Некоторые приёмы использовать стоит, но не самая лучшая идея - писать в функциональном стиле такие программы.
    Ответ написан
  • Как сдедать скрипт, который будет обратно кодировать код?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Никак.
    Лицензия получается XOR'ом ключа с вычисляемой (на самом деле, фиксированной) гаммой.
    Зная только часть лицензии можно получить только соответствующую часть ключа.
    Если знать все части лицензии, то достаточно записать их через '|', проXORить с вычисленной гамой и закодировать в BASE64.
    Ответ написан
    4 комментария
  • Как вставить элемент в середину листа?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    jquery
    native js

    Правила сервиса
    2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google.
    Ответ написан
    Комментировать
  • Нужно ли использовать interface?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Нет, ничего указывать не надо.
    Тут и без интерфейсов получатся отличные самолёты из соломы и палок.
    Ответ написан
  • Можете посоветовать видео блогеров обучающие программированию на Python?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Видео нужно тогда, когда ты прочёл книгу, вроде всё понял, но куда тыкать пока не понял. В видео можно посмотреть чисто практические приемы работы с IDE, с консолью, с системой. То, что слабо отражено в книгах. Чтоб не тыкаться как кутёнок в незнакомый интерфейс.
    А собственно язык лучше по хорошей книге и затем кодить, кодить, читать исходники других проектов, вникать, дебажить.

    Самое главное - понять, что язык программирования - это как лопата у агронома. Лопатой надо владеть? Надо. Достаточно ли агроному лопаты? Нет. Ему надо знать и уметь много чего - сорта, почвы, технологии, химию, а лопатой он делает только некоторую часть операций.
    Программисту надо знать в той или иной степени информатику, алгоритмы, структуры данных, языки программирования, базовые библиотеки, БД и СУБД, API, ООП, фреймворки, сети, протоколы, ИБ, тестирование (в части, касающейся программеров), да много чего. Язык там не на первом месте.

    Видосиками это не изучишь, как ни старайся.

    Из более-менее полезного видео поищи «алгоритмы и структуры на Python» от МФТИ, там десятка полтора лекций Хирьянова. Но это лучше после книги «Изучаем Python» М.Лутца.
    Ответ написан
    1 комментарий
  • Максимально производительные GUI-библиотеки для плюсов (Windows)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возникла проблема - требуется писать программы быстрыми, чем быстрее - тем лучше.


    Ты решаешь какую-то искусственную проблему. Стандартные компоненты пишет целая корпорация и анализируют тыщи тестировщиков. Сомнительно что ты сможешь написать нечто даже близко подходящее по возможностям.

    Кстати я тебе предлагаю как всегда пойти от формализма - просто перечислить фичи которые ты собираешся реализовать в виде документа. И я думаю где-то на 500-й фиче ты забросишь это дело.

    Спецификация - сильная вещь. И многие юные амбициозные кодеры беруться писать нечто неспецифицированное и в результате создают гоммункула который никому не нужен или создают что-то ограниченное.

    Яркий пример - создатели своих DBMS. Тыщи их. Но никто не в состоянии довести разработку даже до альфа-версии. А уж о том чтобы ее показать на презентации - вообще и речи нет.
    Ответ написан
    3 комментария