• Зачем нужен react-redux если данные можно получить через к примеру const {name}=store.getState()?

    @harabudjasim
    В очень больших проектах недопустима перерисовка всего дерева DOM на каждое изменение стора (что и будет происходить при store.subscribe(render)). Provider позволяет подключить на определенный компонент определенный стор, чего не позволяет простой импорт стора из файла. Такое себе разграничение SPA на отдельные фичи. connect() позволяет подключить только выбранные экшены и данные в определенном компоненте. Так более наглядно видны зависимости компонента и правильно происходит подписка на изменения. В таком случае компонент будет перерисовываться только при изменениях тех данных что к нему подключены а не всего стора.
    Ответ написан
    Комментировать
  • Не могу запустить phpMyAdmin на Ubuntu 16.04.1?

    LenovoId
    @LenovoId
    svg, css,js
    ru.stackoverflow.com/a/432855/33274 я с пару лет назад уже отвечал на этот вопрос
    Ответ написан
    Комментировать
  • Программирование в метро

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Я частенько пишу скрипты в поездках на Toshiba AC100 или desire Z. По ssh на серверах.
    Ответ написан
    Комментировать
  • Программирование в метро

    @mkoreshkov
    несколько раз в неделю удается. Asus EEE PC 1005P и мегафоновский модем на всякий.
    кодить удобно, да и просто посерфить можно.
    Ответ написан
    Комментировать
  • Программирование в метро

    Alexx_ps
    @Alexx_ps
    С буком в транспорте неудобно, места мало, дисплей приходится разворачивать на полную и еще наклонять сам ноут, постоянно кто-то толкается. С планшетом проще и удобней, но медленней в плане набора кода.
    Я в транспорте читаю книги, которые не требуют примеров кода: художественную литературу, GTD, психологию, бизнес-литературу, нудные хабратопики про алгоритмы в нейронных сетях и т.д.
    Ответ написан
    Комментировать
  • Как повысить уровень программирования?

    Jeer
    @Jeer
    уверенный пользователь
    Привет!
    Фраза "я не могу в яваскрипт" очень общая. Хоть многие поливают говном этот волшебный язык, я считаю его одним из самых красивых и выразительных. Расскажу, как у меня было, начал на нём писать в явовской системе J2SE, где js был внутренним скриптовым языком (тогда же прочитал книгу с носорогом, самую популярную у начинающих, ну и не дочитал, мне нужен был только синтаксис). В работе были прям основные вещи: объявление переменных, циклы, условия, работа со списками. В принципе, задачи не сложные, всё решалось и ладно.
    Затем была веб-разработка. Имея некие основные навыки включиться было не сложно. Возникаемые задачи решались гугл + стак оверфлоу. Но на выходе получалось, прям вот как вы говорите, некрасивый код. Поддержка его была, в основном, так называемым кастыльным программированием. Затем я прочитал книгу jQuery (o'really с Петром I на обложке), ну как прочитал, пролистал, можно сказать. И дело в том, что я узнал всего лишь больше jQuery-функций, вроде бы ничего, но для меня это было нечто новое. Я просто узнал, что можно делать не одним топорным способом, а есть еще и другие варианты. У меня даже запросы в гугл стали более изящными, более чёткими что ли. Затем я прочитал книгу "Графика на JavaScript" (всё тот же O'Really). Там интересные вначале оптимизации, но сама организация кода, я так никогда не делал и мне понравилось. Хотя я не занимался графикой, я просто хотел посмотреть на яваскрипт с другой стороны. И не прогадал. Тогда же наткнулся на статейку с хабра, ООП в яваскрипт. Таких статеек много, не знаю, какую читал именно я. Но объеденил что было в книге и пользуюсь по сей день. Повторюсь, я просто не знал, что так можно было.
    После этого я решил посмотреть в сторону node.js, купил какую-то маленькую книжку, поигрался, понял, что всё сырое, что-то не понравилось, для себя поковырялся, ну и забросил. Но я опять не пожалел, что уделил этому своё какое-то свободное время :) после этого я стал разбираться в callback'ах, я до этого примерно знал, что это такое, но не работал с этим, никак не использовал. А тут узнал, что можно и так, и это вполне законно и это работает не только в ноде, но и в клиенте.
    Теперь иногда только попадаются статейки с хабра или гт, в одной был продвинутый node.js, там рассказывалось, к примеру, про асинхронный код, promise и прочее. Сейчас я не пользуюсь этим, но хотя бы узнал, что так можно. И если мне что-то понадобится, я полезу в гугл, но теперь я хотя бы смогу сформулировать то, что хочу.
    Еще недавно наткнулся на статью (приведу хоть одну ссылку) https://habrahabr.ru/post/154105/ - функциональное программирование в js. Раньше я из-за интереса смотрел что это такое, опять же, просто для себя, не очень понравилось, решил не тратить на это много времени. А тут вполне понятным языком, для чайников, да еще и на примерах яваскрипта. Я ни в коем случае не призываю становиться функциональщиком, я лишь говорю, что есть разные подходы и их нужно посмотреть хотя бы для ознакомления.
    Подводя итог: практика необходима, она у меня была всегда, хотя js никогда не был моим основным языком. Книги нужны и книги важны, тут уже сказали, и мне очень нравится эта фраза "хотите быть писателем, много читайте". Посмотрите на язык с другой стороны. То есть, если вы занимаетесь клиентским js+jQuery, попробуйте написать игру на html5 (space invaders или др.), ну или другие варианты, примеры я привёл. Тематические рассылочки с хабра и gt позволяют держаться в тонусе. И самое последнее - упорство и время
    Ответ написан
    Комментировать
  • Как повысить уровень программирования?

    zualex
    @zualex
    Senior Software Engineer
    Для того чтобы повысить свой уровень, нужно найти свои недостатки.
    Из-за этого я составил карту развития веб-разработчика https://github.com/zualex/devmap

    Как мне кажется путь повышения своего уровня индивидуален. Опишу как было у меня

    1) Работал в веб-студии, клепал сайты один за одним, стало очень скучно, возомнил себя крутым и решил пойти на повышение, после первого собеседования понял что я никто)
    Level up - осознания того что ты не крут

    2) Стал изучать и самое главное применять новые для меня технологии: git, laravel, gulp и т.д. Изучал постепенно, не набрасывался на всё сразу, что-то отпадало, что-то становилось бесценным инструментом.
    Level up - осознание что нужно постоянно развиваться

    3) Со временем ко мне стали постоянно обращаться если возникали проблемы, нужен был совет, начал проводить технические собеседования. Пришло понимание, что нужно расти в сторону управления командой. Стал очень много читать книги. Книги очень хорошо заходили, чувствовал огромную пользу от них.
    Level up - чтение книг

    4) Спустя время понял, что достиг потолка, начал ходить на собеседования, выявлялись разного рода недостатки.
    Level up - ходить на собеседования

    5) Новая работа, где устроенно все по другому (в хорошем смысле), новая команда, новые испытания
    Level up - выход из зоны комфорта
    Ответ написан
    Комментировать
  • Как повысить уровень программирования?

    tiabc
    @tiabc
    Бизнес-партнер и консультант по технологиям
    Хорошие разработчики постоянно развиваются и никогда не стоят на месте. Любое развитие состоит в делании дел, в решении конкретных задач и в обратной связи, которую ты получаешь от других или в результате рефлексии.

    TL;DR: Читайте книжки, делайте дела, читайте чужой код.

    Что можно начать делать прямо сейчас, чтобы стать программистом лучше?

    1. Изучайте базу. Алгоритмы, сети, криптографию, архитектуру, ос, устройство браузеров, компиляторы и т.д. Изучение подобных вещей дает понимание какие задачи бывают в реальном мире и как "большие дядьки" решают возникающие проблемы. Это кладезь инсайтов.

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

    3. Написание кода - не самая большая часть работы сеньор-девелоперов, я бы сказал. Но когда речь заходит о самом коде, нужно понимать что ты пишешь и зачем. Есть классические книжки, которые можно найти, например, в матрице компетентности программиста, есть современные, но полезные типа The Art of Readable Code, которую я очень рекомендую. Нужно читать книжки. На собеседовании я всегда спрашиваю какие книжки читал или читает соискатель и если ответ отрицательный, то это большой минус.

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

    5. Наберитесь терпения. Это не случится за один день. Думайте над именованием, разделяйте обязанности, изучайте алгоритмы и экосистему, оптимизируйте ваше рабочее место, изучайте новые технологии, читайте статьи и в течение ближайших лет регулярных усилий вы обретете новый способ мышления и будете разрабатывать поддерживаемое и надежное ПО. Легкого пути, к сожалению, нет.
    Ответ написан
    2 комментария
  • Как быстро верстать (нужен совет как быть дальше)?

    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 то пусть не ВЫЕ своим "Г" :)

    Все придёт с опытом :)
    Ответ написан
    Комментировать
  • Как подружить Sublime Text 3 и LiveReload?

    BedwaRe
    @BedwaRe
    Пиши код
    Используйте Prepos (бесплатного более чем достаточно). Очень удобно, никаких скриптов вставлять не надо, расширения для браузеров устанавливать не надо. Он универсален, т.к. поднимает свой сервер, поэтому работайте хоть в Sublime Text, хоть в Notepad (без установки расширений). Плюс препос предоставляют другие дополнительные плюшки типа компиляция SASS, минификация и сборка скриптов. Так же прикольная фича это шаринг внутри сети (сверстал, запустил шаринг, показал коллегам). Если верстать собираетесь, то лучше варианта, если надо скорую руку сделать не видел. Хотите сделать по-настоящему красиво - разберитесь с Grunt, в нем можно сделать, всё что и в Prepos и намного больше, но придется поработать ручками. Удачи!
    Ответ написан
    2 комментария