• Учет рабочего времени. Правильный ли подход?

    mazah
    @mazah
    Главное - делай
    Есть три версии происхождения проблемы:
    1. Тайминг ставится не совсем корректно;
    2. Вы не эффективно закрываете задачи;
    3. И то и то.

    Что делать? Безусловно, нужно честно пообщаться с человеком, который ставит Вам задачи.
    Подойдите к нему с предложением посоветоваться и объясните ситуацию.

    • Если задачи типичны и есть коллеги, которые справляются с ними в установленное время, то Вам придется поднять свою эффективность. Главное не относитесь к этому негативно, ведь это в целом повышает Ваши навыки и ценность как эксперта. Отнеситесь к этому как к вызову.
    • Если же задачи уникальны, то нужно проговорить это и предложить увеличить количество времени по выполнению таких задач. Предложите со своей стороны шкалу сложности задач, чтобы Вы ориентировали руководителя о том сколько реально необходимо времени на закрытие задачи.
    • В идеале начните собирать объективную статистику, самостоятельно фиксируйте сколько времени потратили на конкретную задачу. Через 2 недели - покажите эти цифры руководителю, сядете вместе и переоцените постановку времени для одного типа задач и для другого.

    Будьте честными, будьте командой.
    Ответ написан
    5 комментариев
  • Какие еще есть блогеры вроде Sorax?

    mrusklon
    @mrusklon
    Не получается? Яростно гугли!
    а мне понравился канал https://www.youtube.com/user/agragregra , очень толково и разжевано все рассказывает человек. дизайн , верстка (адаптив семантика бутстрап) и немного бекенда
    Ответ написан
    Комментировать
  • Где можно проверить свои знания английского языка?

    @moozooh
    Chief Technical Grammar Nazi
    Полноценный тест, какие используются для получения сертификатов CEFR, TOEFL, CAE и IELTS, можно найти только у аттестационных комиссий этих тестов. Есть некоторые подготовительные материалы разной степени полезности:

    Успехов.

    EDIT: Небольшое дополнение. Сейчас наиболее ходовым сертификатом считается CEFR, так как он не привязан к одному языку, в отличие от остальных. С уровнем B2 могут взять на учёбу в зарубежный вуз или на работу в зарубежную контору, где не требуются частые контакты с людьми и предельная точность коммуникации (как в медицине, например); с C1 и выше уже можно претендовать почти на любую работу, если остальные знания/навыки подходят. С2 — это не уровень родного языка, но достаточно близкий к нему, чтобы закосить под своего.
    Ответ написан
    1 комментарий
  • Как работает this?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ох...

    Для начала нам стоит прояснить что в javascript "методы" это обычные функции, которые просто привязаны к объекту. Если не вдаваться в подробности работы интерпритатора, вы можете спокойно вынести содержимое конструктора и заменить this на экземпляр объекта.

    Если совсем упростить - в javascript нет "методов", у объектов могут быть только свойства. "Методы" реализуются присваиванием функции (обычно анонимной) к свойству объекта.

    Теперь про this. this - это контекст вызова. Это "волшебная" переменная указывает на контекст, в котором мы вызвали какую-либо функцию. Она никак не фиксируется, и мы можем крутить и вертеть ей как хотим.

    По умолчанию она указывает на "владельца" функции. Тот объект, в контексте которого мы вызвали функцию.

    function foo() {console.log(this);}
    
    function MyObject() {
        this.foo = foo;
    }
    
    var hashMap = {
        foo: foo
    };
    
    var obj = {};
    var instance = new MyObject();
    obj.bar = instance.foo;  // мы можем даже красть методы
    
    foo(); // выведет window, если для браузера и мы вызывали в глобальном контексте
    instance.foo(); // выведет instance так как в контексте этого объекта мы это дело и вызывали
    hashMap.foo(); // выведет hashMap по той же причине
    obj.bar(); // выведет obj опять же потому что мы вызывали функцию в этом контексте
    foo.call('my own context') //мы можем задать свой контекст


    Зачем присваивается this и используется в дальнейшем?


    У функции есть своя область видимости. Ей доступны все переменные/идентификаторы которые определены в ее области видимости и выше в плодь до глобальной. То есть наши обработчики событий будут всегда видеть переменные объявленные в конструкторе. Причем именно то что было на момент вызова конструктора (то есть сохраняется во времени даже после завершения работы функции). Это к слову является типичной проблемой мемориликов, так как иногда люди забывают почистить за собой ссылки на объекты.

    У нас конечно есть еще функция bind, которая позволяет явно зафиксировать контекст, но иногда удобнее так.

    Именно за счет областей видимости функций в javascript мы достигаем инкапсуляции, скрываля приватные штуки внутри нашей области видимости и выплевывая наружу только то, что нужно. Самая настоящая инкапсуляция, модификаторы доступа в этом плане - просто кастыли (хотя для восприятия они проще).
    Ответ написан
    12 комментариев
  • Есть практические уроки для того чтоб понять как работает this в javascript?

    @lega
    Все просто: this - это объект из которого вызывается ф-ия, все.
    пример:
    obj.func() // тут this = obj
    obj.user.func() // тут this = user
    func() // тут this = window, т.к. объект не укаазан

    если переместить функцию в другой объект, то правило сохраняется, т.е. this будет ссылаться на новы объект из которого вызывается функция.

    Так же есть функции которые позволяют задать this:
    func.call(newThis, args1, arg2, arg3)
    func.apply(newThis, [args1, arg2, arg3])
    call и apply вызывают функцию и задают this, т.е. this = newThis

    По сути это всё, все другие фокусы основаны на этом, например ф-ия bind (IE 9+) которая просто замыкает (привязывает) нужный this:
    funcWithThis = func.bind(newThis)
    В итоге как бы её не вызвать: funcWithThis() или obj.funcWithThis(), исходная функция func будет вызвана с указанным this=newThis.

    На счет классов и new:
    inst = new MyClass(arg)
    можно разложить примерно так:
    inst = {};
    inst.__proto__ = MyClass.prototype;
    inst.constructor = MyClass;
    inst = MyClass.call(inst, arg) || inst;
    т.е. new создает новый объект с прототипом от MyClass, а потом вызывает эту ф-ию с установкой this как новый объект.
    Ответ написан
    Комментировать
  • Можно ли скрыть название темы в Wordpress?

    Sanes
    @Sanes
    Переименуйте тему
    Ответ написан
    Комментировать
  • Не срабатывает клик javascript, в чем может быть дело?

    Kublyakov
    @Kublyakov
    Вы выбираете все элементы с классом link, соответственно вам возвращается не элемент, а объект. Если, так же как и я, не шарите в javascript, то добавьте ID необходимому элементу и замените getElementsByClassName на getElementById ))
    Ответ написан
    Комментировать
  • Почему Тостер назвали Тостером?

    27cm
    @27cm
    TODO: Написать статус
    Раньше на домене был другой проект ТМ:
    habrahabr.ru/company/toster/blog/127947

    А потом случилось это:
    habrahabr.ru/company/tm/blog/151357
    Ответ написан
    Комментировать
  • Как изменить текст кнопки при клике?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Например так:
    var readMoreBtn = document.querySelector(".js-btn-readmore"),
        readMoreContent = document.querySelector(".js-description-info");
    
    readMoreBtn.addEventListener("click", function(event) {
        event.preventDefault();
        readMoreContent.classList.toggle("js-readmore-show");
        this.textContent = this.textContent === 'Подробнее' ? 'Скрыть' : 'Подробнее';
    });
    Ответ написан
    7 комментариев
  • Как закрывать выпадающее меню при клике вне его самого?

    erniesto77
    @erniesto77
    oop, rb, py, php, js
    function clickOutside (el) {
    	$(document).on('click', function(event) {
    		event.stopPropagation();
    		if ($(event.target).is(el)) return;
    
    		console.log('Клик мимо меня');
    	});
    }
    
    upd:
    
    function clickOutside (selector) {
    	document.addEventListener('click', function (event) {
    		event.stopPropagation();
    		var el = document.querySelector(selector);
    		if (event.target === el) return;
    
    		console.log('Не попал =)');
    	});
    }
    
    upd:
    
    function findParentBySelector(elm, selector) {
        var all = document.querySelectorAll(selector);
        var cur = elm.parentNode;
        while(cur && !collectionHas(all, cur)) {
            cur = cur.parentNode;
        }
        return cur;
    }
    
    function clickOutside (selector) {
    	document.addEventListener('click', function (event) {
    		event.stopPropagation();
    		var el = document.querySelector(selector);
    		if (event.target == el) return;
    
        // Проверка на то что это дочерний элемент
        if (event.target == findParentBySelector(selector)) return;
    
    		console.log('Не попал =)');
    	});
    }
    Ответ написан
    8 комментариев
  • Как быстро верстать (нужен совет как быть дальше)?

    msulim
    @msulim
    Front-end / UI Designer
    На самом деле, я сейчас тоже задаюсь этим вопросом.

    Поделюсь своими наработками:
    1) Любимый редактор Sublime Text
    - plugins : emmet, JQuery, Sass, less, CSS, автопрефилы. Есть ещё несколько полезных которые подставляют пути к файлам подсвечивают цвета.
    В нете полно статей. Ну сам редактор это предпочтение.

    2) gulp на самом деле использую как нубло, вот буду делать boilerplate для старта. На sass. Несколько хаков в HTML типа мета тегов обёртки шапки, контента и футер. JQuery с фолбеком если вдруг с CDN не пройдет. Даже в дефолтном джиес написал $(document).ready();

    3) Пока не добрался до автогенерации sprite картинок но думаю это отлично сэкономит время в тех местах где нету шрифта.

    4) Собираюсь уйти от препроцессоров на пост процессор, а также использование Angular/Ember.js/React для решений крупнее Landing Page :)

    5) Cейчас думаю поработать также над архитектурой (как бы пафосно не звучало для вёрстки) розбивка на блоки продумать всякие проблемы и работу функционала.

    6) Подобрать готовые решения, имею ввиду плагины, слайдер/карусель/работа с таблицами.
    К примеру owl'Carousel/ data tables / animate.CSS / wowjs ну и тому подобные)))

    7) Самый маленький пункт - сокрость/качество печати как такова :)

    8) Ну и опыт :)

    Как-то так, если есть советы, может упустил.

    По поводу скорости вёрстки лендинга:
    Вёрстка Landing Page в четыре блока то там нечего верстать, просто сетку надо. И исходники нормальный, все шрифты и элементы (лого, гайдлайн от дизайнера) грид например Susy для Sass.

    А вот если присутсвуют анимации, фулскрин видео, дизайн под девайсы продуман дизайнером, стейты на поля форм, а плюс ещё и одеть на CMS то пусть не ВЫЕ своим "Г" :)

    Все придёт с опытом :)
    Ответ написан
    Комментировать
  • Форма регистрации на Wordpress сайте?

    hummingbird
    @hummingbird
    Господи, что? Вы сначала научитесь адекватно и четко формулировать свои мысли, а потом уже социальные сети пилите.

    Если по теме, то зачем вам WordPress? Есть куда более специализированные CMS.
    Ответ написан
    Комментировать
  • Где узнать словари для уровней знания английского?

    @Joysi75 Автор вопроса
    Сам тоже отвечу:
    Если не скачивать -
    memrise (есть словари на 500/800/1000/2500/12000+ слов),
    lingualeo (300/500/1000).
    Ответ написан
    Комментировать
  • Как быстро верстать (нужен совет как быть дальше)?

    Как верстать сайты быстрее, чем их рисуют
    https://www.youtube.com/watch?v=tdRuZfZW99A
    Ответ написан
    Комментировать
  • Как построить, структурировать изучение и повторения анг. языка?

    Extremesarova
    @Extremesarova
    Биоинформатика, машинное обучение, анализ данных.
    1) LinguaLeo. Это онлайн-платформа для изучения и практики иностранного языка, на которой по данным сервиса, на сентябрь 2014 года на нём зарегистрировано 9 500 000 пользователей.
    С помощью этого сайта можно изучать грамматику, тренировать слова, читать тексты, слушать аудио, смотреть видео (все, конечно же, на английском языке). Грамматических курсов огромное количество для всех уровней владения языком (многие из них платные, но их цена равна 1-3 занятиям у репетитора). Написаны профессионально с примерами и заданиями для проверки знаний. При регистрации для нормального обучения необходимо будет купить годовой "золотой статус" за 700-1000 рулей (цена день ото дня варьируется), который позволит вам открыть доступ ко всей функциональности (кроме некоторых платных курсов).
    LinguaLeo постоянно начинает сотрудничества с крутыми международными образовательными онлайн-платформами. Последние из них: Coursera, British Council, TED. Эти платформы предоставляют, в основном, видео, в связи с этим, в видеоплеер был встроен специальный инновационный интерактивный перевод, который позволяет быстро добавлять слова из видео себе в словарь, а потом изучать и тренировать их.
    При регистрации будет проведен тест на знание английского языка и будут предоставлены индивидуальные рекомендации по изучению. Там есть огромное число тематических наборов слов для изучения. Более того, вы можете сами создавать такие наборы. Я вот уже давно это практикую, например, для разных книг у меня разные наборы слов.
    Сервис имеет мобильные приложения для всех популярных платформ.
    Уникальный сервис (я уже с 2012 года здесь занимаюсь). Не нужно жалеть 1000 рублей! An Education is Priceless.
    Также для lingualeo есть удобное расширение для браузера (у меня chrome), которое при нажатии на английское слово сразу дает перевод, озвучивает произношение и позволяет добавить его к себе в словарь для дальнейшего изучения.
    2) Duolingo. Отличный сервис для изучения языка. На десктопной версии сайта вы сможете тренировать грамматику (без теории, только практика), а так же сможете переводить тексты и загружать свои. То есть, если вы видите какую-нибудь интересную статью на каком-нибудь сайте, то можно ее загрузить на этот сайт и удобно переводить - будет предложен перевод для каждого предложения и каждого слова.
    Имеются приложения для iOS и Android. В мобильных версиях только грамматика.
    3) Memrise. Лондонский стартап. Тут можно тренировать слова. Реализован интервальный алгоритм запоминания. Кто будет заниматься рекомендую курс Upper-intermediate English от Cambridge (тут уже нужно знать базовые слова) и курс, который поможет выучить эти базовые слова.
    4) Anki. Невероятно мощная и бесплатная программа (windows, mac, android, для iOS платная), которая использует технику интервальных повторений, о которой говорилось в предыдущем пункте. Все можно настроить под себя :)
    Очень крутой сервис. С помощью интервального алгоритма слова запоминаются очень хорошо даже, если сначала вы их совсем не знаете.
    Видите незнакомое слово, добавляете его, пишите перевод, добавляете произношение, и пример использования.
    4) Cambridge - English Grammar in Use. Это приложение, основанное на знаменитой книге. Тут полный курс грамматики (есть британское произношение примеров - очень хорошее). Есть приложение и для iOS. Стоит ~ 600 рублей. Полностью на английском. И для его выполнения рекомендую пройти базовые слова (можно использовать пункт 3).
    5) BBC Learning Language. Отличный сайт, созданный специально для изучения английского языка. Можно выбрать уровень знаний. Там вы найдете курсы, видео, подкасты.
    Да, точно, подкасты.
    6) Подкасты. Есть, по крайней мере, 3 приличных подкаста по изучению английского языка.
    ESL Podcast - самый лучший подкаст (IMHO). Два типа выпусков : диалог и беседы на определенные темы.
    6 Minute English - часть проекта BBC Learning Language. Тоже очень крутой подкаст.
    British Council - слушайте подксаты, смотрите видео, все все все.
    Grammar Girl, The English We Speak, ...
    7) Видео и каналы на YouTube. Мне больше всего нравится группа каналов от сайта engvid. Там интересно рассказывают про разные вещи: и грамматика, и произношение, и идиомы, и фразовые глаголы и многое другое. На сайте можно выбирать видео по уровню владения языком. Если вы зарегистрируетесь на lingualeo, то у них есть специальный раздел при сотрудничестве с engvid с тем интерактивным плеером, про который я писал раньше. Очень мне эти видео нравятся.
    Видео - ororo.tv . Тут можно смотреть разные сериалы и мультики, но больше часа в день платно. Этим сервисом я не часто пользовался последнее время.
    8) Совсем недавно узнал про такую возможность обучения. Создателя этой системы зовут A.J. Hoge. А сама система называется Effortless English System.
    Во-первых, у него есть подкаст. Можно слушать тут. А, если у вас есть устройство на андроиде или iOS, то там можно скачать какой-нибудь проигрыватель для подкастов, найти там этот подкаст и многие другие, и слушать там. Называется он Effortless English Podcast.
    Во-вторых, у него есть курсы, которые описаны на сайте (рейтинг по 180 отзывам 4.73/5 - круто).
    Вот тут можно видео посмотреть на кого нацелен этот курс. Я не знаю какой у вас уровень по знанию слов и грамматики (его можно поднять с помощью предыдущих пунктов, для слов хорош memrise, для всего остального lingualeo), но вам должно подойти в любом случае (как и мне), потому что разговорный английский очень сложно развить, не разговаривая с носителями языка, а тут должно быть очень классно.
    Подкаст бесплатный, а сами курсы вы можете найти на популярных трекерах. Точнее здесь. И там еще есть ссылка на Power English. Вот я него я и хочу начать, а пока только подкасты слушал.
    Общие рекомендации:
    Английским рекомендую заниматься каждый день. Выделять, хотя бы, 20 минут (лучше час).
    Кроме специальных сервисов вы можете читать книги на английском (можно на сайте LinguaLeo). Для начала можно читать детские сказки (простая грамматика и слова), потом переходить к популярным книгам, сюжет которых вы знаете и читали не раз - к таким, которые больше всего нравятся. Мне вот нравится серия книг про Гарри Поттера и я её перечитываю на английском языке. Я еще скачал аудиокниги по этой серии и очень классно слушать, и одновременно читать - получается сразу два навыка тренируются. Как я уже сказал, что на lingualeo есть эта серия и я читаю там - удобно, видишь незнакомое слово, ткнул на него и оно добавилось в словарь, и потом можно проходить его на различных тренировках (слово - перевод, перевод - слово, собрать слово из букв, аудирование, и другие). Кстати, на lingualeo тоже добавили интервальную тренировку, но она чуть хуже, чем на memrise.com.
    Более того, я рекомендую вам читать новости на английском (лучше конечно британские) - The Guardian, The Telegraph; но и американские можно, например, Business Insider.
    Ну и, конечно же, читайте тематическую литературу. Там будет необходимая в профессии лексика.
    Ответ написан
    2 комментария