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

    @vrazrabotchik
    Послухай меня, старого задрота у которого реальный кризис среднего возраста наступил года 3 назад и до сих пор не попускает.
    В свои 16 лет я то же был примерным мальчиком и считал что родители лучше знают. Родители говорили что надо учится на отлично — я учился, говорили что нельзя гулять по темноте — я приходил домой в 8 вечера, говорили что дружить нужно только с хорошими детьми... А вот про девушек они говорили только что рано еще об этом думать — еще успеешь.
    Я читали книги, много книг, решал примеры, писал проги на спектруме, выигрывал олимпиады — и это все мне нравилось. Девушки смотрели на меня как на пустое место, пацаны считали «маменькиным сынком» и в свою компанию не приглашали. Мне было интереснее в обществе взрослых, которые считали меня «умным мальчиком».
    Так я закончил школу, без проблем поступил в компьютерный институт, здесь то же ходил на все пары, учился, все сдавал на отлично, никогда не бухал пиво (пиво до сих пор не люблю — с детства внушили «пиво — пойло для дебила»). Повышенную стипендию всю приносил в семью. Закончил с красным дипломом.
    Еще после 4 курса меня уже взяли на галеру и я вместо аспирантуры пошел работать. Так работал почти 20 лет. Денег платили все больше и больше. Купил сначала комп, потом квартиру, машину... Девушки правда никогда не было — но оказалось что в интернетах очень запросто можно найти «студенток — индивидуалок», которые за бабки очень не против «пригласить в гости на палку чая».
    И все вроде бы правильно делал — жизнь удалась. Но вот накрыл меня кризис среднего возраста — все не в радость. И начал я думать, почему таки и что я не так делал?
    Приведу свои выводы — в 17 лет еще не поздно все поменять.
    1) Нужно иметь и уважать СВОИ желания. Не надо врать себе что хочешь учиться, хочешь работать — это тебе внушили родители! У тебя должна быть СВОЯ мечта — пускай даже самая дурацкая. Для начала, например, купить ящик шоколадок или мороженного и обожраться, кататься на аттракционах до одури, играть на компе 3 дня подряд, курить, пить — все, что родители не разрешали.
    2) Уверен что в 17 лет тебя больше всего интересует секс. И это правильно! Смотреть порнуху и дрочить — это нормально. Все так делают, просто врут что это плохо. Снять телку и попробовать реальный секс — это еще лучше. И для этого не надо ждать большой и светлой любви. «До свадьбы нельзя» — это позапрошлый век.
    3) Заработал бабки — они твои! Именно в этом смысл: бабки тебе нужны для реализации своих желаний. Если ты отдаешь их кому-то то ты работаешь не получая удовольствия от жизни. Не жди что тебе кто-то что то даст: купи себе сам!
    4) Удовольствие от работы не в том, что бы хорошо выполнять задания. Цели работодателя — это не твои цели! Не дай себя наебать! Твои цели — это реализация СВОИХ желаний и получение удовольствия от жизни (не от работы!). Работа — это только средство заработать бабки для этого.
    5) Работа не заменяет жизнь! Даже если ты нашел работу мечты — сниматься в порнухе и трахать весь день, то все равно лучше найти работу где платят больше и за деньги трахать кого хочешь и как хочешь, а не как прикажет режиссер.
    6) Надо уметь себя заставлять делать что надо и вьебывать. Но при этом понимать зачем ТЕБЕ это надо. Лучше заставить себя вьебывать в качалке, чем сидеть в овертайм на работе что бы понравиться начальнику.
    7) Нужно любить себя! Да — эгоизм, это не плохо (даже если родители учили обратному), плохо — это быть скромным и обделать себя в то время, как другой радуется за твой счет. Нужно любить свое тело — нужно поддерживать его здоровым и красивым на зависть другим. Нужно любить свой желудок — и не жрать дешевое говно.
    8) Нужно быть жадным! В этом главный секрет — как только ты всем доволен наступает депрессия. Как только решил что у тебя все есть — так стало незачем жить дальше! Помни — всегда есть лучше! И всегда нужно хотеть лучше — даже если у тебя уже есть охуенно хорошее.
    9) Нужно плевать на других! Да — плевать что скажут соседи, или родственники, или даже родители. Ты не для них живешь! А еще плевать на тех, кто выебывается перед тобой своим превосходством. Они хотят заставить тебя завидовать и чувствовать себя говном. Посылай их нахуй! Если у них есть то, чего нету у тебя то или оно тебе нахуй не нужно, или нужно и ты сам скоро этого добьешься.
    10) Нужно жить сегодня! Радость нельзя запасти впрок — она нужна каждый день. Поэтому жить хуево и копить в надежде на «потом» — это наебать себя. Но так же не имеет смысла все спустить в один день — удовольствие нужно уметь растягивать.
    11) Счастье — это мимолетное состояние души, а не что-то постоянное. Нельзя построить карьеру, дом, семью, детей и потом постоянно быть счастливым — это миф. Можно быть счастливым именно этим теплым вечером в течении 5 минут глядя на закат. И все — этот момент не растянуть и не повторить. Нужно искать новый! Счастье не нужно строить много лет, за ним не нужно гнаться или добиваться — нужно почувствовать и ловить моменты счастья как можно чаще.
    12) Все проходит — и плохое, и хорошее. Как бы ни было плохо — это пройдет и забудется. Как бы ни было хорошо — это то же пройдет, поэтому нужно успеть насладится и запомнить. Радостные моменты — вот из чего должна состоять наша память! Что бы в любой момент можно было найти приятное воспоминание.
    Ответ написан
    16 комментариев
  • Как люди себе представляют натяжку лендингов на вордпресс?

    Самый простой способ - поставить плагин типо ACF и с его помощью сделать редактируемым из админки каждый блок.
    Ответ написан
    Комментировать
  • Heroku or Digital Ocean?

    На сколько я знаю, нет. Heroku не позволяет делать подобные вещи как на DO. Исходный код заливается через консольную программку и вообще по-моему все делается в консоли. Прямого доступа к облаку вы не получите.
    Вот кстати доки, как это делается https://devcenter.heroku.com/categories/deployment
    Ответ написан
    5 комментариев
  • Вопрос по подключению системы кэширования?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Почитайте, optimization.guide и вот вам немного теории:

    Кешировать можно:
    • целиком всю страницу (для каждой страницы своя запись в кеше)
    • отдельные части сайта


    Кешировать можно в файлах:
    • генераруя готового html
    • генерируя html+php, так работают smarty и прочие шаблонизаторы собирая множество шаблонов в один
    • в виде бинарного содержимого, сюда и готовый html и готовые значения вычислений и прочее
    • в виде сериализованного массива с чем угодно, от предыдущего пункта отличается только форматом хранения


    Кешировать можно в базе:
    • в mysql/postgresql и прочих SQL - будет храниться на диске и горячие данные в памяти
    • в mysql/postgresql и прочих SQL в in-memory таблицах - будет храниться в оперативке, но без дополнительных усилий кеш пропадёт при рестарте сервера
    • в in-memory базах данных, часто это memcache, redis и прочее - опять таки выключили сервер - данные пропали
    • в in-memory базах данных с сохранением на диск, это Tarantool, memcachedb и прочие если там заявлена такая функциональность


    Так же можно:
    • кешировать всё кроме вставок динамики
    • кешировать куски вставляя их в динамику

    Это два противоположных подхода которые при особом желании можно смешивать в рамках одного проекта.

    Обновлять кеш можно:
    • при каждом запросе проверяя что старый кеш устарел
    • предкеширование - отдельным кроном/демоном/сервисом генерировать кеш раз в N минут
    • по мере изменения данных сбрасывать кеш и следующий запрос сгенерирует новый
    • по мере изменения данных сбрасывать кеш путём генерации сразу нового и замены старого на новый


    Кеш можно хранить:
    • на том же сервере что и сайт - нет задержек в сети, но зато ресурсы теже, CPU, диск, оперативная память
    • на внешнем сервере - задержки в сети, зато ресурсы отдельно


    Можно совмещать разные виды кеширования для разных данных. Можно кешировать только результат работы функций (вычисления, данные), а шаблоны не трогать, можно вместе с шаблонами, но тогда каждое изменение шаблонов повлечёт сброс всего кеша где он участвует.

    Если используете CMS/CMF - посмотрите готовые плагины для кеширования. Если у вас не sharing-хостинг с мини-сайтом - озаботтесь профилированием (xhproof) и мониторингом, это поможет понять где и что кешировать.

    Так же стоит рассмотреть кэширование байт-кода:
    • OpCache
    • APC
    • XCache

    Стоит прочитать вот эту статью:
    Сравнение скорости исполнения кода Drupal для PHP 5.3-5.6 и 7.0. «Битва оптимизаторов кода» apc vs xcache vs opcache https://habrahabr.ru/post/264775/

    Так же стоит:
    • увеличить буферы в MySQL (если памяти много)
    • потюнить другие системы, например поставить nginx вместо apache, раздавать статику с другого хоста
    • и конечно же - посмотреть как долго работают SQL запросы и по возможности их облегчить


    Кеширование в MySQL с использованием HandlerSocket:
    • данные хранятся в MySQL innodb базе, а значит чтение и запись можно делать как по старинке через SQL так и через HandlerSocket
    • можно сделать любое количество колонок, лишь бы это позволял MySQL
    • быстрая вставка
    • быстрая выборка
    • бинарный протокол передачи данных
    • есть несколько библиотек для PHP, как относительно новых так и старых
    • в Percona Server (форк MySQL) HandlerSocket.so есть в поставке по умолчанию, разве что нужно включить
    • в MySQL необходимо собрать HandlerSocket самостоятельно и включить в MySQL


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

    Punkie
    @Punkie
    Я использую WPML с выводом языков в поддомены. Типа ru.site.com для русского и site.com для англ. Удобно.
    Ответ написан
    5 комментариев
  • Создание роутера php. Другой способ разборки url?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    А не проще ль не городить велосипедов и взять какую то готовую библиотеку? Наприме https://github.com/nikic/FastRoute
    Ответ написан
    Комментировать
  • Какой php фреймворк наиболее прост в освоении?

    OnYourLips
    @OnYourLips
    Laravel.
    Кстати в добавок он еще и самый популярный фреймворк.

    А если хочется самый качественный - то Symfony, но он меньше подходит для такой задачи.
    Ответ написан
    14 комментариев
  • Сложно ли новичку создать сайт на Drupal?

    andead
    @andead
    друпал девелопер, фрилансер
    В одиночестве на друпале вы такое в ближайшей перспективе не осилите
    Ответ написан
    Комментировать
  • Как автоматом пронумеровать строки php?

    @Anar4you
    Циклом:
    for ($i = 1; $i <= 10; $i++) {
    echo $i;
    }
    Ответ написан
    Комментировать
  • Routing and URL Creation как разобраться?

    SamDark
    @SamDark
    Yii2 core team
    Для начала чуть теории:

    1. Внутри фреймворка путь представляется внутренним маршрутом: controller/action + массив параметров.
    2. Фреймворк строит URL и разбирает URL на основе правил URLManager.
    3. Правило задаёт связь шаблон URL → внутренний маршрут.

    Теперь посмотрим, что у нас.

    1. Допустим, у нас посты. У постов есть category_id.
    2. Выводит их список PostController::actionCategory.
    3. Параметр, который паредаётся — category_id.

    Начнём с контроллера:

    class PostController extends Controller
    {
        public function actionCategory($category_id)
        {
             $posts = Post::find()->where(['category_id' => $category_id])->all();
             return $this->render('category', ['posts' => $posts]);
        }
    }


    Далее прописываем следующее правило в конфиг в components → urlManager → rules:

    '<category_id>' => 'post/category',

    Создать URL на это дело можно так:

    echo Url::to(['post/category', 'category_id' => 42]);
    Ответ написан
    Комментировать
  • Как остановить двигающися слайдер?

    AloneCoder
    @AloneCoder
    [object Object]
    У всего многообразия всевозможных слайдеров, а особенно среди тех что подходят для вордпресса, есть такая незадокументированная функция slideByClickLikeABoss
    Ответ написан
    1 комментарий