• Почему массив изменяется?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Операторы + и - принимают объекты по значению, а не по ссылке. Вероятно проблема в этом.
    Ответ написан
    4 комментария
  • С чего начать путь в data science? Java или python?

    @dmshar
    Вообще-то путь в Data Science начинается не с выбора языка программирования, а с изучения - последовательно - статистики, Machine Learning, Deep Learning. Потом - и то не часто и далеко не всеми - специальных алгоритмов анализа для Big Data. А язык - это только инструмент для решения задачи. И по большому счету он может быть любым - есть примеры библиотек на Python, R, Java, Scala, C++, C#, MatLab, даже JavaScript и прочей экзотики.
    Только вот со знанием языка - даже глубоким - на Junior Data Scientist - никто вас не возьмет. Ибо язык - любой - выучить на много проще, чем то, что зовется Data Science. А знание языка - лишь дополняет, но никак не определяет ваши скилзы и вашу ценность как сотрудника в этой области.
    Ответ написан
    4 комментария
  • Linux язык программирования?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    все бюджетные (и не очень) организации перейдут на отечественный линукс с 2020 года

    Впервые я эту телегу услышал в 2003-м. Но воз и ныне там.

    В связи с этим вопрос, что лучше для разработки использовать?

    Как C++, так и Java одинаково хорошо работают как в Linux, так и в Windows.

    больше нравится (изучаю самостоятельно) JAVA

    Учите Java.

    для работы с бд в Java gui интерфейс можно нарисовать?

    Можно.
    Ответ написан
    2 комментария
  • Созданный *.exe файл не хочет открываться без картинки рядом, как исправить?

    Ternick
    @Ternick
    Ну и что вам не нравится ? Вы же в коде сами написали эти строки, без картинки код крашится :
    MS7Ao6SbSzSQtt9nSNqujA.png
    :)
    Совет ;
    Вместо того что бы носить за собой фотографию ;) Скачивайте её в приложении ;)
    Я надеюсь эта гифка не весит больше 5 мб :(
    Ответ написан
    6 комментариев
  • Как узнать количество изменений процессорных ядер, на которых выполняется приложение?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как узнать сколько раз процесс мигрировал с одного процессорного ядра на другое?

    Запустив его под perf stat:
    $ perf stat true
    
     Performance counter stats for 'true':
    
              0.801845      task-clock (msec)         #    0.445 CPUs utilized          
                     0      context-switches          #    0.000 K/sec                  
    ------>          0      cpu-migrations            #    0.000 K/sec                  
                    42      page-faults               #    0.052 M/sec                  
               634,587      cycles                    #    0.791 GHz                    
               459,763      instructions              #    0.72  insn per cycle         
                89,841      branches                  #  112.043 M/sec                  
                 3,812      branch-misses             #    4.24% of all branches        
    
           0.001801905 seconds time elapsed
    Ответ написан
    Комментировать
  • Как исправить ошибку сегментирования?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    gdb выдает следующее

    Остаётся узнать как работают команды gdb bt, up, down и frame, и можно будет ответить на свой вопрос самостоятельно.

    Но в данном случае всё очевидно:
    char* command;		
      while(strcmp(command, "exit") == 1);

    Три ошибки в двух строках: во-первых, command не инициализирована на момент вызова strcmp, и это вызывает SEGFAULT.
    Во-вторых strcmp возвращает 0 при равенстве, <0 или >0 (не обязательно 1) при неравенстве строк.
    В-третьих ';' после while () явно лишняя.
    Ответ написан
    1 комментарий
  • Где берутся определения для описаний стандартных функций?

    @res2001
    Developer, ex-admin
    Стандартная библиотека Си и С++ подключается по умолчанию, для этого не нужно указывать никаких опций компилятору. Наоборот, чтоб от нее избавиться нужно приложить некоторые усилия.
    Ответ написан
    Комментировать
  • Python matplotlib как синхронно изменять масштаб на разных графиках одной фигуры?

    @Andy_U
    У функции subplots есть ключевые параметры ```sharex``` и ```sharey```. Ну, там можно ```all``` задать в качестве значения, чтобы масштаб/сдвиг по всей решетке синхронизовался, или ```col`` и ```row```, чтобы только по текущей колонке или столбцу. Ну, типа так для склееных по вертикали двух графиках.
    fig, (ax1, ax2) = plt.subplots(2, 1, sharex='all', figsize=(640/my_dpi, 2*480/my_dpi), dpi=my_dpi)
    Ответ написан
    1 комментарий
  • Как учить C / C++ на Linux?

    Stalker_RED
    @Stalker_RED
    В visual studio за кнопочкой build тоже спрятаны стопиццот мрачняковых настроек, если копнуть.
    Если вы хотите, чтобы компилятор не настраивался - вам в какой-то другой язык.

    Туториал по GCC
    Ответ написан
    8 комментариев
  • Как учить C / C++ на Linux?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    info autotools
    info cmake

    Autotools (autoconf/automake/libtool и иже с ними) - более старый, более документированный, более понятный
    cmake - более новый, но уже используется во многих крупных и очень крупных проектах

    JFYI: Под линух тоже есть гуевые билдеры. Но все там все равно сводится к вызову autotools/cmake, так что знать что это и как работает (хотя бы в самых общих чертах) - надо
    Ответ написан
    Комментировать
  • Почему равенство верно?

    Как говорится в официальной документации к версии языка 2.7:
    https://docs.python.org/2/library/functions.html?h...

    два объекта с непересекающимся временем жизни могут иметь одинаковый id


    agluhov@forge:~$ python 
    Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) 
    [GCC 7.3.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> s = 'test_string'
    >>> id(s[1:5]) == id(s[2:6])
    True
    >>> id(s[1:5])
    139620785926528
    >>> id(s[2:6])
    139620785926528
    >>> print(id(s[1:5]))
    139620785926384
    >>> print(id(s[2:6]))
    139620785926576
    >>> print(id(s[1:5]), id(s[2:6]))
    (139620785926528, 139620785926528)


    Это просто идентификатор, который является уникальным для каждого объекта в памяти на момент времени. Логично предположить, что интерпретатор отдает тот же буфер под слайс после того, как первый вызов функции отработал.
    Ответ написан
    2 комментария
  • Можно ли эти строки привести в читабельный вид?

    igorzakhar
    @igorzakhar
    Запускаешь, вводишь строку "CC{Maybe_long_but_not_so_wise_snek}", результат "Good", при любом другом вводе "Bad".
    Зашифрованный код:
    print(["Bad","Good"][int(input() == "CC{Maybe_long_but_not_so_wise_snek}")])


    >>> s = """))'''ALkFbIzIDWE}vJ=`}vJ?ehgP>fRpMXe4yS(`@HO|F;5SGcG)GsLhMM;cf-OzbU4S<EwNMdXzMMTSMgG<ev4SKoG)G)KN-O|ukDG@nm4SH(^nMkEE-OO#kDG1uv4SfPM*GdFYMMgEE-O+MU4S@=J;OZ}zfGSvD-Ouc@ePWS`fGVQW-O%8E-Oyl1fPpA`fGtWj^M1*kDGwoAfPpT0pMjLhMMMr=eGqs3NMqJM*GrKR^MO7`EGfVm4SXbM*Gp2{+Oz{D-OsoAfPbg_nMnEI^MBiqEGYoAfPo1rEGu134S8f_fG;of-O-8wNMh{-+OkilDGvNN-OkilDGXKR^M7WqEG;u@ePeQlDG{h&4SM}_fG?bv4SxRqMM!)bfPRMMgGqUqMM@=J;Oy!SfPO7`EG)KN-OUoG)Gz7C4S|ukDG!TW-OyOP`Lqo)-O|ukDG;tv4S$m_nMjLhMMAH=eG)u@ePjKE-OiLhMMzQJ;O*JU4SvS`fGNd+MMaQJ;O1uv4SvS`fGNd+MMhQf-O*JU4SvS`fGNd+MMkuJ;O{h&4S|}@iOvd+MMSG`fG!of-OkilDGkXzMMiKE-OjRqMM|}@iO$KN-OET=eG$)AfPqg~oMq#LNMkuJ;ObRqMMFQlDGrEE-OM}_fG)oAfP)50pMzcs^MET=eGuWf-OWoC*G}yoySB2k;O%7+3Se`k;O&V-xSZ=q)G0c%;Ojnn*G;G{?Cn+VjYebR&a*?ejfYz*%aL(}ZAC+IAa<{scG7CIoWCuw6c|#ByaFD8aAB+f7b*c+nC6J*Sbn4|?C1b9)Z1U*YbP9r1b-a9)Z~B(nWt{03b-a9)ZLb#&aC+D>X'''(cеxe(cexe;cеxe sa edoced58b tropmi 46esab morf"""
    >>> s[::-1]
    "from base64 import b85decode as exеc;exec(exеc('''X>D+Ca&#bLZ)9a-b30{tWn(B~Z)9a-b1r9PbY*U1Z)9b1C?|4nbS*J6Cn+c*b7f+BAa8DFayB#|c6wuCWoIC7Gcs{<aAI+CAZ}(La%*zYfje?*a&RbeYjV+nC?{G;G*nnjO;%c0G)q=ZSx-V&O;k`eS3+7%O;k2BSyoy}G*CoWO-fWuGe=TEM^sczMp05)PfAo)Gf_}MO-EErGDlQFMMqRbO;JukMNL#qMo~gqPfA)$Ge=TEO-NK$Oi@}|MMqRjO-EKiMMzXkGDlikO-fo!Gf`GSMM+dvOi@}|S4&h{O;JukMM+dNGf`SvS4UJ*O-fQhMM+dNGf`SvS4vu1O;JQaMM+dNGf`SvS4UJ*O;JQzMMhLiO-EKjPe@u)Ge=HAMMhLjMn_m$S4vt;GDku|O-)oqL`POyO-WT!GDku|S4C7zG)GoUO-NK)GE`7OPfS!yO;J=@MMqUqGgMMRPfb)!MMqRxS4vb?Gf_}MS4&h{GDlQePe@u;GEqW7M^RKXGDlikO-NNvGDlikO+-{hMNw8-O-fo;Gf_f8S431uGEr1oPfAoYGEqiBM^IEnMn_gbPfAosO-D{zO+{2pG*MbXS4mVfGE`7OM^RKrG*MJqMN3sqGe=rMMMhLjMp0TpPfAowGDk*1M^jWtGf`ApPf1lyO-E8%O-WQVGf`SWPe@cuO-DvSGfz}ZO;J=@S4UM+O-EEgMMYFdG*MPfS4vu1GDk#OO-EEkMn^(HS4mn@GDku|O-NK)G)GoKS4ve<GgMSTMMzXdMNwE<S4UbzO-fc;MMhLsG)GcGS5;F|OH@`(Sy4eXMpRf>Pghe?Jv}`=Jv}EWDIzIbFkLA'''))"
    >>> from base64 import b85decode as exеc
    >>> exеc('''X>D+Ca&#bLZ)9a-b30{tWn(B~Z)9a-b1r9PbY*U1Z)9b1C?|4nbS*J6Cn+c*b7f+BAa8DFayB#|c6wuCWoIC7Gcs{<aAI+CAZ}(La%*zYfje?*a&RbeYjV+nC?{G;G*nnjO;%c0G)q=ZSx-V&O;k`eS3+7%O;k2BSyoy}G*CoWO-fWuGe=TEM^sczMp05)PfAo)Gf_}MO-EErGDlQFMMqRbO;JukMNL#qMo~gqPfA)$Ge=TEO-NK$Oi@}|MMqRjO-EKiMMzXkGDlikO-fo!Gf`GSMM+dvOi@}|S4&h{O;JukMM+dNGf`SvS4UJ*O-fQhMM+dNGf`SvS4vu1O;JQaMM+dNGf`SvS4UJ*O;JQzMMhLiO-EKjPe@u)Ge=HAMMhLjMn_m$S4vt;GDku|O-)oqL`POyO-WT!GDku|S4C7zG)GoUO-NK)GE`7OPfS!yO;J=@MMqUqGgMMRPfb)!MMqRxS4vb?Gf_}MS4&h{GDlQePe@u;GEqW7M^RKXGDlikO-NNvGDlikO+-{hMNw8-O-fo;Gf_f8S431uGEr1oPfAoYGEqiBM^IEnMn_gbPfAosO-D{zO+{2pG*MbXS4mVfGE`7OM^RKrG*MJqMN3sqGe=rMMMhLjMp0TpPfAowGDk*1M^jWtGf`ApPf1lyO-E8%O-WQVGf`SWPe@cuO-DvSGfz}ZO;J=@S4UM+O-EEgMMYFdG*MPfS4vu1GDk#OO-EEkMn^(HS4mn@GDku|O-NK)G)GoKS4ve<GgMSTMMzXdMNwE<S4UbzO-fc;MMhLsG)GcGS5;F|OH@`(Sy4eXMpRf>Pghe?Jv}`=Jv}EWDIzIbFkLA''')
    b'import codecs;exec(codecs.getencoder(\'rot-13\')("sebz onfr64 vzcbeg o32qrpbqr nf rkr\xd1\x81;rkrp(rkr\xd1\x81(\'ZI4TXLMVZW4KVMYOBWMTP6WBZMMT63YVZI4PDWMJTL3GRAGTTMFQRZOJTV3QPAMGTL2GTAEGTDMQNAEMTMFQBZOJZL3GRAMHTVLQZZEGTLMGVAEHTL2GZZMJZL3QVAEITVLQZZWKTZMQNAEIT43QZZWGTRMJRAEIT43QZZWJZZMQDAEIT43QZZWGTRMQDZEFTLMGVBOHZR3GNAEFTMFGXZWJZL2GBAMMTEDGVZMIUR2GBAWETL4GVLMHTZ2TPAOLTLMQTZEGUR3TRAOMTMEGTZWJTV3QPAWKTZ2GTZOHZV2QBAGQT42GZZMHUN2GZZMDTEEQVZMJZV3QBAWDTH2QTZOJT42QFAGPTEFGVAOJTHMGNZMETL4QZAWIT42TPAGQTH4QTZEKUN3GZAEFTMFQZAOJTL2GFAGSTH3QTZOIUNMGRZMIT43QZAOHTLMGFA3OTLMQTZWGURMGTAEETH4QVMWJZZ2GDZMGTEFGBAWIZR2GBAMHTZ4GVBWJUR3TTAEHTEEQXZWGZDMJVZEFTV4GRBWUSRKTVMYQA5FTXXOWSR======\'))")[0])'
    >>> import codecs
    >>> codecs.getencoder('rot-13')("sebz onfr64 vzcbeg o32qrpbqr nf rkr\xd1\x81;rkrp(rkr\xd1\x81(\'ZI4TXLMVZW4KVMYOBWMTP6WBZMMT63YVZI4PDWMJTL3GRAGTTMFQRZOJTV3QPAMGTL2GTAEGTDMQNAEMTMFQBZOJZL3GRAMHTVLQZZEGTLMGVAEHTL2GZZMJZL3QVAEITVLQZZWKTZMQNAEIT43QZZWGTRMJRAEIT43QZZWJZZMQDAEIT43QZZWGTRMQDZEFTLMGVBOHZR3GNAEFTMFGXZWJZL2GBAMMTEDGVZMIUR2GBAWETL4GVLMHTZ2TPAOLTLMQTZEGUR3TRAOMTMEGTZWJTV3QPAWKTZ2GTZOHZV2QBAGQT42GZZMHUN2GZZMDTEEQVZMJZV3QBAWDTH2QTZOJT42QFAGPTEFGVAOJTHMGNZMETL4QZAWIT42TPAGQTH4QTZEKUN3GZAEFTMFQZAOJTL2GFAGSTH3QTZOIUNMGRZMIT43QZAOHTLMGFA3OTLMQTZWGURMGTAEETH4QVMWJZZ2GDZMGTEFGBAWIZR2GBAMHTZ4GVBWJUR3TTAEHTEEQXZWGZDMJVZEFTV4GRBWUSRKTVMYQA5FTXXOWSR======\'))")
    ...
    ...

    И так далее по цепочке.
    Ответ написан
    3 комментария
  • Как запустить python скрипт в фоновом режиме?

    trak
    @trak
    Все давно придумано
    Ответ написан
    Комментировать
  • Как запустить python скрипт в фоновом режиме?

    @Teslaman
    Можно написать демон для systemd если в вашей операционной системе он используется.

    Создаём файл демона:
    sudo touch /etc/systemd/system/bot.service

    Вставляем туда следующее:
    [Unit]
    Description=My bot
    After=multi-user.target
     
    [Service]
    Type=idle
    ExecStart=/usr/bin/python /путь/до/скрипта/bot.py
    Restart=always
     
    [Install]
    WantedBy=multi-user.target


    После этого в консоли выполяем:
    sudo systemctl daemon-reload
    sudo systemctl enable bot.service
    sudo systemctl start bot.service


    Чтобы остановить бот:
    sudo systemctl stop bot.service
    Чтобы удалить из автозагрузки:
    sudo systemctl disable bot.service
    Чтобы проверить работу демона:
    sudo systemctl status bot.service
    Ответ написан
    7 комментариев
  • Хватит ли знаний математики для написания алгоритма?

    @napa3um
    В порядке увеличения эффективности предсказаний: дискретная математика, математическа статистика, глубинное обучение, инсайдерство, пророчество.
    Ответ написан
    Комментировать
  • Как сократить число в периоде?

    0xD34F
    @0xD34F
    Ну так 3/180 - это вы целыми числами оперируете. Отсюда и 0 в результате. Попробуйте 3.0/180. Или 3/180.0.
    Ответ написан
    Комментировать
  • Почему не переполняется float?

    maaGames
    @maaGames
    Погроммирую программы
    Магия плаващих точек :)
    Числа должны быть примерно одного порядка, иначе UB (с оговорками).
    3.4е38 + 1.0 = 3.4е38. Это равнозначно 3.4е38 + 0.0, потому что 1 по сравнению с 1е38 равно нулю.
    А при умножении различие будет уже в 7 знаке после запятой, которую float может обнаружить и сообщить о переполнении (+INF).
    Ответ написан
    2 комментария