Задать вопрос
  • Подходит ли PHP для парсинга сайтов, достаточно ли его возможностей чтоб удовлетворить большинство заказчиков на фрилансе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    php и perl обычно более чем достаточно.
    python полезен, если вы не знаете ни php ни perl, но знаете python.

    И вообще, для парсинга достаточно любого языка, на котором вы можете написать парсер.

    А для серьезных скоростей нужно не парсить а API.
    Ответ написан
    2 комментария
  • Что у меня с памятью?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    А зачем вам чистить память?
    Проверьте чем именно занято. WIndows7 не глупая система, она не тратит лишнее время на чистку памяти, наоборот использует всю доступную память под кеширование дисковых данных, чтобы по возможности реже его дергать. Если вы будете запускать какой-то софт, win7 сама распределит сколько памяти забрать у кеша для запуска ПО.

    Почитайте подробнее про работу Win7 с памятью, и не занимайтесь "народным целительством".
    Ответ написан
    3 комментария
  • Существует ли SVN клиент для Mac, который умеет работать без сертификата на сервере?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А добавить в систему исключение?
    Ответ написан
    3 комментария
  • Что такое call stack?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Когда-то был оператор goto, и программы выглядели так

    10 let a = 5
    20 if a =5 then goto 100
    30 print "Вот и все, ребята"
    40 exit
    
    100 print "Да, наше a = 5"
    110 goto 30


    Мы что-то проверяем, если проверка успешна, вызываем какое-то действие. Затем возвращаемся назад.
    Но такой вариант оказался неудобным, если это какое-то действие нужно вызывать из разных мест, а потом возвращаться именно в эти разные места. Поэтому сейчас используется не goto, а call (вызов), который кладет в стек адрес текущего места выполнения и переходит в подпрограмму. В конце подпрограммы по команде return, он берет из стека адрес и по нему возвращается назад.
    Так как в стек можно положить что-то еще, то можно внутри вызванной подпрограммы вызвать другую подпрограмму, и рекурсивно вызывать столько раз сколько нужно. Потом все call-ы будут красиво закрыты return-ами в обратном порядке.
    main () {
      call program1;
      call program2;
    }
    
    program1 () {
    call program 3;
    return;
    }
    
    program2 () {
    call program3;
    return;
    }
    
    program3 () {
    return;
    }

    В данном варианте у нас работает так:
    1. из основной части main, вызывается program1 (в стек кладется адрес этой)
    2. из вызванного program1 вызывается program3 (в стек добавляется адрес этой команды, там уже две)
    3. из program3 мы возвращаемся, беря последнее значение из стека (возвращаемся в program1)
    4. снова возвращаемся, беря адрес из стека и попадаем в main
    5. тоже самое с вызовом program2-program3-program2-main

    Стек обычно растет сверху вниз, каждая команда return берет самый последний нижний адрес и возвращается по нему, что позволяет создавать множество вложенных вызовов, и рекурсивно с ними работать.
    Но не нужно забывать, что стек не бесконечен. десять или сто вызовов вообще ни о чем на современных компах, но миллион или миллиард, умножить на размер адреса (например 4 байта), может занять мегабайты и гигабайты.
    Ответ написан
    Комментировать
  • Свой собственный локальный Интернет возможно или нет?

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

    Интранет уже давным давно существует, называется локальная сеть, можно найти практически в любой коммерческой и некоммерческой организации.
    Ответ написан
    1 комментарий
  • Как построить систему контроля версий для веб-проекта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    git работает и в винде и в линукс, а изучить несколько команд в командной строке не проблема.
    git init это не команда linux, это команда git, и работает одинаково и там и там. Разница может только в особенностях файловой системы (аттрибуты и права доступа), но вы все равно по ftp заливаете.

    Не обязательно ставить сервер, можно просто работать в локальном репозитории, просто при ftp нужно будет не копировать папку .git

    Официальная документация на официальном сайте git прекрасно описана чтобы сразу начать (есть даже на русском), или чтобы читать глубоко и полно.
    Ответ написан
    3 комментария
  • Когда использовать framework, а когда cms?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Не все можно написать на CMS и не очень приятно тянуть в свой проект баги и уязвимости CMS. Ограничения CMS будут заставлять писать крайне неудобные и корявые решения, если встретится что-то не укладывающееся в типовое CMS-решение.

    Писать на чистом php без фреймворка - и дольше и сложнее. Вдобавок категорически сложнее и дороже поддерживать, так как фреймворк обязывает соблюдать парадигму и рекомендации.
    И в отличии от непонятного продукта на чистом PHP, можно потом взять любого специалиста, знающего этот фреймворк и с ним дописать что-нибудь еще очень быстро и надежно.
    Ответ написан
    Комментировать
  • Как выбрать компьютерный стол? Какой лучше?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Обратите внимание на размер вашей комнаты, и сколько вы готовы выделить под стол.
    Я бы порекомендовал угловой стол, а не прямой, чтобы удобнее было с мышкой.
    В общем случае, заказать хороший стол у столяра будет дешевле чем купить брендовый стол, тем более что стол сам по себе очень несложная конструкция. Зато можно идеально в размеры вписаться и ножки покрепче заказать.
    Ответ написан
    Комментировать
  • Как найти слово в строке файла (bash)?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Используйте
    cut -d "<разделитель, например пробел>" -f <номер нужного столбца"
    Ответ написан
    1 комментарий
  • Имеется 5 метровый USB кабель для принтера. Будет ли поступать хороший сигнал от компьютера до принтера?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    USB кабеля бывают разные.
    Обычный кабель может работать без потерь до 2-3 метров.
    Экранированный USB может добить до 5 метров.

    Но в продаже есть множество "активных кабелей", которые на борту имеют простейший USB хаб. Можно взять несколько активных экранированных 5-метровых удлинителей и вставлять их друг в друга, ограничиваясь только адекватностью.
    Ответ написан
    2 комментария
  • Зачем в 32 разрядной виндовс существует ограничение в 4 гб?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Правильно не "зачем", а "почему".
    Это не причина, а следствие 32-битной архитектуры, которая может адресовать не более 4 гб

    1111111111 1111111111 1111111111 11 в двоичной системе, это 4294967295 в десятичной.
    То есть максимальное число, которое можно задать используя 32 бита.
    Ответ написан
    Комментировать
  • Как хранить пароли удобно и правильно?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Критичные сервисы - локальный менеджер паролей или файликами на маленьким криптодиске.
    Некритичные множественные сервисы - придумать алгоритм создания пароля, с участием примет ресурса.
    ssh - ключи и выкинуть пароли.
    Ответ написан
    Комментировать
  • Как сохранять бэкапы на сервер через консоль?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Команда date позволяет создать строку в удобном виде, используя date +<формат>
    2. Команда, заключенная в обратные одинарные кавычки, будет выполнена, и вместо нее подставлен результат выполнения.

    То есть можно делать
    zip myarchive.zip file1 file2 file3

    А можно
    zip myarchive_`date +%Y%m%d-%H%M%S`.zip file1 file2 file3

    3. Копировать файлы на удаленный сервер без пароля - настройте авторизацию по ssh ключам.

    4. Удалять старые файлы можно, выполняя на удаленном компе например команду
    find /directory -ctime +10 -delete
    будут удаляться файлы старше 10 дней.

    А вообще, посидите вечерок, погуглите что такое bash и стандартные консольные команды в Linux.
    Ответ написан
    7 комментариев
  • Как получить мак-адрес в двоичном виде?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }
                    08    00    27    7B    32    FE

    А если я ваш адрес вот так подставлю, лучше выглядит?
    p.s. у вас адрес уже в нужном виде.
    Ответ написан
    Комментировать
  • Как подсунуть регулярку в командную строку ВИНДЫ?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Стандартов регэкспов несколько. и MS не особо жаждет стандартизировать свои регулярки с распространенным PCRE или еще чем-то. В том же Word у него вообще что-то свое.
    Поэтому читайте документацию по findstr и пишите регулярку, которую он умеет парсить.

    А еще лучше, поставьте себе git, с которым идет куча нормально портированный linux утилит, и используйте grep
    Ответ написан
    6 комментариев
  • Что делать если тимлид неквалифицированный специалист?

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

    Потому что работать будет и то и другое и третье. Вопрос нужна ли вам быстрая разработка.

    Что вам делать - решайте сами, потому что информации слишком мало.
    А по сути - в любой крупной компании есть проекты не очень, есть сотрудники не очень, и вообще 95% населения идиоты. Айтишники не исключение.
    Ответ написан
    2 комментария
  • Как создать свою команду в консоли?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    пишете startsite.sh на баш, помещаете его куда-нить в PATH

    #########################
    #!/bin/bash
    
    if [ -d "$1" ];
    then 
      cd /var/www/public_html/$1.loc
      atom
      gulp watch
    else
      echo "$1 website not found"
    fi

    #########################

    и запускаете его типа
    startsite.sh sitename
    Ответ написан
    Комментировать
  • Мигает экран Windows 10. Слежка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Многие жалуются на репортинг сервис в винде.
    Отключите эти службы, любым способом, например как на видяшке.

    https://www.youtube.com/watch?v=x8xwH-juaCg
    Ответ написан
    Комментировать
  • Самый простой deploy jar на linux сервер?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    напишите скрипт на bash, который скопирует файл на удаленный сервер и перезапустит на нем нужный процесс (tomcat или вашу java)
    Ответ написан
    Комментировать