• Я написал роутинг, который берет значения из БД (чтобы при изменении в БД не пришлось менять код). Но это замедляет сайт. Как лучше закешировать это?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    sorry_i_noob, с этим "не надо" работать, в том плане, что кэш запросов обычно работает "из коробки". Иными словами, от Вас каких либо действий (ну кроме, разве что настройки всего этого дела "под себя", в случае необходимости) не требуется. Как работает кэш запросов, и как посмотреть насколько он используется - Вы можете прочесть например тут.
  • Я написал роутинг, который берет значения из БД (чтобы при изменении в БД не пришлось менять код). Но это замедляет сайт. Как лучше закешировать это?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Я хочу, чтобы при первом же запросе к БД к таблице pages создавался кеш.
    Если Вы используете MySQL - она по умолчанию умеет кэшировать результаты запросов. Конечно, можно закешировать данные дополнительно, но, скорее всего это не даст "вау-эффекта" в Вашем случае.
  • Как работать одновременно с несколькими экземплярами класса?

    whoareyoutofuckinglecture, рад что Ваш вопрос решился, обращайтесь, если будут новые вопросы :)
  • Как работать одновременно с несколькими экземплярами класса?

    whoareyoutofuckinglecture, у меня работают вот такие варианты:

    а) Судя по всему более правильный, хотя однозначно не могу сказать:
    class Class1(object):
        def talk(self):
            print("Hello world!")
    
    c1 = Class1()
    c2 = Class1()
    
    for cname in ['c1', 'c2']:
        globals()[cname].talk()


    б) Вероятно, менее правильный вариант:
    class Class1(object):
        def talk(self):
            print("Hello world!")
    
    c1 = Class1()
    c2 = Class1()
    
    for cname in ['c1', 'c2']:
        eval(cname+'.talk()')


    P.S. Ещё раз напомню, что я не эксперт по Python'у и, вполне вероятно, есть какие-то более красивые, элегантные, и возможно более "правильные" варианты. Проверял на Python 2.7.
  • Как работать одновременно с несколькими экземплярами класса?

    Мне необходимо брать название каждого экземпляра класса из списка (crit1, crit2, ... , critN), и применять к ним методы.
    Я не великий питон-мастер к сожалению, по этому не знаю, что подразумевается под списком в Вашем случае... Но вот пример который берёт имена классов из массива и вызывает у них метод talk():

    class Class1(object):
        def talk(self):
            print('Class 01')
    
    class Class2(object):
        def talk(self):
            print('Class 02')
    
    for cname in ['Class1', 'Class2']:
        globals().get(cname)().talk()


    P.S. У меня такой вариант - работает, Python 2.7
  • Как правильно использовать Git при работе над SPA приложением одному разработчику?

    ewb, зачем Вам какие-то плагины для Atom'a, если он поддерживает основной функционал Git'а из коробки? Для примера: 5ba3cce7d2fd0597604520.png (правый нижний угол Atom'а).
  • Как быстрее копировать?

    Согласно ману первая архивирует, вторая сжимает... Разве это не одно и тоже? Или первая сжимает все файлы сразу в один архив, а вторая каждый файл отдельно сжимает?
    Архивация (если говорить о программах-архиваторах) - это объединение нескольких файлов в один и к процессу сжатия это не имеет никакого отношения, компрессия (или "сжатие") - это уменьшение размера исходного файла. Например, TAR - это архиватор, а GZip или BZip - это компрессор, иногда они используются вметсе (сначала файл архивируется а потом сжимается, или сначала файлы сжимаются по отдельности, а потом архивируются).

    С точки зрения скорости передачи данных, если и передающая сторона и принимающая - обладают достаточно мощным процессором для компрессии/распаковки - целесообразно файлы сжимать. В случае же с архивацией - зависит от протокола передачи данных и кол-ва файлов, например, среднестатистический исходный код проекта N, по FTP передаётся гораздо быстрее в виде архива, в большинстве случаев.

    На счёт конкретно RSync'а и Вашего конкретного случая - сложно сказать наверняка...
  • Чем передать видео с камеры ноута?

    synapse_people, точную ссылку сейчас не могу привести (нужно поискать), но, минут за 10-15 я думаю Вы легко сможете найти нужную статью по запросу "проброс порта SSH".
  • Существуют ли приложения для контроля уровня звука Android?

    Wolfnsex
    @Wolfnsex Автор вопроса
    Насколько я понимаю, это приложение блокирует ползунок громкости на телефоне, а не корректирует корректирует саму громкость...
  • Почему json_decode не работает с переносом строки \n из БД?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    В какой части JSON'а у Вас перенос строки? и как он выглядит, именно как последовательность символов "\n" или как перенос строки?
  • Стоит ли минифицировать и склеивать файлы, если есть http2 и gzip?

    Просто как-то глупо получается, что сборщик js и css тратит по минуте на элементарные вещи и жрёт в 5 - 10 раз памяти больше, чем основной код (последнего на порядок - два раз больше) и база данных вместе взятые
    Я пока не очень представляю, какого объёма должны быть постоянно изменяющиеся части JS + CSS и/или насколько всё должно быть спроектировано безграмотно и/или насколько должен быть слаб рабочий компьютер, что бы сборка всего хотя бы отдалённо могла приблизиться к минуте, в частном случае, промежуточная пересборка изменившихся частей кода обычно укладывается в интервал времени менее секунды (лично у меня).

    Касательно "сборщик жрёт в 5-10 раз больше чем основной код и база вместе взятые" - если сборщик потребляет, до 300Мб (как я уже писал выше), соотв., число в 5-10 раз меньше будет составлять 30-60Мб... Если основной код "жрёт", скажем, мегабайт 10... На базу остаётся 20-50Мб... Я пока не встречал баз настолько микроскопического размера, которые свободно бы помещались и работали в столь ничтожном объёме памяти, по этому, как либо прокоментировать это не могу.

    Так на других языках меньше занимаются дешёвой вёрсткой, им не так часто нужно обновлять страничку.
    Вёрсткой обычно занимаются на вполне конкретных языках: HTML, CSS, JS. О каких именно "других" языках Вы говорите - я пока не понимаю.
  • Стоит ли минифицировать и склеивать файлы, если есть http2 и gzip?

    batyrmastyr, в предыдущем комментарии, говоря о "ноде для сжатия JS/CSS" - я имел в виду не исключительно эти задачи, а эти задачи в том числе, так как два наиболее популярных сборщика (или даже три, если взять во внимание ещё Grunt), а именно Gulp и Webpack - написаны в виде модулей NodeJS, а так же в виде подобного модуля написаны, например, такие полезные вещи как BrowserSync и масса других, не менее полезных плюшек, добрую половину которых, на других языках я либо не встречал вообще, либо не видел ни на одной из других платформ полностью автономного, полноценного и самодостаточного стека для задач подобного рода (под такими задачами, я подразумеваю, нечто более чем вёрстку одной-двух примитивных страниц без надобности поддержки оных в дальнейшем, тестирования и т.д.).

    По поводу "сотен мегабайт оперативки" - в полном обвесе, в режиме сборки - я смог заметить потребление ~200Мб памяти, а в режиме постоянной работы ~300Мб памяти... не вижу в этом вообще никаких проблем, планка памяти на 2Гб стоит примерно столько же, сколько час работы не самого квалифицированного программиста, а дисковое пространство - ещё меньше. При том, что IDE на "холостых оборотах" может легко потреблять 1Гб и более памяти.

    Но, если в каком-то отдельном (Вашем) случае, всё строго наоборот и труд программистов стоит очень дешево, а лишний гигабайт памяти - очень дорого - могу предложить решение и конкретно для этой ситуации:
    1. Арендуете VPS за 1-5$ (в зависимости от того, насколько позволяет бюджет) с 1Гб оперативной памяти
    2. Поднимаете там полноценный сервер для сборки (1Гб памяти ему хватит вполне)
    3. Пробрасываете туда файловую систему проекта, каждого из участников команды
    4. Сервер отслеживает изменения, делает сборку, выгружает готовые файлы обратно потребляя килобайты памяти на поддержку TCP-соединения, и не затрагивая оперативную память несчастных

    А если про подсчёт памяти (оперативной и постоянной) речь идёт очень жестко - можно вместо рабочих мест всем раздать тонкие клиенты (вообще без HDD), подключаться и работать прямо на удалённом сервере, вооружившись консольным редактором, типа vi(m)'а, в этом случае, экономия памяти и дискового пространства будет максимальной.
  • Стоит ли минифицировать и склеивать файлы, если есть http2 и gzip?

    batyrmastyr, я пока не совсем представляю, в каком именно ключе речь идёт о ноде... Первичную оптимизацию, здравомыслящие разработчики обычно делают локально (во время разработки проекта), а для конечной (дополнительной) оптимизации, при желании, можно использовать Apache + mod_pagespeed, который устанавливается одной командой и настроек (кроме как активации оного) в простейшем варианте - не требует вообще.
  • Знаете ли вы чаты, где можно пообщаться с начинающими программистами?

    the_unit, не могу найти Вашего письма... Черканите в мне скайп пожалуйста.
  • Знаете ли вы чаты, где можно пообщаться с начинающими программистами?

    xmoonlight, не совсем понимаю о чём Вы, но игра классная, помню её, да :)))
  • Знаете ли вы чаты, где можно пообщаться с начинающими программистами?

    Напишите мне на почту или в скайп (контакты есть в профиле), пришлю Вам ссылку на наше мини-сообщество в скайпе/телеграме, если интересно. Там обитают не только начинающие, но и довольно опытные коллеги...
  • Какие расценки на копипаст контент-менеджера?

    Анна Новожилова, Я расскажу вкратце как работаю лично я и мои коллеги по цеху. У каждого из нас есть строго почасовая оплата, исключение составляют только некоторые виды работ связанные с финансами и безопасностью и выполняемые "под ключ". Час работы стоит N евро/долларов/рублей, минимальный объём работ, обычно, 2-3 часа, любой разовый объём работ меньше - оплачивается как полные 2 (3) часа, не зависимо от того, старый это заказчик или новый (ну с той лишь разницей, что со старых заказчиков, за всякую мелочь мы не берём денег вообще).

    Для тех кто сидит на "поддержке" - определяется минимальный объём времени, которое будет отведено на его работу и обговариваются общие правила выполнения подобных работ (например, после поступления задачи - время реакции составляет 3 рабочих дня), оплачивается такая работа соотв. так же, в почасовом режиме.

    Предвещая вопросы формата "а как понять, сколько исполнитель часов работал реально?" - отвечу на них заранее. Мы определили для себя (и заказчиков) среднестатистический объём работы, который можно выполнить за час и благодаря этому - всегда можем сразу озвучить и сумму и срок. Если исполнитель работает быстрее - соотв. получает "премию". Если медленнее - соотв. это становится его личной проблемой.
  • Кто может помочь изменить текст в exe файле?

    exeScope и Restorator или поиск по запросу "редактор ресурсов exe" пробовали?

    P.S. Ссылки выше даны для пример, официальные сайты данных программ мне неизвестны.