• Как смоделировать вселенную?

    flapflapjack
    @flapflapjack
    на треть я прав
    Можете для начала вот это глянуть

    https://www.youtube.com/watch?v=PCx228KcOow

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

    Естественно все хотелки можете подстроить под себя, и потренироваться на его исходниках, меняя их.

    Вообще классное видео - я залип. До конца сидел смотрел на эти точки.
    Ответ написан
    4 комментария
  • Как сделать чтоб https не блокировал подгрузку внешних скриптов на сайте?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Я на более чем 100% уверен, что вы можете просто поменять протокол у загружаемых скриптов вручную. Чтобы такого не было, я всегда пишу
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

    а не
    <script src="http//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    Ответ написан
    1 комментарий
  • В чем прикол задания "Скопируйте сайт"?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    - Я Михаил, и я копирую сайты :(
    - (хором) Здравствуй Михаил :(
    Ответ написан
    1 комментарий
  • Почему не работает package control в Sublime Text

    @nick1m
    Столкнулся с той же проблемой "There are no packages available for installation". Возможно кому пригодится.

    Boshnik Маленькая поправка не "В настройках брандмауэра", а в "свойства браузера", а то мне пришлось поискать :).

    Но, на данный момент эту проблему решили, сертификат обновили. Но не работало. Сначала оказалось, что лежал сайт (в конце ответа лежит решение позволяющее обойти и эту проблему), проверяем https://packagecontrol.io/channel_v3.json, но и после возобновления проблема не ушла.

    Добавляем в настройки плагинов для пользователя (Preferences > Package Settings > Package Control > Settings - User) каналы:
    "channels":
    [
    "https://packagecontrol.io/channel_v3.json",
    "https://web.archive.org/web/20160103232808/https://packagecontrol.io/channel_v3.json",
    "https://gist.githubusercontent.com/nick1m/660ed046a096dae0b0ab/raw/e6e9e23a0bb48b44537f61025fbc359f8d586eb4/channel_v3.json"
    ],

    Мою проблему это решило. Видимо channel_v3.json выдаёт сейчас не то, что должен. Решение временное, т.к. скорее всего в ближайшее время починят и в вебархиве данные могут устареть.

    UPD!!!: поправил код, у кого не работало - ссылка резалась тестером, сейчас в код обернул, спасибо Максим !

    UPD2: ещё раз исправил. Добавил свежую ссылку с вебархива от Максим , а так же скопировал на гист свежие данные от 04.01.2016 вторая ссылка, можно использовать по усмотрению. Не забываем о разделителях типа "запятая" :).

    PS: Кстати, ST удобно пользоваться гистом, я там и зарегался вчера только из-за любопытства :).
    Ответ написан
    14 комментариев
  • Как сортировать массив на основе суммы элементов?

    Stalker_RED
    @Stalker_RED
    Вот причина вашего бесконечного цикла.
    while (arr.length > 0){
      arraySort();
    }
    Вы на вход подаете элементы, полная сумма который равна пятнадцати. Как бы вы не старались, их нельзя поделить нацело на 4 без остатка. А остаток вы не предусмотрели.
    Ответ написан
    1 комментарий
  • Как перенять объектно-ориентированное мышление?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. сложно понимаю, что "засунуть" в один объект, что в другой, что должно быть статическим методом, что приватным и тд.


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

    То есть по сути наше приложение - один объект. У него внутри вообще все. У этого объекта есть один метод - обработай запрос. Когда внешний мир его вызывает, меняются значения каких-то переменных, вызываются какие-то внутренние "приватные" для внешнего мира функции, и делается работа.

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

    И главное, у каждого объекта есть своя область ответственности. UNIX way. Каждый объект делает что-то одно и делает это хорошо. Бывает так что ну... нужно сделать так что бы один объект делал две вещи. НЕ вопрос, мы можем его попросить сделать что-то сложное, а он будет как хороший менеджер тупо делегировать работу другим объектом. То есть он и сложную штуку сделает, и сам не будет знать как она делается.

    А все безхозные функции, которые не пренадлежат никаким объектам (например функции порождающие объекты) можно вынести в статические методы. Главное что бы статичесих переменных у нас небыло (ибо это те же глобальные переменные). И поменьше публичного ибо черт его знает что эти разработчики будут использовать. Причем "те разработчики" это вы завтра.

    Вообщем писав всё время на процедурке, сложно перейти на ооп.


    Просто не думайте что это что-то "принципиально другое". Это та же самая процедурка, просто благодаря классам и объектам, вы можете порезать систему на маленькие модули. Данные будут лежать рядом с процедурами и у вас будет больше контроля за происходящим.

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

    Подскажите, какой проект начать писать (гостевая, блог), или может начать изучать фреймворк.


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

    Есть хорошие упражнения на развитие понимания объектно-ориентированного проектирования. Например вот: https://habrahabr.ru/post/206802/

    Сразу хочу отметить что это крайности. Упражнения же. Они должны ограничивать вас что бы заставлять думать и задавать правильные вопросы.

    Или может подскажите книгу/сайт где пошагово в ооп написан какой-то проект, чтобы быстрее пришло понимание.


    Так вы научитесь делать один конкретный проект а на втором вы уже проиграете. Так дела не делаются. Надо разобраться с причинами появления идеи ООП. Ну то есть что было до. Можно еще с функциональным программированием попробовать разобраться. В PHP оно слабо применимо, но основные идеи очень тесно переплетаются с ООП и познав немного функциональщины ваше ООП будет лучше. Да и если про ООП вы можете найти много булшита, про функциональщину врут мало.
    Ответ написан
    3 комментария
  • Как пишутся исключения в SASS/SCSS?

    dpigo
    @dpigo
    Front-end developer
    Нестинг для того и придуман, чтобы описывать дочерние элементы в зависимости от родителя. Если вам нужно переиспользовать часть стиля используйте плейсхолдеры и @extend:

    %shared{
     ...
    }
    
    .parent {
      & > div > .form-item > label {
        @extend %shared;
      }
    }
    
    .not_child_element {
      @extend %shared;
    }
    Ответ написан
    2 комментария