• Как настроить Git на хостинге?

    @nick_volynkin
    Java-разработчик
    Прочитал выше в комментариях про схему, в которой сервер сразу деплоит файлы на хостинг. Постараюсь внести немного ясности.
    Удаленный Git-сервер устроен немного не так, как ваш локальный репозиторий. Сервер не хранит working tree, а только файлы git. То есть там есть только то, что у вас в папке .git, а самих файлов проекта - нет. Они занимали бы лишнее место.

    Если я правильно понял, нужно чтобы удаленный сервер при завершении push выкладывал файлы куда-то на хостинге. Думаю, это можно реализовать через git hooks на стороне сервера. Читайте тут:
    git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

    А вот еще на хабре есть статья, описывающая решение.
    habrahabr.ru/post/178965
    Ответ написан
    Комментировать
  • Логика разделения frontend и backend на Yii2 advanced?

    ValentinSaik
    @ValentinSaik
    Backend-Developer
    Если тебе нужно будет работать с моделями / формами и на фронтенде и на бэкенде то помещай их в папку common/models, например модель Users с помощью которой ты выводишь список пользователей, она тебе будет нужна как в фронтенде так и в админке, ее следует поместить в коммон, если же ты пишешь например модель Comments которая будет выводить комментарии к определенному посту, но ты не будешь выводить комментарии в админке то помещай эту модель в папку frontend/models, удобнее будет подключить ( use app/models/Comments; ) если же тебе надо вывести какую то статистику только в админке то создавай модели в папке backend/models.
    Но ничего страшного не случится если ты модель создашь не в той папке, просто надо будет менять путь подключения в нейсмпейсе. А вот с контроллерами тут по другому, их ты создаешь только в нужном приложении, если создаешь контроллер StatisticsController который будет выводить какую то статистику то помещать его надо именно в бэкенд, потому что заходить на него ты будешь из админки, если же ты хочешь что бы он был доступен и из админки и из фронтенда - создай 2 контроллера. Надеюсь все понятно изложил
    Ответ написан
    2 комментария
  • Что послушать про программирование?

    Слушать подкасты это и весело и полезно. Но выбрать для себя подходящий это та еще задача.

    Порекомендую несколько, которые мне нравятся:
    1) Разбор Полетов - о технологиях, гаджетах и программировании
    2) Радио-Т - о технологиях и программировании + болтология :)
    3) РадиоJS - о JS и фронтенде
    4) Откровенно про IT карьеризм - разговорное шоу с интересными собеседниками, о программировании, карьере и всем-всем
    5) RWpod - о рельсах, руби и пр.
    6) RubyNoName - о рельсах, руби и пр. сейчас чуть заглохло
    7) ruby5 - о рельсах, руби и пр. на английском

    + Бинарное Радио
    Ответ написан
    1 комментарий
  • Когда изучать npm, grunt, bower, git и т.д?

    @flor_master
    Могу верстать, могу не верстать.
    На самом деле все очень просто.
    NPM - это пакетный менеджер который идет вместе с node.js, С помошью него можно устанавливать все что вы перечислили выше и другие модули, программы.

    Gulp, Grunt - это консольные утилиты. Они взаимозаменяемы. Они делают рутинную работу за тебя: компилируют Less Sass, склеивают скрипты, минифицируют скрипты, стили, делают спрайты, оптимизируют картинки и даже поднимают свой простенький вебсервер и LiveReload.

    Gulp или Grunt - Дело вкуса. Мне понравился больше Gulp. Он быстрее.

    Git - Система контроля версий твоего кода. Она позволяет организовать совместную работу нескольких разработчиков над ним проектом.

    Bower - просто утилита, которая быстро тебе скачивает необходимые библиотеки и из хависимости. Что бы ты не лазил по сайтам разработчиков. Например тебе надо установить jquery - ты просто в консоли пишешь Bower install jquery и тебе скачивается Jquery.

    Я считаю что Git в современной работе просто необходим как воздух.
    Gulp или Grunt и Bower сильно облегчили мне жизнь.

    Думаю что для устроиства на работу ключевым знанием будет Git. а потом уже все остальное.

    Gulp или Grunt и Bower - очень легкие программы для первичного использования. Их Можно попробовать и решить нужны ли они тебе или нет - за очень короткий промежуток времени.
    Ответ написан
    1 комментарий
  • Как заставить WebStorm автоматически заворачивать длинные строки?

    miminari13
    @miminari13
    view - active editor - use soft wraps
    это для вебшторма, но думаю в phpstorm тоже самое
    Ответ написан
    3 комментария
  • DNS на Vesta, как реализовать, аналогично ISPManager 4?

    odies
    @odies
    Фрилансер, электронщик
    Не совсем правильное решение, держать 2 ns на одном ip.

    Правильнее будет так:
    1. Покупаем любой дешевый vps на год (можно найти за 10$ в год)
    2. Устанавливаем на этот сервер Весту
    3. Добавляем на новом сервере через Весту пользователя "dns-cluster"
    4. На вашем основном сервере с Вестой, через ssh выполняем команду
    v-add-remote-dns-host 111.222.333.444 8083 admin password

    (Где 111.222.333.444 - ip адрес сервера за 10$)

    5. В панели регистратора домена прописываем зоны
    ns1.yoursite.com ip (основного сервера)
    ns2.yoursite.com ip (сервера за 10$)

    6. Для вашего домена в настройках Весты прописываем DNS
    ns1.yoursite.com
    ns2.yoursite.com

    7. Для всех остальных доменов так
    ns1.yoursite.com
    ns2.yoursite.com


    Теперь у вас 2 независимых ns сервера, которые будут работать стабильно и без сбоев. Но так как вы уже потратили деньги на сервер за 10$, то можете настроить автоматический бекап ваших сайтов с основного сервера, на ваш докупленный посредством ftp:
    Для этого:
    1. Открываем на основном сервере файл "/usr/local/vesta/conf/ftp.backup.conf"
    2. Пропишите настройки резервного копирования:
    HOST='ip-адрес сервера за 10$'
    PORT='21'
    USERNAME='логин ftp'
    PASSWORD='пароль ftp'
    BPATH='/'
    Ответ написан
    5 комментариев
  • Язык программирования под конкретную задачу + с нуля + хорошая база?

    AMar4enko
    @AMar4enko
    Хоть и жутко прозвучит, но вам, вероятней всего, нужна Java.
    Подойдет для обучения с нуля, далее сможете поднатаскаться в каноническом ООП, опытным путем поймете все must-have паттерны.
    Сможете написать десктопное приложение, сервер веб-приложения, android-приложение.
    Также для веб приложения вам понадобится некоторое знание JavaScript (никоим образом не соотносится с Java), но насколько я понял, это для вас программа "максимум".

    Еще один вариант - JavaScript.
    Веб-приложение на node.js, мобильное приложение на HTML5 с Apache Cordova, десктопное приложение на Node Webkit. Но влезать в него не обладая базовыми знаниями по программированию я вам не рекомендую - отсутствие строгой типизации, ООП как такового, куча скрытого поведения, замыкания на каждом шагу дают чересчур слишком много вариантов неправильной реализации иногда вполне очевидных вещей.

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

    Итог: избавьтесь от иллюзий, что в этот поезд можно вскочить за полгода работы по вечерам и в выходные. Это будет долгая и кропотливая работа.
    Ответ написан
    1 комментарий
  • С чего начать и как писать Unit-тесты для проектов на PHP?

    janson
    @janson
    PHP-разработчик
    1. установить PHPUnit
    2. научится запускать тесты на PHPUnit. Самые банальные по мануалу. Просто запускать и понять, как они срабатывают.
    3. опробовать подход на небольших учебных задачах (всякие code-kata подойдут, задачи типа FizzBuzz, конвертёр температур из шкалы Цельсия в шкалу Фаренгейта, любые простые, алгоритмизируемые задачи с проверяемым результатом).
    4. После понимания сути тестов, заводим tests/ в реальном проекте, и начинаем думать, как это всё завести. В первый раз достаточно сложно сообразить как всё это добро соединить. Постепенно прикручиваем тесты, осваиваем технику работы со стабами (Stub) и моками (Mock).

    В процессе освоения шага №3, опробовать TDD: до написания кода, решающего задачу, пишем тесты для будущего кода. Это потребует в процессе написания теста продумать, как будут называться классы, методы, функции, какие граничные условия для прохождения тестов и проч.

    Очень вероятно, что с первого раза не всё будет понятно и просто. Пробуйте.

    Как пища для размышлений и осваивания методологии TDD, подборка задач:
    codekata.com

    Во многих там даже условия тестов прописаны, остаётся подкорректировать под себя и принятся за реализацию.
    Ответ написан
    Комментировать
  • Нужен ли HTML для изучения JavaScript и PHP?

    @veitmen
    Немного странные ответы.

    Попробуем по порядку.
    1. Конкретного ответа на ваш вопрос нет. Т.к. бэкэнд разработка бывает очень разная. Есть задачи, для решения которых знание HTML не нужно. Более того, я сейчас являюсь бэкэнд разработчиком (правда другие технологии) одного большого корпоративного портала. HTML мне не нужен вообще, но это не значит что я его не знаю.
    2. Предположим, что вы хотите стать полноценным веб-программистом. Для меня, веб-разработчик - это всегда сначала программист, а потом уже веб. :) Поэтому советую для начала понять как работает PHP или JS, что можно делать используя эти технологии. Как работает генерация, например, обычного текста. Поймите как устроено клиент серверное взаимодействие, что такое "песочница" браузера. Как можно используя JS получить данные с сервера. Как передать данные из браузера на сервер. Как получить данные от пользователя. Решая эти задачи, рано или поздно вы познакомитесь с DOM моделью браузера, начнете понимать как работать с DOM моделью на стороне браузера.Потом захочется рюшечек и примочек, захочется делать красиво и Вы начнете потихоньку познавать тонкости HTML + CSS. Но в целом, для начала, достаточно знания того, как сделать textbox или кнопку. У меня было так. HTML + CSS - это визуализация ваших данных, которые обработаны и подготовлены. Но без знаний о том, как эти данные обработать и подготовить - HTML не пригодится. Хотя, наверное, дизайнеры со мной не согласятся. :)
    3. Предположим, что вы хотите клепать сайты используя CMS. Изучаете любую CMS, без глубокого изучения PHP. Изучаете JS фреймворк, без полного понимая JS. Изучаете HTML + CSS и клепаете сайты. Быстро, дерьмово, дешево. Но, я уверен, это не ваш путь.

    К сожалению учебник не посоветую. Я думаю, для начала, достаточно любого учебника, который расскажет про form и как сделать таблицы. Не вдавайтесь в детали. Изучайте то, как работать с какими либо данными с использованием нужных вам технологий.
    Советую изучать так:
    1. Как послать данные введенные пользователем на сервер. Изучайте form, input.
    2. Как отобразить данные пользователю. Изучаете table, div, span.
    3. Как послать данные на сервер и отобразить ответ в виде HTML от сервера без "перезагрузки" страницы. Изучаете JS, ajax.
    4. Как показать ответ от сервера, который содержит только данные. Изучаете JS, jQuery.
    5. Как сделать красиво. Изучаете jQuery + jQueryUI.
    Паралельно вы изучаете PHP. Т.е. изучение этих пунктов, нужно лишь для изучения той технологии, которая используется на сервере (PHP, Node.js например). Потом, если вы захотите делать красивые интерфейсы, изучайте плотно HTML + CSS.

    И да, дико извиняюсь, но PHP не лучший выбор. Это не лучший выбор для начала, и уж тем более, не лучший выбор для продолжения. :)
    Ответ написан
    3 комментария