• Почему LIMIT так сильно влияет на скорость?

    alsopub
    @alsopub
    Если вы их выполняли именно в этой последовательности, то ничего странного нет.
    В первом случае была перелопачена база, отобраны 20 записей, а во втором случае - все уже лежало в кеше.
    Ответ написан
    Комментировать
  • Как поднять себе зарплату?

    sim3x
    @sim3x
    Хочешь больше зп?
    Найди новую работу

    АПД
    Теоретически, нужно поговорить с начальством. Да

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

    Даже теоретики в коментах

    АПД2
    У прохождения собеседования есть еще преимущества
    - ты получаешь подтверждение своей квалификации и необходимости тебя на рынке
    - ты получаешь денежный еквивалент своей ценности
    - ты получаешь повышение навыка прохождения собеседований - ето отдельный навык, который не часто пересекается с навыком программирование/разработка/администрирование/...
    - в случае провала собеседования у тебя нет никаких побочных еффектов
    - ты получаешь срез навыков необходимых рынку
    Ответ написан
    36 комментариев
  • После обновления php до версии 7.0 перестали работать сайты на вордпрессе?

    Pinsky
    @Pinsky
    Кофеиноникотиновая смесь в backend-код
    Перенастройте handler у web-сервера. У Вас php-файлы просто не исполняются сейчас
    Ответ написан
    5 комментариев
  • Как выйти из main после завершения всех рутин?

    @FireGM
    https://golang.org/pkg/sync/#example_WaitGroup
    Хотя с каналами и быстрее, но я предпочитаю контроль через wg.

    upd.

    Контролируйте количество рутин. Раздробите приложение на маленькие функции.
    в главном сразу запускается 10 рутин на выполнение запросов, 10 рутин на анализ ответа от сторонего сервиса, 10 рутин ещё чего-либо.
    Рутины для выполнения запросов принимают, например, из единого канала урл, на который надо сделать запрос. Отправляете урл в канал, свободная рутина хватает и выполняет запрос, получет ответ, передает в другой канал, из которого уже хватает свободная рутина для анализа ответа. Ну и т.д.

    Вот топорный пример, как делаю я

    package main
    
    import (
    	"fmt"
    	"io/ioutil"
    	"net/http"
    )
    
    func main() {
    	urls := []string{"http://google.ru", "http://vk.com", "http://ya.ru"}
    	chanUrls := make(chan string, 100)
    	chanRes := make(chan http.Response, 100)
    	chanPrint := make(chan string, 100)
    	for _, url := range urls {
    		chanUrls <- url
    	}
    	close(chanUrls)
    	go httpGet(chanUrls, chanRes)
    	go analys(chanRes, chanPrint)
    	printRes(chanPrint)
    }
    
    func httpGet(chanUrls <-chan string, chanRes chan<- http.Response) {
    	defer close(chanRes)
    	for url := range chanUrls {
    		res, err := http.DefaultClient.Get(url)
    		if err == nil {
    			chanRes <- *res
    		}
    	}
    }
    
    func analys(chanRes <-chan http.Response, chanPrint chan<- string) {
    	defer close(chanPrint)
    	for res := range chanRes {
    		body, err := ioutil.ReadAll(res.Body)
    		if err == nil {
    			chanPrint <- string(body)
    		}
    	}
    }
    
    func printRes(chanPrint <-chan string) {
    	for pr := range chanPrint {
    		fmt.Println(pr)
    	}
    }
    Ответ написан
    Комментировать
  • Как выйти из main после завершения всех рутин?

    @arctblake
    В main:
    var wg sync.WaitGroup
    ...
    Перед запуском каждой горутины сделать wg.Add(1) (не в самих горутинах, а в том же main прямо перед go ...

    В каждую горутину первой строчкой добавить defer func() { wg.Done() }()

    Потом в main создать еще одну горутину - контролирующую. В ней всего 2 строчки:
    wg.Wait()
    close(канал)

    Ну и дальше в main остальной код.
    Ответ написан
    8 комментариев
  • Apache одновременно с IIS 8.5 - как?

    BuriK666
    @BuriK666
    Компьютерный псих
    Если на сервере только один IP, то можно повесить Apache на другой порт, а с помощью IIS пробрасывать нужные запросы в Apache. Или наоборот. Или поставить IIS и Apache повесить на другие порты, а на 80 повесить Nginx и пусть он разбирается кому, какие запросы отправлять. Других вариантов нет

    Если IP несколько, то просто повесить IIS и Apache на разные IP.
    Ответ написан
    2 комментария
  • Локализация больших данных в Laravel?

    miraage
    @miraage
    Старый прогер
    Я бы предпочел использовать gettext в больших проектах.
    Ответ написан
    Комментировать
  • Какие порекомендуете книги где есть примеры создания движка на PHP?

    VGrabko
    @VGrabko
    Golang, Php, Js
    Что бы написать свой движок надо выучить 1 готовый (c) Я
    Ответ написан
    8 комментариев
  • Как получить нужную часть через регулярное выражение?

    @shagguboy
    var_dump($matchimages)
    Ответ написан
    Комментировать
  • Viber в качестве офисного мессенджера?

    @imhuman
    А чего там подводных камней? Мессенджер, как мессенджер. У джаббера есть плюс в том, что можно иметь свой сервак и не зависеть от стороннего сервиса, который может упасть в самый неподходящий момент или попасть в немилость политикам. Зависит от того какие цели преследует начальство, нужны ли им звонки или достаточно только текста. Я бы вообще на телеграм перешел, и узнавал бы о состоянии/наличии заказов, наличии сотрудников в офисе, да много чего еще с помощью бота и отвлекал бы сотрудников только по необходимости личного общения) Но джаббер бы обязательно оставил, как резервный вариант.
    Ответ написан
    Комментировать
  • Насколько тяжело работать с большой MySQL базой?

    MetaDone
    @MetaDone
    Хорошо сформулированный вопрос - 50% решения
    1. примерно 700 мегабайт
    2. зависит от индексов, организации. Если правильно проставите индексы, то проблем не будет и запросы будут обрабатываться быстро. У меня есть один сайтик с 60млн записей в одной таблице - все норм.
    3. Желательно взять с ssd, но такие стоят дороже.
    Ответ написан
    5 комментариев
  • Насколько тяжело работать с большой MySQL базой?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    1) Сколько места будет занимать база с 1 млн подобных записей?
    В текущих реалиях - незначительное. Грубая верхняя граница - 10Гб (плюс-минус пара петабайт).

    Насколько тяжёлые будут запросы к выборке из такой большой базы?
    Зависит от запросов.

    Если база увеличится до 10 млн, то и длительность/тяжесть запросов пропорционально в 10 раз увеличится?
    Прямой корреляции между размером таблицы и скоростью выполнения запросов нет, движущихся частей в этом процессе довольно много - это и индексы и структура самих запросов.

    На какие параметры стоит обратить внимание при выборе хостинга/vps/vds под такую базу?
    Для сферической базы в вакууме, с которой будет работать сферическое приложение в вакууме берите тот сферический VDS в вакууме, на который у вас хватает денег. Если он не будет справляться со сферической нагрузкой в вакууме, берите VDS мощнее. Live - Die - Repeat.

    P.S.
    Насколько тяжело работать с большой MySQL базой?
    К вечеру начинает лапы ломить и хвост отваливается, но в целом - терпимо.
    Ответ написан
    Комментировать
  • Возможно ли реализовать функционал десктопной программы в ВЕБе?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    В программу я загружаю список прокси, список аккаунтов ВКонтакте. При нажатии кнопки “Старт” программа в многопоточном режиме начинает выполнять задания на сайте ***.

    Итак, программа должна обладать следующими характеристиками:
    1. Многопоточная
    2. Конфигурируемая (прокси и т.п.)
    3. Умеет отправлять http-запросы ("выполнять задания на сайте")


    Возможно ли в ВЕБе реализовать данный функционал? И на каком ЯП сделать это проще?

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

    @krypthon
    Абсолютно да!
    Помню встречал sencha.js на котром был реализован gnome как пример но она была платная.
    Ответ написан
    Комментировать
  • Возможно ли реализовать функционал десктопной программы в ВЕБе?

    ACCNCC
    @ACCNCC
    Делаю игры!
    Как вариант node.js + nw.js
    Ответ написан
    Комментировать
  • Как работать с базой данных, когда используешь Wordpress и GIT?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    вижу два варианта: миграции и ручная синхронизация, по миграциям можно использовать phing в нем есть функционал миграции, для его работы нужен только php. Для ручной синхронизации я использую dbForgeStudio, этот инструмент отлично подходит для сравнения двух баз и возможности синхронизации как структуры так и данных.
    Ответ написан
    Комментировать
  • Как получить unix timestamp из строки?

    Hatsune-Miku
    @Hatsune-Miku
    Няшк :3
    php.net/manual/ru/class.datetime.php

    <?php
    $date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
    echo $date->getTimestamp('Y-m-d');


    Параметры в createFromFormat замените.
    Ответ написан
    Комментировать
  • Как получить unix timestamp из строки?

    BuriK666
    @BuriK666
    Компьютерный псих
    $time_str = '2016-05-27 23-00-00';
    $datetime = DateTime::createFromFormat('Y-m-d H-i-s', $time_str);
    var_dump($datetime->getTimestamp()); //int(1464390000)
    Ответ написан
    Комментировать
  • В чем разница в драйверах Linux, OS X и Windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    "драйвер это чаще всего графический инсталлятор"
    "Если в винде драйвер это инсталлятор, то что есть драйвер в Linux и OS X?"

    Не приравнивайте инсталлятор драйвера и сам драйвер. Драйвер в винде может предствлять собой один .inf файл, и не иметь никакого инсталлятора.

    У вас вообще сильно перепутано что такое драйвер и в качестве отличия драйверов между системами вы видите только способ установки, но всем системам нужны драйвера.

    Вам нужно просто понять принципы дистрибьюции софта в разных ОС.
    В Линукс принято пользоваться репозиториями, и редко качать что-то с сайта (обычно если качать, то там исходники, которые нужно еще и собирать)

    В Mac производитель железа и ОС один и тот же, поэтому идет с ОС, но для некоторых устройств - также на диске или с сайта, но так как производитель один, несложно организовать автоматическое скачивание, и даже сторонняя периферия сертифицируется в Apple, что упрощает автоматизацию.

    С виндой идет множество вшитых драйверов, которые не требуют от вас никаких действий, чтобы работать. Чем старше винда, тем больше девайсов, которые определятся сами.
    Но множество девайсов выпускаются без особого взаимодействия с MS, просто пользуясь их рекомендациями, WHQL драйвера считаются стабильными, но любой может написать драйвер к своему устройству, выложить на своем сайте, и понятно что MS про это может и не знать.

    В Линукс ядро разрабатывается одними людьми, а дистрибутив Линукса и тулзы, которые входят в дистрибутив - другие. Поэтому часто указывается, что драйвер встроен в ядро (то есть будет присутствовать на всех Линукс).
    В Линукс лучше сделана работа со стандартным типом устройства, поэтому может не всегда будут работать все фичи и все возможности, но зато стандартным драйвером, встроенным в ядро, будет поддерживаться гораздо больше устройств этого типа, не задействуя все фичи устройства.

    Если взять видеокарту, которая поддерживает DirectX12, то в Линуксе его (DirectX) вообще нет, и Линукс не сможет пользоваться всеми фичами, предоставляемыми карточкой, вот и ответ почему Линукс работает со многими устройствами стандартными драйверами, а Windows требует индивидуальный.
    Ответ написан
    Комментировать
  • Кто знает замену MongoDB?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну могу посоветовать, как альтернативу, Elasticsearch. Но, боюсь, она вам еще больше не понравится, хотя на мой взгляд очень даже. По моему, у вас просто что-то не то с организацией данных, да и какие проблемы выбрать последние 10 по дате? Это же обыкновенный поиск по индексу, все должно очень быстро работать.

    PS.
    recloudor: И да, как альтернативу сортировке, предлагаю использовать для этого REDIS. При добавлении поста в монгу, добавлять id поста дополнительно и в list REDIS.
    rpush user_posts:id1234 321
    Из редиса доставать ОДНИМ запросом идентификаторы последних n-записей
    lrange user_posts:id1234 10 -1
    Ответ написан
    4 комментария