Контакты

Достижения

Все достижения (13)

Наибольший вклад в теги

Все теги (132)

Лучшие ответы пользователя

Все ответы (278)
  • Как не заплыть жиром, работая удаленно программистом?

    akubintsev
    @akubintsev
    backend разработчик
    Я уже более 2-х лет активно тренируюсь и могу поделиться опытом.

    Спортзал - штука очень спорная. Я не верю в то, что можно заниматься бесконечно долго по одной и той же схеме без утомления. В моём случае получался такой расклад, чтобы пойти потренироваться:
    - собрать сумку с необходимыми вещами для тренировки
    - добраться до спортзала
    - переодеться
    Только на этот этап можно потратить порядка часа.
    Далее сама тренировка около 1 часа.
    Затем душ, переодевание и обратный путь и вынуть просушиться вещи - ещё час.

    Итого: чтобы потренироваться пойти в спортзал нужно заложить 3 часа времени. А если ещё график не очень гибкий, то можно и в час пик попасть, когда зал переполнен и это вызывает неудобства из-за плотного графика упражнений.

    Лучше всего ориентироваться на домашние и уличные тренировки. Плюс тут несомненный в том, что как только появилось желание подвигаться - пошёл и поделал упражнения. Ещё один: можно делать несколько тренировок в день с минимальными затратами времени.

    Главный секрет поддержания интереса к тренировкам - научиться получать удовольствие от них. Для этого нужна непринужденная атмосфера и медленное сосредоточенное выполнение.

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

    Но это только то, что касается силового тренинга.
    Я считаю, что есть смысл хотя бы 1-2 раза в неделю выполнять аэробную тренировку: бег, велосипед и т.п. В спортзале это делать чрезвычайно быстро надоедает - вокруг только серые стены, никакой реальной движухи. Через месяц уже тошно становится от беговой дорожки или велотренажера.

    Наверное еще добавлю, что на первых порах очень важно придерживаться плана тренировок. Это касается и графика по дням недели, и по составу. Где-нибудь через полгода-год можно уже импровизировать.

    Что касается питания. На мой взгляд самой прогрессивной диетой сегодня является LCHF. Суть сводится к уменьшению потребления быстрых и медленных углеводов до нуля, а калорийность обеспечивать жиром. Соответственно, белок само собой тоже нужен. Хороша она тем, что организм не ощущает каких-то лишений, голода нет. Жиры очень долго расщепляются, а без углеводов излишки будут выводиться организмом, вместо переноса в жировую ткань.
    Градации потребления пищи в зависимости от времени суток считаю профанацией. Можно разве что избегать питания тяжелой пищей менее, чем за 2 часа до сна.
    Ответ написан
  • С чего начинается CI?

    akubintsev
    @akubintsev
    backend разработчик
    CI - это автоматизированная сборка проекта на основе версионного контроля и прогон тестов.

    Собственно, начинать надо с задачи реализации деплоя.
    Деплой сделать - задача нетривиальная. Есть для этого разные инструменты и универсального решения нет. Отладить процедуру деплоя нужно для сборок в CI и для продакшена/стейджа.
    Лично я для своего последнего маленького проекта для выкладки в продакшн выбрал deploybot.com - в принципе всё, что нужно есть, в том числе и хорошая интеграция с DigitalOcean.

    Что касается инструмента для CI, то из бесплатных обычно пользуются Jenkins. Я пробовал в последнем проекте PHP CI - тоже годно, но не настолько гибкий инструмент.

    Выкладку на продакшн/стейдж можно настроить по-разному. Например по коммиту в специальную ветку, по ключевым словам в коммите или вообще вручную. На прод однозначно стоит делать выкладку вручную.

    А, еще один немаловажный момент. Для успешного функционирования этого всего дела нужно внедрить версионирование схемы БД и фикстуры (для CI).

    Жизненный цикл у нас был такой. Тимлид определяет некий не большой, но и не очень маленький набор фич, которые должны попасть в новую версию приложения. Все тикеты связаны с версиями. И поэтому может случится так, что даже готовую фичу он определит в другую версию продукта.
    Каждая готовящаяся к релизу версия получает свою ветку в git и там делается мердж нужных коммитов с фичами. Каждый коммит автоматически тестируется в CI.
    Когда все фичи сделаны и коммиты слиты, то можно залить на стейдж сервер и погонять вживую версию в условиях близких к боевым. И наконец, если всё хорошо, то делается деплой на продакшн.
    Ответ написан
  • Есть ли фриланс ближе к 30?

    akubintsev
    @akubintsev
    backend разработчик
    Я начал работать веб-разработчиком в 28 лет. Но до этого занимался всякой околоайтишной деятельностью и программировать научился еще в 6-м классе без книг и учителей на примере курсовых работ брата.
    Очень важно хотя бы первые года 3 "гореть", чтобы была мотивация осваивать огромные объёмы знаний, интересоваться буквально всем, что связано с разработкой.
    Тем не менее, я зарабатывал, сидя в офисе. А фрилансом баловался время от времени. И до сих пор не вижу необходимости менять такое положение дел.

    А что касается выбора технологий, то если б у меня была возможность вернуться в прошлое, то выбрал бы вместо php python или RoR, поскольку не нужно изучать десяток фреймворков для востребованности на рынке труда, достаточно одного :)
    Ответ написан
  • Стоит ли работать программистом?

    akubintsev
    @akubintsev
    backend разработчик
    Каково быть программистом?
    Я не стану писать про идейно-мотивационную часть, этого всегда хватает в ответах на такие вопросы. Только прагматичный взгляд.
    Да всего хватает. И мартышкиного труда, и действительно интересных задач, связанных с проектированием. Много зависит от того, какой проект и на какой фазе своего существования. Поэтому вы и увидели частые смены работ у наших коллег.

    Немного могу ободрить на тему начальных зарплат в веб-деве. 25-30к - это для студентов. С ходу же можно найти место за 50-60к, но конечно должна быть хоть какая-то минимальная база знаний, чтобы пройти собеседование. Надо только понимать, что в одной конторе за зарплату X рублей будут искать чуть ли не тимлида, а в другой - джуниора. Немного терпения или везения и найдёте, что желаете. Главный вопрос задайте только себе "чему я смогу тут научиться (и у кого)?", иначе в пустую потеряете время и нервы.

    Но в работе стажировщика-студента есть плюс - дадут реально фундаментальную базу и прыгнуть потом можно спокойно уже на уровень 80к (вы только не сознавайтесь, если спросят, сколько платили на прошлом месте :)))

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

    По поводу фриланса. Не стоит питать иллюзий. Это среда высококонкурентная со своей спецификой. Часто можно услышать, что можно заработать кучу денег таким образом, но это в самом идеальном варианте. Я не первый месяц наблюдаю за Upwork/Odesk и не вижу особого разнообразия интересных задач, подходящих под мои скиллы. Считается к тому же, что один из лучших вариантов это получить долгосрочный контракт. Да вот только не так их много в сравнении с тем, что может предложить локальный рынок труда, не говоря уж о входном пороге. Опять же, сидя в офисе будут периоды, когда можно будет плевать в потолок, а с фрилансом такое не прокатит.

    В общем, вы решите для себя следующие вопросы:
    - вы готовы потратить пару лет на данный эксперимент?
    - есть ли тяга к интеллектуальному труду, к желанию осмыслять и что-то конструировать?
    - что вы потеряете, если ввяжетесь в это направление?
    Ответ написан
  • Как добавить в массив пару ключ-значение на php?

    akubintsev
    @akubintsev
    backend разработчик
    Начиная с php 5.4 можно использовать конструкцию для ассоциативных массивов вида
    $arr += $arr2;
    // или так
    $arr += ['lol3'=>'3'];


    При этом, если в первом массиве уже есть ключ, который присутствует во 2-м массиве, то результирующее значение будет из 2-го массива.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (8)