Site Reliability Engineer (DevOps) в Lucky Labs
  • Что учить, PHP или Java и почему?

    Самый главный Ваш ресурс это время .. если это действительно цель “2 года чтобы уехать в Германию и стать высокооплачиваемым программистом”, а не юношеский максимализм ..
    Нужно определится, составить план (варианты миграции, гражданства etc.)
    Дальше — если учить все и сразу то без солидной практики Вы будете человеком который слышал обо всем но не имеет глубоких знаний ни в чем — что не делает Вас ценным специалистом которого хотят в Германии etc.

    Никто не мешает Вам в Своей стране, без языкового барьера — на своей территории стать Хорошим middle+ developer’ом через 2 года — тогда западные компании сами будут приглашать на relocation.

    Нужно МНОГО практики, правильной практики .. Как правило никто кроме лени и отсутствия необходимости на текущей месте работы, в Вашем дальнейшем продвижении, не мешает росту. Даже если у Вас в окружении не особо веет помощью — Internet connecting people.

    Ближе по языкам .. В данный момент (как уже писали ниже) полезно знать JavaScript (AngularJS). Иакже очевидно что у PHP ниже порог вхождения чем у JAVA и легче найти/набраться опыта, особенно если есть 2 года. Думаю Вы понимаете что изучить синтаксис и основные конструкции это самая малость, а вот экосистему Java в домашних условиях ....
    Вам нужно много практики — обработка данных, основные алгоритмы, различные БД, frameworks, ООП, tools, понимание web технологий, различные проекты.

    Определится кто Вы — frontend или backend developer. ( как правило чаще full stack ). Т.к. Java это еще не значит будете ли Вы клиент делать или backend где зачастую php. Да и учитывая такие штуки как Apache Cordova можно и на JS “заниматься мобильной разработкой”. Вариантов масса — делайте то, что получается и приносит удовольствие, при должном уровне skills — ЗП будет Хорошая что там что там. Т.к. считать деньги не имея уровня наз. “дурень думкою радіє”

    П.С. Переезд в другую страну это одно, профессия это другое. И одно другому не мешает (возможно есть нюансы как диплом для устройства в некоторые компании и т.д.) ..
    Не обязательно быть гением чтобы жить в другой стране, как и не обязательно изучать 10 ЯП. На каждый товар найдется свой покупатель .. да и каждому свое. Удачи Вам в осуществлении планов.

  • Нужен хостинг для сайта с большим трафиком

    .. смотрите slow query log, explain, проставьте индексы )), оптимизируйте запросы ...
    (смотреть мониторинг + остальные пути описал выше)

  • Нужен хостинг для сайта с большим трафиком

    ... с большим трафиком или большим количеством пользователей ..... ))

    Серебряной пули Вы не найдете ... )

    Неплохо было бы поставить хотя-бы Zabbix ( систему мониторинга — чтобы понять по какому параметру все умирает ), а дальше принимать аргументированные решения.

    Возможно проблема и в хостере ... , а возможно в архитектуре.

    Возможно Вам пора начинать (вертикальное) горизонтально масштабирование,
    применить кэширование (memcache) или сменить (подкрутить) БД или
    использовать CDN или link aggregation (если канал заливает) etc. etc.

    Хостинг — ИМХО +1 за google cloud || amazon aws
    cloud.google.com
    aws.amazon.com
    * испытаете все дары облачных технологий «бесконечная масштабируемость»,

    CDN — en.wikipedia.org/...twork#Free_CDNs

    P.S. Слишком много возможно .... Вам нужно обратиться за услугами ИТ консалтинга
    к хорошему Admin \ DevOps \ Back-end спецу., который не понаслышке знаком с HighLoad и схожей предметной области (специфика вашего проекта )

  • Як зробити віртуалку доступною із зовнішньої мережі?

    Виртуалка сама по себе черный ящик ..., скорее всего вопросы (подзадачи) звучат так «как открыть доступ к ssh/web/db/desktop из интернета». Доступность из интернета решают так:

    — port forwarding (настроить Bridged сеть на виртуалке \ Host Only + Sharing)
    (покупка статического внешнего (белого) IP у своего провайдера)
    (если ip адрес от провайдера внешний (белый) но динамический то тоже пойдет
    но либо будет неудобство, т.к. будет меняться время от времени или юзать dyndns)

    — использование стороннего сервиса, который будет «точкой доступа» к Вашей виртуалке извне
    (localtunnel.me , TeamViewer, VPN ... )

    — использовать сервер друзей =)
    (VPN, Ssh Tunnel)

    (переместить виртуалку: найти дешевый хостинг OR использовать облако google cloud || amazon aws etc. ))

    * если Вас интересуют не «серверные варианты», а вариант напр.из инета на домашнем компе в IDE что-то правиться то TeamViewer отлично подойдет. Вариантов масса ... чтобы сузить круг в первую очередь для себя — необходимо огласить цель доступности виртуалки в инете ;)

  • Подскажите книгу для изучения PHP

    Учить PHP в сферическом вакууме не имеет смысла ... я вижу Ваше обучение где-то так =)

    (1) Самые основы:

    — PHP синтаксис языка, основные понятия ( массив, переменная, цикл)
    ... здесь Котеров как раз и поможет понять основы программирования
    если есть понимание написанного здесь:
    learnxinyminutes.com/docs/php
    ( learnxinyminutes.com/...s/ru-ru/php-ru )
    идем дальше

    — для начала можно практиковать в online sandbox
    sandbox.onlinephpfunctions.com

    — завести гугл доки в которые писать важные ссылки и
    команды напр по git, linux

    — для удобства изучения поставить LAMP / WAMP
    лучше конечно LAMP (Linux, ssh..) на виртуалке VirtualBox, позже можно Vagrant.

    — поставить редактор (лучше IDE) с подсветкой синтаксиса
    JetBrains PhpStorm (мой выбор), RapidPHP, Sublime text 3

    — не зависимо от профиля Frontend pro vs Backend vs Fullstack (front+backend)
    для начала нужно также понять mysql, ftp, js, css, http (client-server), ... где-то так:

    piccy.info/...96b727f1f/orig

    — ознакомиться с www.phptherightway.com

    (2) Начинающим (не зависимо от языка) начинаем практиковать изучая:

    — Понять паттер MVC

    — Инструменты своего языка ( frameworks, tools etc.)

    для начала попробовать сделать первое приложение
    ( как правило пример всегда найдеться в оф. документации -
    зачастую там довольно доступно описано по шагам) для PHP:

    Bonfire Codegniter ( для начала пойдет)
    ( также попробовать в широко-распространенных frameworks )
    Yii2, Symfony2, Laravel

    (3) Инструменты frontend ( понять основы ) :

    — CSS frameworks напр. Twitter bootstrap

    — JS tools напр. JQuery

    — JS frameworks ( хотябы ознакомиться )
    habrahabr.ru/post/177115

    — Системы контроля версий (рекомендую) Git ( в паре с github )
    ( т.к. особо на процессе обучения часто бывает что неловким движением можно свалить всю дневную работу, кототрая не так быстро идет на этом этапе )

    — SQL ( CRUD )

    (4) Повышаем свой уровень:

    — Вспомнить еще раз про особенности работы с функциями,
    передачу по ссылке ( если хватит сил замыкания)

    — Алгоритмы ( особенно если метите в gamedev )
    в принципе для началу это уверенная работа с массивами

    — Парадигма ООП — пишем немного велосипедов

    — Инструменты
    усваиваем выбранный php framework

    — паттерны проектирования ( ознакомиться )
    книга Мэтт Зандстра будет очень полезна
    т.к. попутно учит хорошему подходу ( будет легко понять SOLID )

    — устройство frameworks

    ---------------------

    Вы сможете выучить язык только через практику ...

    Ко всем задачам рекомендую подходить по принципу Shu-Ha-Ri:

    — изучаем один рабочий путь для достижения результата
    ( готовые рецепты)
    — изучаем остальные пути
    ( дока)
    — абстрагируемся от всего =)

    Хорошего обучения ;)