• Особенности верстки под angular js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    компоненты, BEM... Словом идея в том что бы минимизировать каскады и раздробить все на как можно более независимые UI компоненты. Словом адекватная верстка.
    Ответ написан
    1 комментарий
  • Ресурсы по изучению webpack?

    Комментировать
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

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

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Что посоветуете новичку в node.js?

    @frontendthug
    1. Если есть много времени разбираться самостоятельно, то штурмуй Koa, а если нет, то Express. (лично я мало гайдов встречал по первому фреймворку).
    2. Подключаешь Babel и используешь async/await вместо коллбеков. Koa v2 уже готов, и рекомендует использовать именно асинк вместо промисов, ибо следующая версия будет переведена полностью на async/await.
    3. Конечно новые фишки, ведь они компилятся в старые =) Таким образом тебе не надо будет учить эти фишки тогда, когда появится их полная поддержка в V8.

    Так же у Koa нету ничего из коробки. Но это не является минусом, если тебе нравится концепция модульности.
    Ответ написан
    Комментировать
  • Как эффективно изучать angular js?

    SternMore
    @SternMore
    Работаю над GrabDuck.com
    Не знаю на счет эффективного способа, могу поделиться своим.

    Когда мы мигрировали наш проект GrabDuck на angularjs с js+jquery, стоял такой же вопрос - как быстро понять что такое angular и начать его использовать. Совет N1, который все дают - "читаем доки" нам не подошел. Очень трудно понять какие-то детали, не понимая что такое angular в целом. Инфы очень много и в голове от всего каша. Наверное можно так выучить и даже стать реальным профессионалом, но быстро сделать это точно не получится. Вообщем метод хорош для любителей академических подходов.

    Что делали мы:
    1. пройти пару туториалов, лучше видео - получается быстрее. (как пример Egghead.io - AngularJS)
    2. начать что-то делать самому, лучше уже реальное, обращаясь к туториалам из #1, за подсказками. Тут уже вы готовы начать посматривать в сторону официальной доки
    3. Через какое-то время, вы почувствуете себя комфортно делать что-то на уровне пройденных туториалов, без использования их как подсказки. Тут уже без чтения доков, для прояснения каких-то вопросов, не обойтись. будет много рефакторинга вашего предыдущего кода, потому что к этому моменту у вас появится свое чувство стиля и вы увидите как все неправильно было сделано изначально. )
    4. Последний пункт наступает примерно через несколько месяцев работы. Внезапно вы обнаруживаете, что ваше angular приложение работает чертовски медленно и нужно с этим что-то делать. Читайте статьи о том как оптимизировать (как пример, который нашел на GrabDuck - 11 Tips to Improve AngularJS Performance). тут уж вам, хочется того или нет, прийдется понять как работает angular изнутри и стать настоящим профи в этом фреймворке.

    Надеюсь информация была полезна. :-)
    Ответ написан
    Комментировать
  • Как эффективно изучать angular js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) продолжаем учить "ванильный JS", паралельно почитывая про babel, es2015 и т.д.
    2) когда мы ищем информацию в интернетах - учитываем что сейчас актуальная версия ангуляра - 1.5, второй ангуляр в бете, так что 90% информации устарело. Я даже больше скажу - даже официальная документация устарела, обновленный вариант сможете найти на github проекта в пул реквестах.
    3) https://github.com/gdi2290/ngExam - рекомендую этот список тем того, что вам надо знать про ангуляр (ну и не только).
    4) https://github.com/AngularClass/NG6-todomvc-starter - тут я попытался собрать полезные статьи на тему что надо учить и как + пример маленького современного приложения. Так же в ишусах к NG6-starter обсуждается как лучше его готовить.
    5) https://habrahabr.ru/post/277087/ - про angular 1.5 и то как я готовлю ангуляр.

    Ну и так же не стоит пренебрежительно относиться ко всяким реактам и эмберам - идеология у всех приблизительно схожа, все крутые чуваки юзают компонентный подход (потому что это удобно и логично для проектирования интерфейсов), у всех примерно одинаковое виденье по поводу data-flow в приложениях и т.д. Так что с ними ознакомиться тоже можно, у реакта чуть больше расписано про компоненты например.

    Ну и да - обязательно прочитать документацию к ангуляру. Возможно не всю сразу но базовые понятия что бы раскрыть. И разобраться с тем что значит "декларативное представление".
    Ответ написан
    4 комментария
  • Возможна ли переквалификация в разработчики после 30 без профильного высшего образования?

    @FoxInSox
    существует ли какой-нибудь путь переквалификации, позволяющий перепрыгнуть в разработку из аналитики без профильного образования и без потери в заработной плате

    Конечно. Устраивайтесь junior разработчиком тысяч за 40-60 с 10 до 5. С шести вечера до часу ночи работайте в макдональдсе за тысяч 30. Если будете стараться, то через пол года в макдональдсе дорастете до менеджера и будете получать тоже 40-60.
    Ответ написан
    1 комментарий
  • Возможна ли переквалификация в разработчики после 30 без профильного высшего образования?

    @Bojczuk
    Честно, не понимаю, для чего. Наоборот многие разработчики в ходе карьеры стремятся и уходят в аналитику, чтобы применять свои навыки не акцентируя внимания на мелочах.
    В 30 лет уже давно пора понять, что идеальной работы не бывает и в каждой профессии есть свои плюсы и минусы.
    Образ сформированный вокруг разработки лишь таковым и является, мёдом здесь не намазано.
    Ответ написан
    8 комментариев
  • Зачем нужен Gulp?

    @artinnok
    бекенд-программист
    CSS и JS:
    К примеру, у вас имеется большое количество (Х штук) css или js файлов, которое вы подключаете на своих страницах посредством тэгов <link> и <src>.
    При загрузке страницы, браузер клиента будет отправлять X запросов к вашему серверу, а ваш сервер должен будет ответить на X запросов.
    Это:
    1. Тормозит загрузку страницы - будете ждать ответа от сервера
    2. Загружает ваш сервер

    С помощью сборщиков фронтэнда вы можете "склеить" все файлы в один - main.css и main.js, которые будут отдаваться 2 запросами с сервера. Также, вы сможете минифицировать CSS и JS. Под минификацией подразумевается уменьшение размеров файла на диске. Естественно, более легкий файлы будет быстрее прогружаться + минимальное количество запросов к серверу.

    IMG:
    К примеру, у вас имеется Х изображений размером 700 Кбайт. Клиенту надо будет загрузить 700 * X Кбайт. Если вы пропустите свои изображения через Gulp, то вы получите изображения с меньшим размером на диске и такого же качества, т.е. клиенту придется прогрузить примерно (500-600) * X Кбайт.
    Ответ написан
    1 комментарий
  • Зачем нужен Gulp?

    @sergeystepanov1988
    Если по простому, то Gulp это некий интерфейс для подключения и настройки различных плагинов, которые выполняют различные операции с файлами:
    • преобразование файлов (сжатие картинок, минификация js и css, объединение в один файл)
    • слежение за изменениями файлов и реакция на эти изменения
    • автоматизированное тестирование
    • автоматическое генерирование документации
    • компиляция с одного языка на другой (LESS -> CSS, TypeScript -> JavaScript, ES6 -> ES5)
    Ответ написан
    8 комментариев
  • Зачем нужен Gulp?

    @Rabinzon
    скрин
    Все что красным, соберется в то что синим.
    Например, когда проект разбивается на мелкие 'компоненты'. И вы используете предпроцессоры, например jade, sass все это нужно как то компилить и собирать в html и css. Gulp с этим делом справляется на УРА.
    Ответ написан
    Комментировать
  • Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

    Ну и не беритесь за каждую идею, а выбирайте самые инетересные. Если вы будете делать пять проектов одновременно, скорее всего ни один не доделаете.

    Удачи!
    Ответ написан
    4 комментария
  • Какой материал для изучения алгоритмов вы можете порекомендовать?

    LeEnot
    @LeEnot
    Енот-андроид
    Лучшее, что вы можете найти по теме:
    Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 3-е издание
    Ответ написан
    2 комментария
  • Есть ли такая технология - получить из PSD автоматом нарезанный и сверстанный сайт?

    @timfcsm
    при любых раскладах на выходе будет говно, которое в итоге руками разгребать придется
    Ответ написан
    14 комментариев
  • Мануал для людей, которые хотят изобрести что-то на МК и тому подобных, но знают лишь как пахнет канифоль?

    @lubezniy
    Как-то так:

    1. Прочитать и понять какой-нибудь учебник по ТОЭ, если не проходили в техникуме или ВУЗе. Выполнить простые лабораторные работы. Поможет лучше разобраться в дальнейшем.
    2. Изучить Хоровица с Хиллом "Искусство схемотехники". Разработать, сделать и отладить некоторое количество схем без Arduino. Параллельно освоить какую-нибудь простую технологию и ПО для изготовления печатных плат.
    3. Попытаться спроектировать и сделать для себя сложное электронное устройство с учётом полученных знаний.
    4. Изучить потребности потенциальных пользователей в электронных устройствах и попытаться что-нибудь сделать для них. Если "выстрелит", можно дальше освоить заказное мелкосерийное производство.
    Ответ написан
    Комментировать
  • Какие методы верстки при работе с SVG-графикой?

    AMar4enko
    @AMar4enko
    Самый толковый и наиболее широко поддерживающийся способ это svg-спрайты через xlink:href (поищите статью на хабре).
    Смысл в том, что вы берете 100 мелких svg файлов и заталкиваете в один большой, помечая отдельные фрагменты идентификаторами.
    Этот файл загружаете одним XHR-запросом и вставляете в DOM, после чего можете делать
    <svg>
        <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#my-cool-icon"></use>
    </svg>

    У такого способа есть приятный плюс - спрайты можно перекрашивать через css. Извернувшись можно даже красить в два разных цвета (типа один элемент в красный, другой в синий), что невозможно с иконочными шрифтами.
    Используя css в качестве background-image такое не прокатит
    Ответ написан
    1 комментарий
  • Существуют ли современные учебники Java?

    dadster
    @dadster
    учить инглиш тут - https://t.me/langhacks
    Javarush.ru видели? Там море упражнений, чем дальше тем сложнее.
    Еще можно на codewars решать задачки на джаве.

    Могу посоветовать книгу Седжвика, Алгоритмы на Java, там много упражнений, и это не попса, солидная и полезная книга.

    Много упражнений в книге по Java из серии Head First, но лично мне эти книги не очень нравятся.

    Еще курсы по джаве на хекслете, к сожалению, они платные.
    Ответ написан
    4 комментария
  • Существуют ли современные учебники Java?

    @protven
    www.epam.by/content/dam/epam/download/book_epam_by...

    Бесплатная книга от Епама. Там как раз упражнения в конце каждой главы.
    Курсы посмотрите на stepic.org
    Ответ написан
    3 комментария
  • AngularJS ui.router и ng-repeat?

    Вы не совсем понимаете, как работает ui-router.
    Ваша вьюха с элементом списка должна быть директивой(ну или компонентой в 1.5, что по сути одно и то же), тогда будет работать, как вы хотите.
    По факту ui-router позволяет разделить вашу страницу на N компонент, для каждой из которых вы можете указать свой template, и указать правила, по которым они будут заменяться.
    В вашем примере - есть два таких компонента: формочка и список задач.
    Элемент списка должен быть дочерней компонентой для вашей вьюхи со списком.
    Ответ написан
    1 комментарий
  • Правильно ли я расставляю приоритеты в развитии?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала, как говорится, определитесь с целями. Вы хотите больше интересных задач. При этом ваша специализация - верстка. Раз уж вы только только решили попробовать "gulp" и sass - предположу что с такими инструментами, как скажем autoprefixer вы так же не знакомы. И тем более webpack.

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

    По процессам вам стоит ознакомиться с существующими методологиями в верстке. BEM, Css modules и т.д. Сейчас все популярные фреймворки (в том числе и angular) идут по сути реюзабельных компонентов, и подобных подходы к верстке зададут вам какую-то основу.

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