• Как вы пришли к смене направления в программировании?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Так как Вы пишете под vue с мобильной разработкой вам будет проще разобраться (перестроить мозги) чем с линейного подхода PHP .
    Если думаете, что поможет разобраться с базами данных , то тут ошибаетесь.
    Нравятся базы данных идите в бакенд и дба. На мобильниках работа с базами в основном не дальше банального круда.

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

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

    Есть четкое убеждение, что в мобилках, как правило, работают более сильные в профессиональном плане люди

    Вот с точностью наоборот. 95% программ написаны школьниками. В ядре самого андроида куча не доделанных тодо.
    Ответ написан
    3 комментария
  • Как вы пришли к смене направления в программировании?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Возможно, можете подсказать способы, как можно перейти плавнее и сгладить просадку по зп.

    тут нет никаких секретов, вы все это можете придумать и сами
    - накопить заранее.
    - прокачать навыки чтобы найти работу не за 50 а за 100
    - перейти в рамках текущей компании, если есть возможность (ее можно и создать) обычно зп остается такая же.
    - перейти как фронт в контору где сильная мобильная разработка, на норм зарплату потом реализовать предыдущий пункт.
    - перейти как джун в забугорную контору, начать с $2000, это будет 150 нашими. сложнее но вполне реально.

    ну и поговорка "и рыбку сьесть и ..." не на пустом месте. Хотите чего-то получить, будьте готовы от чего-то отказаться. Если вам ваша зп важнее сейчас чем переход в другую область - то работайте где работается. Или подумайте, может все такие не важнее.
    Ответ написан
    1 комментарий
  • Как вы пришли к смене направления в программировании?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Единственная вещь, которая мешает моей рациональности это огромное падение в зп с 200+ до 50 на позиции джуна.

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

    Смена направления - это нормально. Даже в пределах одного языка, освоение нового фреймворка - это уже смена направления. В наше время, когда вся индустрия меняется за пару лет, ты все равно на одном и том же направлении не просидишь больше 10 лет (ну если только не говночерпием на каком-нибудь вукоммерсе или битриксе там).

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

    Это каким, интересно, местом, базы в мобильной разработке? Игрушечная sqlite?
    Ответ написан
    1 комментарий
  • Breadcrumbs на nuxt.js?

    @grinat
    <template lang="pug">
      div.breadcrumbs
        router-link(
          v-for="link, i in breadcrumbsLinks"
          :key="i"
          :to="link"
        ).breadcrumps__level {{link.meta.title}}
    </template>
    
    <script>
      export default {
        name: 'breadcrumbs',
        computed: {
          breadcrumbsLinks () {
            let tmp = []
            if (this.$route.matched) {
              this.$route.matched.forEach(link => {
                tmp.push(Object.assign({meta: {title: 'Title not found in meta'}}, link))
              })
            }
            if (tmp.length === 0) {
              tmp.push({path: '/', meta: {title: 'Home'}})
            }
            return tmp
          }
        }
      }
    </script>
    Ответ написан
    3 комментария
  • Как правильно работать со vuex?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Теперь вопрос в другом. Как правильно поступать. Если объекты и массивы передаются по ссылке? делать еще одну операцию по копированию?

    Да. Вместо

    let puzzles = getters.getPuzzles

    делайте

    let puzzles = [...getters.getPuzzles]
    Ответ написан
    5 комментариев
  • Как правильнее обнулить дочерний компонент?

    Xuxicheta
    @Xuxicheta
    инженер
    Как отправить сигнал в дочерний компонент - https://jsfiddle.net/xnjc03hy/111/
    В родителе меняем значение signal, в потомке вотчим пропс.
    присваивание {} создает новый объект, поэтому ссылка на него каждый раз новая.. Можно Math.random() заюзать.
    Ответ написан
    1 комментарий
  • Почему не работает деструктуризация?

    AngReload
    @AngReload
    Кратко о себе
    У вас нет точек с запятой, а сам язык между закрывающей круглой скобкой и открывающей квадратной её не ставит. Ваш код аналогичен такому:

    console.log()[puzzles[first],puzzles[second]] = [puzzles[second],puzzles[first]]


    Надо так:
    replacePuzzles({commit, getters},{first,second}){
            let puzzles = getters.getPuzzles 
            console.log(puzzles[first],puzzles[second])
            ;[puzzles[first],puzzles[second]] = [puzzles[second],puzzles[first]]
    Ответ написан
    Комментировать
  • Как разрезать картинку на много частей?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Первое что приходит в голову это создать блоки нужного размера и настроить позицию фона.
    Но что-то мне подсказывает, что это не лучшее решение

    Нормальное решение. Простое и короткое.

    Как бы вы это сделали с позиции проектирования и производительности?

    Что вы понимаете под "позицией проектирования" я без понятия, а что до производительности - сперва стоит сделать хоть как-нибудь, оптимизацией займётесь потом (если надо будет).

    Никогда не имел дела с Canvas, насколько я понимаю, он тут тоже может помочь

    Может. Только при чём тогда тут Vue, указанный вами в тэгах?
    Ответ написан
    1 комментарий
  • Как решить проблему с transition-group?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Задайте :key для списка задач в целом, чтобы он рендерился заново при смене активного списка. Например, так:

    <transition-group name="trgroup" :key="active.name">

    Демо.
    Ответ написан
    8 комментариев
  • Не запускается установленное через npm. Как исправить?

    bingo347
    @bingo347
    Crazy on performance...
    Добавьте в конец файла /Users/ivankirshin/.bashrc
    PATH="/Users/ivankirshin/.npm-global/bin:$PATH"
    и перезапустите терминал
    Ответ написан
    4 комментария
  • Какой Macbook выбрать для разработки? Air или Pro?

    BVadim
    @BVadim
    Мне интересно, те кто пишут "конечно же Pro", от чего отталкиваются? От названия или просто от того, что сами купили Pro и его советуют. Пишу, как владелец обоих ноутбуков. Имел возможность сравнивать их в лоб, не 10 минут "посмотреть у друзей", а работал на них довольно долго. Профиль - web-разработка и разработка мобильных приложений. Модели Macbook Air 13" mid 2013 Core i7/8Gb/512Gb. и Macbook Pro 13" mid 2014 Core i5/8Gb/256Gb.

    По сути они с 2013 года практически не менялись, там разница в пределах 10-15% с моделями 2015-2016.

    Так вот, у Pro только одно преимущество - у него потрясающий экран. Всё. Он тяжелее, горячее, меньше работает от батареи, жрёт больше памяти, имеет менее отзывчивый интерфейс. Всё это вытекает из большого разрешения. Да, это отличный аппарат, он даст фору многим. Но если в лоб сравнивать его с Air, при моём профиле работы - Air выигрывает Pro по всем параметрам, кроме экрана.

    Так что не советую прислушиваться к тому, что без аргументов написано выше, это ошибочные суждения. Pro имеет смысл брать, если очень нужен супер-качественный экран. Было сложно от него отвыкать, возвращаясь на Air. Но работать за Air у меня выходит более эффективно за счёт моментальной отзывчивости.

    Из Pro линейки стоит рассматривать только 15" 2015 с полноценным Core i7 и дискретным видео, ему есть что противопоставить остальным.
    Ответ написан
    8 комментариев
  • Как исправить верстку на github pages?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Проблема явно в скрипте font loader
    https://github.com/ivankirshin/ivankirshin.github....
    Проверьте синтаксис. После этой строки даже подсветка кода ломается.
    Если загрузить страницу c выключенным js, всё нормально выглядит.
    Ответ написан
    2 комментария
  • Зачем нужен Yii и другие подобные фремворки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    CMS - обычно решают конкретные узко специализированные задачи. Тот же WP - это блог и для такого кейса он вполне ок. Если вам нужен не совсем блог, на том же WP разработка вероятно будет сопровождаться анальной болью)). Это просто не целевое применение. То, что на WP и эл. магазины пишут - это просто демонстрация, что вилкой можно в ухе ковыряться))

    Фреймворки обычно имеют более обобщенное целевое предназначение, по этой причине на них обычно легче сделать сайт-визитку, который эл. магазин, немного соц. сеть и частично CRM.

    Пример где стоит использовать CMS: нужен эл. магазин, маленький бюджет и сроки тоже. Берем PrestaShop, устанавливаем, прикручиваем тему, настраиваем. Следующий!

    Пример где стоит использовать фреймворк: вам нужен сайт на подобии того, на котором вы читаете мой ответ. Да, его можно за уши притянуть к понятию "блог", но переписывать и допиливать нужно многовато. Пойдем от обратного (вы таки выбрали WP)
    * Потом поймете, что нужно было еще абстрактный уровень над WP написать, потому как после обновления ваши правки затерлись.
    * Потом вдруг случается несчастье: ваш сайт стал популярным и железо не тянет, вы задумаетесь об масштабировании, но окажется, что система довольно таки целостная и что бы ее разделить придется не хило так по вкалывать.
    * Через какое-то время ваш проект будет на 50% состоять переписанного кода и костылей, обходящих логику WP.
    * Вдруг, на хабре вы читаете статью про уязвимость в вашей версии WP, начинаете ее прикручивать, при этом часть вашего сайта тупо отваливается из-за тех же артефактов и костылей. Вы, ясное дело, фиксите траблюки.
    * В один прекрасный весенний денек, когда птички поют, радость, счастье, улыбки и бла-бла-бла вам звонит руководство и говорит, что "ничего не работает ( с )", отчаянье-печаль-грусть-уныние-безысходность-тлен. Зайдя на главную вы увидите замечательный баннер:
    Вас взломал @ сраный_script_kid. Один глаз начнет немного дергаться, "это нормально ( с )". Восстановившись из бэкапа 4-х недельной давности, вы начинаете судорожно писать 1ккк проверок всего и вся. Система мутирует в еще более страшную и громоздкую хрень.
    * Через какое-то время вас просят добавить фичу "на вчера", а что бы это сделать придется переписать добрую часть вашего монстра, вы (ну судя по количеству факапов) уже с прокачанным скилом "тебе фича не нужна эта" убеждаете руководство в этом, подобные разговоры возникают все чаще и в один прекрасный момент вы, или вас - увольняют.
    * На смену вам компания набирает других человек, которые выльют пару ведер крови из глаз, убедят руководство, что код не саппортабельный и перепишут вашего монстра с 1,5кк строк до 0,3кк на нормальном фреймворке.
    Ответ написан
    1 комментарий
  • Как получить данные из бд?

    @yaror
    10 лет в мобильном телекоме
    Может быть, вывести вот это:

    o.datetime_order >= $date_start
    AND o.datetime_order <= $date_end

    из-под join'а в where?

    Например, так:

    SELECT w.name_worker,
    w.surname_worker,
    w.midname_worker,
    w.id_worker,
    SUM(number) numb
    FROM workers w
    LEFT JOIN exhours e ON (w.id_worker = e.id_worker)
    LEFT JOIN orders o ON (e.id_order = o.id_order)
    where
    o.datetime_order >= $date_start
    AND o.datetime_order <= $date_end
    GROUP BY w.id_worker

    Потому что сейчас получается так:
    1. Будут выведены все записи таблицы Workers
    2. К ним будут прицеплены _все_ записи таблицы exhours по полю id_worker
    3. Также будут прицеплены записи таблицы orders, _для которых поле datetime_order попадает в указаную вилку_
    Однако, поле number-то хранится в таблице exhours!

    Как вариант, можно было бы сделать так:

    SELECT w.name_worker,
    w.surname_worker,
    w.midname_worker,
    w.id_worker,
    SUM(h.number) numb
    FROM
    workers w
    left join
    (select e.id_worker, e.number from
    exhours e inner join orders o on e.id_order = o.id_order
    where o.datetime_order >= $date_start
    AND o.datetime_order <= $date_end) h
    on w.id_worker = h.id_worker
    GROUP BY w.id_worker
    Ответ написан
    1 комментарий
  • Как выполнить sql запрос?

    @mletov
    Вместо , и WHERE используйте LEFT JOIN и ON
    в WHERE оставьте только условие по дате
    Ответ написан
    1 комментарий