• Как лучше всего управлять консольным приложением?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Смотря, что этот скрипт делает. Если он не отключается от консоли и работает только под активным пользователем, можно прямо в консоль команды вводить. Если это сетевой демон, можно отправлять команды через админский порт или unix-сокет, если скрипт работат под nix'ами. Если это web-сервис, то разумно добавить к нему админский web-интерфейс или админские rest-эндпоинты. Если он работает с брокерами очередей, то можно отправлять команды через специальную очередь. И т.д. и т.п.
    Ответ написан
    2 комментария
  • Как организовать работу?

    @deliro
    1. Хранение проекта - где?

    git. Приватные проекты можно хранить на bitbucket.org, на гитхабе только за деньги. Все желания хранить проекты в гуглдрайвах/дропбоксах/яндексдисках убивай на корню.

    2. Ведение проект- как?

    гуглодоки для ТЗ
    asana или подобное для задач/багов
    история изменений кода есть в git, история изменений ТЗ есть в гуглодоках
    документацию хранить в коде (docstrings) и генерировать в виде HTML любым подходящим инструментом
    Ответ написан
    1 комментарий
  • Что делать, если PyCharm перестал нормально отображать цифры?

    longclaps
    @longclaps
    Всего-то 10 цифр - за один вечер к закорючкам приноровишься.
    А вот переменных что-то больно дофига (
    тыц
    Ответ написан
    Комментировать
  • Почему не работает тема в zsh?

    В описании темы написано

    NOTE: In all likelihood, you will need to install a Powerline-patched font for this theme to render correctly.
    https://github.com/Lokaltog/powerline-fonts

    добавьте в систему шрифты и в терминале выберите один из них
    Ответ написан
    Комментировать
  • Как заставить multiprocessing работать?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    import multiprocessing as mp
    
    data = [
        ('./wiki/wikido1.txt', './wiki/file_1.txt'),
        ('./wiki/wikiot1do2.txt', './wiki/file_2.txt'),
        ('./wiki/wikiot2.txt', './wiki/file_3.txt'),
    ]
    
    with mp.Pool(mp.cpu_count()) as pool:
        pool.starmap(Noun_Phrase, data)
    Ответ написан
    1 комментарий
  • Где может пригодиться физика программисту?

    @CHolfield
    Вы что, миллениал чтоли прости Г-споди? Геймдев, робототехника... Жизнь не ограничивается ИТ. Фундаментальные науки это как бы законы природы в нашей части вселенной, что значит "где физика может пригодиться?"? Вы меня шокируете)
    Ответ написан
    4 комментария
  • Как сделать авто-прием друзей вк?

    Noizefan
    @Noizefan
    обязательно поможем.
    1) изучи "Pythone"
    2) найди в апи вк нужные методы
    3) разработай софт
    Ответ написан
    3 комментария
  • Могут ли украсть сессию php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как всегда, в теле вопроса написано совсем не то, что в заголовке.

    Отвечаем на оба вопроса

    Могут ли украсть сессию php?
    при нормальных настройках сайта (httponly cookies, SSL) - практически нереально. Только трояном с компа. Но если есть доступ к компу, то с сессиями уже заморачиваться как-то мелко.
    Хотя я не очень уверен насчет расширений браузера/тулбаров. Думаю, что они доступ к кукам имеют свободный.

    Может ли другой человек узнав ID сессии и приписав его в свой php скрипт получить доступ к данным сессии моего сайта?
    Разумеется, может.

    Только не описанным способом, конечно. Идентификация происходит через cookies. Соответственно, узнав ID, надо просто отправить нужный session_id со своего сервера или браузера.
    Ответ написан
    1 комментарий
  • Что происходит со шрифтом на сайте и в photoshop?

    SmthTo
    @SmthTo
    Все перепёлки мира будут оплакивать мою смерть.
    Это разница между движками рендеринга шрифтов в ОС и Photoshop'е. Плюс, браузеры вносят свою лепту.

    Чтобы было как на fonts.google.com, добавьте это в CSS:
    html, body {
    	-webkit-font-smoothing: antialiased;
    	-moz-osx-font-smoothing: grayscale;
    }

    Более ничего вы сделать не сможете.

    Update. Ну можно, конечно, хернёй помаяться ещё со следующими свойствами:
    -webkit-text-stroke: 0.4px rgba(0, 0, 0, 0.1); /* Сильно влияет на рендеринг (условно, т. к. сам механизм рендеринга навряд ли меняет), аккуратнее с этим свойством */
    text-shadow: #fff 0px 1px 1px; /* Да, LOL, оно тоже влияет на рендеринг */
     text-rendering: optimizeLegibility; /* Так и не понял результат работы  вот этого */
    Ответ написан
    6 комментариев
  • Как использовать информацию с api json в своем сайте?

    @uroot
    Вот пример с комментариями. В консоли выводятся все данные, лежат в data. Через alert вывел username и id.
    Ответ написан
    Комментировать
  • Почему адаптивная вёрстка не работает, на телефоне?

    Скорее всего вы забыли прописать
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    Ответ написан
    3 комментария
  • Обьясните зачем конкретно нужны Redis и Memcached и можно ли их связать с технологиями как nodejs?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Кешировать можно все, что лежит на диске или в БД. Если бы Вы писали на чем-то вроде PHP, то был бы смысл в Memcached, просто поставив его между СУБД и приложением, кешируя результаты запросов можно значительно увеличить производительность. А вот использовать его с node.js я не вижу смысла, потому, что в ноде можно и так держать все в структурах данных в памяти приложения, ведь нодовские приложения "долгоиграющие", они не перезапускаются при каждом следующем GET/POST запросе и не освобождают память. Поэтому мы можем разместить в оперативной памяти кеш прямо внутри приложения и сэкономить на межпроцессовом взаимодействии (memcached это все же другой процесс). Но от межпроцессового взаимодействия все же нельзя полностью отказаться, если один процесс ноды не справляется, то нужно запускать несколько и приклеивать пользователей к процессам (ip sticky, cookie sticky), если же нужно будет организовать взаимодействие между двумя пользователями, приклеенными к разным процессам, то тут нам поможет Redis, ZMQ, RabbitMQ для передачи событий из процесса в процесс.
    Ответ написан
    2 комментария
  • Где лучше учить sql?

    php10
    @php10
    Разработчик на PHP
    Напишите Highload проект, к примеру собирайте какую-нибудь информацию с сайтов.
    В процессе написания кода, начнете гуглить точечно про оптимизацию запросов и со временем придет общее понимание.
    Ответ написан
    2 комментария
  • Что такое кластер баз данных?

    bingo347
    @bingo347
    Crazy on performance...
    Попытаюсь объяснить на пальцах
    В большинстве случаев основная нагрузка идет на чтение БД, часто бывает, что одна машина не справляется с существующей нагрузкой, тогда поднимают кластер — запускают СУБД на нескольких машинах, одна из них объявляется мастером, остальные репликами
    Мастер занимается только записью и распространением готовых изменений по репликам
    А читаем мы только из реплик, балансируя нагрузку между ними, тем самым снижая нагрузку на каждую из них и уменьшая время отклика
    Ответ написан
    1 комментарий
  • Что такое кластер баз данных?

    @bychok300
    Кластеризация, если говорить простыми словами, - это разбиение на группы, по определенным критериям. Кластер это группа объектов.
    Ответ написан
    Комментировать
  • Как починить регистр * в vim?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Из :help registers:
    8. Selection and drop registers "*, "+ and "~
    Use these registers for storing and retrieving the selected text for the GUI.
    See quotestar and quoteplus. When the clipboard is not available or not
    working, the unnamed register is used instead. For Unix systems the clipboard
    is only available when the +xterm_clipboard feature is present. {not in Vi}


    В debian 9 без vim-gui-common:
    $ vim --version | grep -o .xterm_clipboard
    -xterm_clipboard

    так что и не должно работать. После установки vim-gui-common:
    $ vim --version | grep -o .xterm_clipboard
    +xterm_clipboard
    Ответ написан
    Комментировать
  • Как связать Gitlab CI и проекты Visual Studio?

    bstdman
    @bstdman Автор вопроса
    Desktop разработчик
    Отвечу сам себе, вот пример job script для построения Release и Debug конфигураций, с восстановлением пакетов из Nuget (e3Shell.Extensions.sln - имя файла решения):

    git submodule update --init
    ls -la
    
    echo "Restoring NuGet Packages..."
    "c:\nuget\nuget.exe" restore "e3Shell.Extensions.sln"
    
    echo "Debug build..."
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Debug /verbosity:quiet "e3Shell.Extensions.sln"
    
    echo "Release build..."
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "e3Shell.Extensions.sln"
    
    echo "Build success."


    Update 27.10.15: для новых версий Gitlab (начиная с версии 7.12) в репозитории создается файл .gitlab-ci.yml со следующим содержимым:
    stages:
      - build
    
    job:
      stage: build
      script:
      - git submodule update --init
      - ls -la
      - ''
      - echo "Restoring NuGet Packages..."
      - '"c:\nuget\nuget.exe" restore "TerminalClone.sln"'
      - ''
      - echo "Debug build..."
      - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly
        /maxcpucount /nologo /property:Configuration=Debug /verbosity:quiet "TerminalClone.sln"
      - ''
      - echo "Release build..."
      - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly
        /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "TerminalClone.sln"
      - ''
      - echo "Build success."
      tags: 
      except:
      - tags
    Ответ написан
    Комментировать
  • В чем суть WinApi?

    @Mercury13
    Программист на «си с крестами» и не только
    Windows API — это самый низкоуровневый интерфейс Windows, доступный прикладному программисту — в том плане, что он на долгосрочной поддержке и не изменится с Windows 11.

    Поверх Windows API работают все BOOST и STL.

    Пример: читать файл в 130 мегабайт по одному байту. Добавив асинхронного чтения через OVERLAPPED, я сумел это сделать менее чем за 2 секунды (это был поток общего назначения с виртуальными read(), write() и seek(); специализированный прикладной буфер даст ещё выигрыша, но и это хорошо). То же самое через FILE* — не дождался.

    Пример второй, всё те же файлы. Дело в том, что Excel захватывает свои файлы на всё время, пока он открыт. Закрывать? — плохой выбор. Добавив один флажок в CreateFile, документы всё-таки стало возможным открывать при работающем Excel.
    Ответ написан
    2 комментария