Задать вопрос
  • Как на лету добавлять столбцы в базу данных?

    @dmitryKovalskiy
    программист средней руки
    А что вы понимаете под "на лету"? Реакция на некое действие пользователя? Для 99,9% случаев - такое поведение не нужно. Нужно чуть чуть пересмотреть задачу и сделать без добавки столбцов. БД - вещь в высокой степени статичная должна быть. Исходя из этого можно заниматься ее оптимизацией работы.

    Ну а если вы хотите накатывать обновления без остановки приложения, то банального ALTER TABLE вам должно хватить.
    Ответ написан
    2 комментария
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    Существует 2 типа строк:

    Типа С.
    Тип Паскаль.

    К языкам это не имеет отношения: язык Паскаль может использовать строки типа С, язык С может использовать строки типа Паскаль. Название просто исторически возникло, т.к. изначально в С и Паскале были только одного вида строки (разные, такие как описано ниже).

    Строка типа С - это массив байтов, заканчивающийся нулем. То есть строка не может содержать символ с кодом 0 (не числом 0, а символ с кодом 0, нулевой байт). Длина строки всегда = количество символов + 1 байт (с нулевым кодом) в конце строки.

    Строка типа Паскаль в начале хранит 1 байт, указывающий длину строки, затем идет массив символов. Строка может содержать внутри себя символы с кодом 0. Но не может быть длиннее 255 байт. В памяти такая строка занимает те же что и С = число символов в строке + 1 байт в начале, хранящий её длину.

    А еще есть строки UNICODE, UTF8, строки типа Паскаль, где длина указана 2-мя байтами (т.е. максимальная длина 65535 символов в строке).

    Длина таких строк в байтах может быть очень и очень разной. Совсем не соответствующей числу символов. Разница будет не на 1 байт (как в простых строках типа С и типа Паскаль). Более того, например, в UTF8 длина строки в байтах будет зависеть от того, что именно написано. )))

    В наше время я настоятельно рекомендую изучать не простые char, а обратить внимание именно на UNICODE.
    А там вовсе не один байт на один символ. )))))
    Ответ написан
    41 комментарий
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    Djaler
    @Djaler
    Сеньор-помидор
    Все правильно, этот 1 байт занимает символ конца строки '\0'
    Ответ написан
    Комментировать
  • Почему не отрабатывает перегруженный конструктор класса?

    @MiiNiPaa
    Потому что это copy-initialization. Чтобы она работала, нужен конструктор копирования который умеет принимать в качестве параметра временные обекты. (даже учитывая то что он не будут вызван благодаря copy-elision)

    Edit: en.cppreference.com/w/cpp/language/copy_initialization
    If T is a class type, and the type of other is different, or if T is non-class type, but the type of other is a class type, user-defined conversion sequences that can convert from the type of other to T (or to a type derived from T if T is a class type and a conversion function is available) are examined and the best one is selected through overload resolution. The result of the conversion, which is a prvalue temporary if a converting constructor was used, is then used to direct-initialize the object. The last step is usually optimized out and the result of the conversion is constructed directly in the memory allocated for the target object, but the appropriate constructor (move or copy) is required to be accessible even though it's not used.
    Грубо говоря сначала то, что справа неявно приводится к типу слева (при помощи конструктора) а потом используется для инициализации переменно с помощью move или copy-конструктора.
    Ответ написан
    Комментировать
  • Администрирование Linux - актуально ли?

    athacker
    @athacker
    Если собираетесь куда-то из города валить, или есть потенциальная возможность устроиться в такое место, где будут нужны юниксовые сервера и прочие нано-технологии, то начать изучать что-то очень просто.

    Придумайте себе сеть организации. С доменами Active Directory, с внутренней почтой (сначала, допустим, на linux/FreeBSD/postfix/dovecot, а потом -- на Exchange, или наоборот), с внутренними DNS и DHCP-серверами.

    С файловыми серверами, доступ к которым на уровне доменных учётных записей и групп распределяется. И запилите эту сеть на виртуальных машинах. Несколько виртуальных серверов Windows/Unix, парочку клиентских станций с виндой/линуксом.

    Поднимите свой веб-сервер, нарисуйте на нём простенький веб-сайт на базе какой-нибудь популярной CMS типа Joomla, Wordpress, чо-там-ещё-нынче-модно.

    Потом придумайте этой конторе удалённый филиал, и постройте инфраструктуру для него, и чтобы между ними ещё и VPN был, и с маршрутизацией правильной, чтобы машины из одного филиала видели другой, и наоборот.

    А потом сделайте так, чтобы VPN-канал между филиалами был зарезервирован через двух разных провайдеров, да причём переключения производились автоматически и абсолютно прозрачно для клиентов. В этом вам поможет динамическая маршрутизация и протоколы OSPF или BGP.

    Факультативно -- можете поднять в удалённом филиале так называемый RoDC -- read-only domain controller :-)

    Вот когда всё это запилите, то приходите за новым заданием.

    А если же не собираетесь валить из города, или нет никакой вообще возможности устроиться в контору с юниксами и нано-технологиями, то лучше переориентироваться на программерство. Программерам найти удалённую работу значительно проще, чем админам.
    Ответ написан
    6 комментариев
  • Почему не получается полностью перегрузить оператор =?

    @MiiNiPaa
    Ошибка. Почему?
    Потому что вы не вызываете оператор присваивания, а совершаете copy-initializtion. Вам может помочь простое правило: все действия совершаемые при объявлении переменной вызывают конструктор.
    Ответ написан
    1 комментарий
  • Что почитать по санитаризации С++ кода?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Не нужно никак код трогать.
    Запускайте проги в виртуальных машинах с ограничением ресурсов.
    Например в QEMU
    Ответ написан
    3 комментария
  • Как получить имя текущего юзера в C++?

    @none7
    Windows ведь. В заголовках фунция определена так:
    BOOL WINAPI GetUserNameW(LPWSTR  lpBuffer, LPDWORD lpnSize);
    BOOL WINAPI GetUserNameA(LPSTR  lpBuffer, LPDWORD lpnSize);
    #ifdef _UNICODE
    #define GetUserName GetUserNameW
    #else
    #define GetUserName GetUserNameA
    #endif

    Решения на выбор:
    • Убрать в настройках компиляции определение _UNICODE
    • Использовать GetUserNameA
    • Переписать с использованием TCHAR, size при этом должен быть sizeof(buffer) / sizeof(*buffer)

    И да asd111 прав буфер обязан быть размером UNLEN+1, иначе может случится переполнение буфера, хоть это и маловероятно.
    Ответ написан
    4 комментария
  • Как конкретного наследника связать с конкретным родителем?

    @balamyt92
    ; select * from users; --
    Ну как то так(сферический код в вакууме):

    COM1.write(Dev1.value)

    или

    Dev1.write(COM1, value)

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

    @lega
    wikipedia говорит - в общем распространение изменений, как в формулах exсel таблиц

    Excel - наверно самый показательный пример, когда вы меняете одну ячейку, то все зависимые ячейки пересчитываются (сами), зависимые ячейки от зависимых тоже пересчитываются и т.д. Т.е. получается такой поток/разлив информации. Для реализации исходная ячейка должна обладать списком всех зависимых ячеек (первого уровня/напрямую зависимых).

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

    neatsoft
    @neatsoft
    Life is too short for bad software
    Дикая конкуренция на биржах - миф, многие проекты так и остаются без исполнителя. На прошлой неделе срочно нужен был фронтендер на небольшую задачу с нормальным бюджетом (5 дней - $1000) и перспективой работы на постоянных проектах - найти фрилансера так и не удалось. Заказчик из Европы, адекватный, платежеспособный. Из 30 заявок не оказалось ни одного вменяемого предложения - одни индусы (которые по опыту заказчика на таких проектах лажают в 100% случаев).

    Вещи, на которые необходимо обращать внимание на начальном этапе:
    1. не стоит пристально изучать все описания проектов - установите собственные критерии, и выбирайте только те что нравятся;
    2. описание понравившегося проекта нужно читать внимательно, а в заявке излагать свое понимание задачи (пересказ) и план ее решения;
    3. ставьте реальные сроки захода во фриланс - от 3-х до 6-ти месяцев (такой промежуток времени требуется чтобы детально во всем разобраться и наработать рейтинг);
    4. обещайте меньше, делайте больше;
    5. и самый главный совет - начните прямо сейчас! не нужно бросаться учить английский язык или осваивать модные технологии - все что нужно само придет в процессе работы. Большинству заказчиков совершенно налевать сколько вы делаете ошибок в словах, владеете ли граматикой, и применяете ли паттерны проектирования. Главное - умение эффективно решать поставленные задачи - быстро, и без чрезмерного усложнения.

    ps. Список проектов доступный на бирже - лишь вершина айсберга, там достаточно сложно оценить объем повторных заказов и длительных контрактов. Если первые пол-года потратить с умом, впоследствии расходовать время на поиски проектов больше не придется - будет очередь из заявок на выполнение заказов.

    pps. Ищу опытного фронтендера для совместной работы над интересными проектами. Сам занимаюсь бэкэндом, базами данных, линуксом, архитектурой.
    Ответ написан
    9 комментариев
  • Почему люди не нажимают на рекламу?

    @balamyt92
    ; select * from users; --
    Потому что с точки зрения нормального человека который интересуется Java твой сайт выглядит так:

    6c96182a897c4da99507c74d8ded4793.jpg
    Ответ написан
    2 комментария
  • Почему люди не нажимают на рекламу?

    @pibiv
    Люди которые читают про програмирование на на java как минимум осведомлены о существовании adblock. А теперь давайте подумаем логически вы можете назвать хоть одного разработчика на любом языке програмирования который не знает про adblock и который серфит в инете без него.

    Лично я максимально стараюсь убить все не нужное когда лажу в инете благо дело adblock спасает от 90% рекламы а то всяких "присоеденяйтесь к нам в соц сетях" спасает Disconnect который на корню рубит все соц сети и всякие там аналитики.

    Чесно мое мнение хотите монетизировать сайт записывайте видео уроки и продавайте их или выкладывайте на youtube и моентезируйте там за показы.
    Ответ написан
    Комментировать
  • Как получить инвестиции в свой стартап?

    GailWynand
    @GailWynand
    Интересуюсь ИТ, биржевой торговлей, стартапами
    Проблема стартап-сообщества и общества в целом проста — люди не понимают, что нужно продавать. «А сколько я вам должен?» — «А сколько дадите?». Это жуткий совок. Надо как-то внедрить в сознание, возможно, в обучение, что пока ты не начнешь продавать, у тебя ничего не получится.

    Если бы я был стартапером, я бы по-максимуму выжимал «три F» (family, friends, fools — семья, друзья, дураки), чтобы показать, что я уже чего-то достиг и могу достичь большего. Я бы ходил по инвесторам, но не за деньгами, а за советом. Чтобы не я у них просил деньги, а они в какой-то момент сами мне эти деньги предложили.
    Ответ написан
    2 комментария
  • Как собрать библиотеку под Windows?

    Если исходники библиотеки содержат CMakeLists.txt, то с помощью утилиты cmake в коммандной строке набрать cmake -G "Visual Studio 14 2015". Сгенерятся файлы проектов для Visual Studio и с помощью этой IDE можно будет собрать библиотеку.
    Ответ написан
    2 комментария
  • Подсажите конвертор приложений WinXP -> Win7?

    @kalapanga
    Если это не совсем замшелая древность, которая и не должна работать, то возможные проблемы это:
    - программа пытается что-то писать в папку, на которую у неё в семёрке нет прав
    - в путях к нужным программе папкам (temp например) присутствуют пробелы, кириллица и т.п.
    - отсутствуют нужные библиотеки
    И хорошо бы всё-таки на текст ошибки взглянуть.
    Ответ написан
    Комментировать
  • Как задать дополнительное имя файла .gitignore для репозитория? Можно ли?

    @ashumkin
    системный разработчик
    man git-config
    core.excludesFile
    In addition to .gitignore (per-directory) and .git/info/exclude, Git looks into this file for patterns of files which are not meant to be tracked. "~/" is expanded to the
    value of $HOME and "~user/" to the specified user’s home directory. Its default value is $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty,
    $HOME/.config/git/ignore is used instead. See gitignore(5).


    из чего, кстати, следует, что .gitignore к тому же учитывается в каждом каталоге проекта
    Ответ написан
    2 комментария
  • Кто знает C# opensource проекты с хорошей архитектурой?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    1 комментарий
  • Как найти удаленную работу .net Junior?

    maxt888
    @maxt888
    Fullstack developer
    Вряд ли найдешь удаленку на junior. Удаленка минимум для мидлов. Так как джунов нужно учить, сопли подтирать, помогать... Для удаленной нужна самодисциплина и умение быстро учить новое, и в свою очередь успевать выполнять таски. В контору можно найти устроиться джуном, хотя вакансий очень мало, а желающих over дохрена. Хотя еще зависит от города, чем меньше город, тем меньше шансов вообще такую контору найти
    Ответ написан
    2 комментария
  • Какая математика нужна системному программисту?

    @PyTiMa
    Учусь, кручусь, верчусь.
    Анализ, Дискретная математика, Линейная Алгебра, Геометрия..
    Чутка подробнее:
    Дискретные структуры - Теория множеств, Функции(Изображения),Графы, Алгоритмы, "а там пойдет само" :)
    Алгебра -комплексные числа, поля, матрицы, векторные пространства, "а там пойдет само" :)
    Анализ - поможет развить ваше мат. мышление.
    Ответ написан
    Комментировать