Задать вопрос
  • Как восстановить вкладки Chrome после экстренного завершения?

    oktarinovii_tyman
    @oktarinovii_tyman
    Можно восстановить закрытое окно с вкладками даже если не сохранилась предыдущая сессия. Только если у вас сохранились прошлые версии папки C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Google\Chrome\User Data\Default\Sessions, прошлые версии можно посмотреть нажав правой кнопкой мыши по папке Sessions, на вкладке предыдущие версии указаны даты сохранения если они есть, далее восстановить эту папку и заменить текущую (только на всякий случай сохраните текущую папку перед заменой)
    Ответ написан
    Комментировать
  • Git: объясните «на пальцах» разницу между rebase и cherry-pick?

    Все красиво объяснил Nkly777, только в блоке PS merge с rebase перепутаны.
    Добавлю картинок.

    git rebase devel - собачка на молнии - "сшивает" коммиты по дате их создания
    (ветка devel "растворяется" в основной ветке)
    518b8dbce1cd4f96b30de9782ae38fcd.png
    git merge devel - пожарная лестница, все коммиты ветки devel крепятся в конец, образуется пересечение
    (devel остается отдельной веткой, к которой можно вернуться)
    1ba8186d879d46ff85ea7c1e192328e2.png
    git chery-pick idea - забрать коммиты из ветки idea
    2717e3091f644ef2954aa2de4514f446.png
    Ответ написан
    2 комментария
  • Почему не работает align-content, когда одна строка?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Используйте не align-content, а align-items
    UPD: align-content используется для выравнивания элементов при переносе на следующие строки (с flex-wrap: wrap).
    Ответ написан
    1 комментарий
  • Как правильно писать на ООП?

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

    Простейший пример - jQuery.cookies. Кукисы в браузере хранятся неудобно для редактирования, но это проблемы внутри черного ящика, снаружи их быть не должно. Снаружи вам надо поставить куку и прочитать куку. С коротким списком возможных свойств. Вот это класс и реализует, вполне успешно. Буквально одним методом.
    Мог бы этот метод быть простой процедурой? Да, конечно. Но как раз это - неважно.
    Ответ написан
    2 комментария
  • Как наверстать знания в javascript?

    Yertuwernat
    @Yertuwernat
    Кратко о себе: живу в России, не женат, характер
    Как вариант ты можешь работать без всех этих технологий: babel, webpack, typescript и тд и тд.

    Вообще без них!

    Но если ты хочешь работать как все в индустрии - то страдай!
    Страдание неизбежно.
    И неизбежно ты вынужден будешь работать с лентяями, дебилами, психопатами, жуликами и тд и тд.

    Я например создаю веб-приложения "для себя" ну и для всех кому понравится, и пишу код так как мне удобно, и не страдаю вообще, и для работы мне хватает старенького мака 2005 года выпуска.
    В принципе, работая так, можно даже делать на заказ. Но чаще всего заказчики дебилы и хотят чтобы разработчик работал по стандартному шаблону, чтобы его потом можно было бы уволить и нанять другого. Это страх и недоверие типичное в наших людях.

    На самом деле эта возможность легко увольнять разработчиков - это и есть главная причина существования этих безумных сложных технологий: babel, webpack, typescript и тд и тд.

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

    MyMac
    @MyMac
    Если чистый html - то определять можно с помощью JS:
    <script type="text/javascript">
    var userLang = navigator.language || navigator.userLanguage; 
    window.location = "https://my.site.ru/" + userLang;
    </script>

    Но это не самый надежный способ. Правильнее всё-же на бэкенде смотреть Accept-Language.

    Попалось ещё красивое решение через API Google:
    https://github.com/dansingerman/jQuery-Browser-Lan...
    Ответ написан
    3 комментария
  • Как сделать такой эффект?

    Torin_Asakura
    @Torin_Asakura
    Lead Architect
    В вашем примере речь идёт о простом expandBlock с использованием директивы transition.
    Фишка в том, что текст изначально подгружен и живёт в доме, "слушать" изменения дом-ноды в данном случае нет необходимости и что-то грузить после инициализации объекта.
    Нужно просто:
    - подгружать объекты в дом
    - дождаться коллапс/экспанд
    - отдать уже подгруженный контент
    Vue.directive('expand', {
        inserted: function(el, binding)
        {
            if (binding.value !== null)
            {
                function calcHeight()
                {
                    const currentState = el.getAttribute('aria-expanded')
    
                    el.classList.add('u-no-transition')
                    el.removeAttribute('aria-expanded')
                    el.style.height = null
                    el.style.height = el.clientHeight + 'px'
                    el.setAttribute('aria-expanded', currentState)
    
                    setTimeout(function()
                    {
                        el.classList.remove('u-no-transition')
                    })
                }
    
                el.classList.add('expand')
                el.setAttribute('aria-expanded', (binding.value) ? 'true' : 'false')
                calcHeight()
                window.addEventListener('resize', calcHeight)
            }
        },
        update: function(el, binding)
        {
            if (el.style.height && binding.value !== null)
            {
                el.setAttribute('aria-expanded', (binding.value) ? 'true' : 'false')
            }
        },
    })
    
    var app = new Vue({
        el: '#app',
        data: {
            isExpanded: false
        }
    })
    Ответ написан
    3 комментария
  • Необходимые знания JavaScipt?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Идешь на сайт Кантора и штудируешь все подряд. Так же находишь на ютубе Зоракса и штудируешь все подряд. Если владеешь английским, можно еще проштудировать курс JavaScript Weird Parts. потом просто ходишь на собесы, делаешь тестовые. Поначалу все собесы будешь сливать, это нормально. После каждого слива делаешь разбор полётов и пристально изучаешь то, на чем завалился. Вангую что тебе 10 заваленных собесов хватит за глаза, чтобы выкачать всю базу. Поэтому поначалу ходи на собесы туда, где не жалко слить.

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

    В общем 5% теории и 95% практики, очень много упорства, и ты в строю через пару лет. Возможно и через годик, если будешь реально фигачить по 8 часов в день.
    Ответ написан
    Комментировать
  • Что посоветуете почитать для левелапа в JS?

    @AntonDrelin
    Список книг:
    • "ES6 и не только" Кайл Симпсон. - очень хорошая книга, достойна чтобы просто прочитать, переведена достаточно хорошо.
    • Learning JavaScript Design Patterns автор Addy Osmani примеры правда большинство относятся к ES5, что можно подчерпнуть как там выглядить паттерны, ну какой должен быть хороший стиль, очень хорошая книга


    Ещё один способ, берет библиотеку jQuery и разбирайте её на части)) очень интересное штука и занимает многие вечера. Но пользы будет очень много. Ибо когда-то это библиотечка произвела фурор)
    Ответ написан
    1 комментарий
  • Как писать много кода, оставляя его простым, как в начале?

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

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

    @galliard
    Расскажу свою историю.
    Лет 5 назад устроился на обезьянью работу за еду, отдаленно связанную с программированием.
    Первые 3 месяца активно впахивал на благо компании. Заодно изучал компанию, и её процессы, людей. Когда закрепился и чувствовал себя более комфортно, начал заниматься самообучением. Когда по 2-4 часа в день, а когда и несколько дней подряд. При этом рабочие задачи отодвигал, а то и откровенно клал на них [большой и толстый]. А когда спрашивали, говорил что долго, сложно и лепил прочие отмазки. Дома обучался довольно редко и под настроение, ни к чему себя не принуждая. Через год от меня стали активно требовать результата работы, но я уже чувствовал в себе силы начать самостоятельно разрабатывать проекты и уволился. И довольно быстро нашел отличную работу, со свободным графиком, интересными задачами и втрое большей зарплатой)))
    Ответ написан
    Комментировать
  • Как учиться новому после рабочего дня?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1. 9 часов. Это уже ошибка. КЗОТ писали не дурни. 8 часов достаточно для работы, если человек не чаи пьет
    2. Пересмотрите процесс работы. По приходу на работу сначала делать самые важные. Прошу прочесть внимательно: сначала важные, а только потом срочные и другие. Отличие важных от срочных в том, что одни, как правило, делаются разово и про них забываются, а другие хоть и не срочные, но они влияют стратегически.
    3. Уделяйте время на то, чтобы подумать над "светлым будущим", т.е. создать\актуализировать список страгеческих целей и задач
    4. Делайте утром зарядку. Растяжку, отжимания, приседания. Это влияет на энергетику в организме
    5. Делайте перерывы во время работы.
    6. Чаще пейте воду
    7. Займитесь спортом. На своей шкуре опробовал и четко знаю то, что до занятия плаванием делал меньше, чем сейчас
    8. Окружите себя теми, кто куда-то стремится. Это не значит что надо всех других послать в Южную Америку на оз. Нахой. Это значит, что надо чаще общаться с одним типом людей и меньше с другим
    9. Стремитесь работать на результат, а не подсчет "жопочасов". В дальнейшем ставьте работодателю на собеседовании вопрос "Вам нужны жопо-часы или результаты?". Старайтесь выявить жмотов. Если вы вдруг справились не за 5, а за 4 часа, а работодатель жмотится и боится выделить время на самообучение сотрудника, хотя эти же знания будут применены при решении рабочих задач, то уходите от такого работодателя!

    Не смотря на то, что возникает соблазн прочесть еще одну главу в книге или что-то попрограммировать в ущерб занятиям спортом не стоит этого делать! Спорт обогащает энергетикой! При нём много чего развивается. К примеру из физических качеств развиваются выносливость и мышцы, а среди психологических стрессоустойчивость и упорство.

    После работы лучше тупить. Мозг должен "отдыхать". То есть заниматься структуризацией, обработкой того, что произошло за день.

    Старайтесь избегать рывко-образной работы. Все должно быть стабильно. Пусть даже небольшими кусками работы, но стабильно и бессбойно!
    Ответ написан
    6 комментариев
  • Как учиться новому после рабочего дня?

    @big_hasan
    Я так понимаю, Вы на работе не особо полезной для Вас деятельностью занимаетесь? Тогда посоветовал бы поменять место работы. Если получится, уйти туда, где работа будет связана именно с тем, чем Вы хотите заниматься, то есть на работе будете учиться, получать необходимые навыки (пусть и за еще меньшую зарплату и питаясь так, чтобы с голоду не умереть - утрирую). Либо попытаться найти работу, где будет много свободного времени, чтобы заниматься своими делами. Это кажется слишком уж кардинальным способом, но если работа действительно не приносит пользы, то стоит попробовать.
    Ответ написан
    4 комментария
  • Как учиться новому после рабочего дня?

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

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

    И самое главное: два-три месяца работы в компании с более высоким уровнем разработки, чем у вас в данный момент, дадут вам больше, чем год бессонных ночей после работы. Поэтому не стоит пытаться сначала дорасти до определенного уровня, а потом устраиваться. Скорее всего не дорастете, только время потеряете. Изучайте базу и в бой!
    Ответ написан
    7 комментариев
  • В чем преимущество node.js над стандартными веб-технологиями?

    Изоморфность, остальные вещи вполне себе присутствуют и решаются другими языками/технологиями.
    Ответ написан
    Комментировать
  • Как эффективно изучать angular js?

    DeeplessHole
    @DeeplessHole
    Студент матмеха СпбГУ
    Перевел обзорную часть доков: Angular 2 in JavaScript.
    Реализовал туториал "Tour of Heroes" на JavaScript(и несколько ссылок на видео): тыц.
    Надеюсь, поможет.
    Удачи
    Ответ написан
    Комментировать