• Мониторинг веб сервера. Как это делаете вы?

    Если есть возможность поставить на отдельную машину то может это поможет: www.spiceworks.com
    Ответ написан
    Комментировать
  • Мониторинг веб сервера. Как это делаете вы?

    @Flocki
    Опыт: свой openvpn server в облаке, к нему подключены серверы - получаем приватную сеть , туда же подключен свой Zabbix в облаке. На серверах агенты и мониторим все что нужно. Масштабируется легко и быстро. Расходы: если к примеру на cloudsigma брать хостинг , то совсем не дорого .
    Ответ написан
    Комментировать
  • Мониторинг веб сервера. Как это делаете вы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Через REST на админку все exception-ы скидываете, а там - руль: что просто положить в БД (чтобы глянуть из админки), а что и про-СМС-ить дополнительно.
    Ну и всегда можно написать свой тест для сервисов и логов, который будет дёргать тот же cron и если тест не пройден - дёргать REST-админки с указанием: что конкретно случилось и чьё поле ответственности (Ваше или хостера).
    Cron - не должен упасть! )
    Ответ написан
    3 комментария
  • Мониторинг веб сервера. Как это делаете вы?

    @strelmax
    ну можете попробовать например monit(https://habrahabr.ru/post/73506/), Munin, либо bash+cron))
    Ответ написан
    Комментировать
  • Что почитать об архитектуре приложений и фреймворков на php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В целом сразу вас расстрою, то что вы хотите нельзя "разобрать" за пару месяцев. На это уйдет пару тройку лет. И книги которые стоит по этой теме прочитать имеет смысл перечитывать. Ну и практика практика практика.

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

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

    но совершенно не имею представления о правильной архитектуре приложений на php


    "Правильно" не бывает, все зависит от задачи. "Правильная" архитектура является:

    - понятной - то есть можно быстро разобраться. Это как читабельность кода (читать совершенный код Макконела) так и в принципе декомпозиция системы, разделение ответственности и т.д. (микросервисы, гексагональная архитектура). Тут можно посоветовать почитать Эрика Эванса.
    - удобной в изменениях (продумать все нереально, а сталобыть проще сделать так что бы адаптироваться под изменения в требованиях можно было эффективнее).
    - Тестируемой - то есть вы можете проверить работоспособность системы на различных уровнях. Тут стоит смотреть в сторону TDD или практик с той же идеей (сначала формулируем как работает и как мы это проверим а потом уже делаем).

    Вот и все. Далее уже есть принципы SOLID (читать Роберта Мартина), GRASP (Крэйг Ларман), GoF (лучше тут почитать head first design patterns или даже начать с Мэта Зандстры, у него помимо паттернов еще про процессы мельком рассказано).

    Ну и смысла в этом всем нет если вы еще до конца не осознали что есть инкапсуляция и полиморфизм. Многие могут рассказать что значат эти термины, но на практике эти знания они не могут применить (чаще всего страдает инкапсуляция)

    или написании чего-то своего с нуля на чистом php


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

    идеально было бы вообще подробно расписанное сравнение внутреннего устройства нескольких фреймворков


    Берете Symfony или Zend и вперед. Все остальные фреймворки "проще". То есть скрывают больше от разработчика. После них уже можно брать что угодно.

    p.s. еще прочитайте тут: www.phptherightway.com
    Ответ написан
    12 комментариев
  • Качество кода в компонентах битрикса?

    kumaxim
    @kumaxim
    Web-программист
    Предстоит редактирование достаточно крупного интернет магазина

    Вы ящик водки уже купили?
    Ответ написан
    1 комментарий
  • Есть ли сервисы для практики в создании sql-запросов?

    @Beriger
    Ответ написан
    Комментировать
  • Где в Москве можно получить практические навыки технической организации работы отдела разработки (приоритет на PHP)?

    flr
    @flr
    Где получить практические навыки ...?

    Как ни странно, только на практике.
    Любой опыт, которым с вами поделятся, будет в любом случае субъективным и специфичным. Надо понимать как раз принципиальные (читай теоретические) подходы. От них будут исходить уже "практические" решения в зависимости от ситуации. Процесс разработки в каждом случае может отличаться. Он обязан быть гибким, подстраиваться под изменения, решать появляющиеся проблемы и т.п.

    День открытых дверей вряд ли чем-то поможет. Вы же не посмотреть на сидящих за компьютерами людей хотите?

    В целом, могу поделиться нашим опытом (в каком-нибудь скайпе). Мы для себя по всем пунктам вопросы давно закрыли. В последнее время подумывал о том, чтобы написать статью по всем этим и подобным вопросам.
    Ответ написан
    Комментировать
  • Какой курс по MySQL (вид/онлайн книга) посоветуют знатоки для зеленого?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    sql-ex.ru/?Lang=0

    + 2 книги: SQL. Сборник рецептов; MySQL сборник рецептов
    Ответ написан
    4 комментария
  • Как не стать недоспециалистом?

    opium
    @opium
    Просто люблю качественно работать
    я стал отличным специалистом и учился сам
    видимо я как раз тот самый крутой техдир
    Ответ написан
  • Почему стремление к упорядочиванию приводит к большей энтропии и отнимает силы?

    opium
    @opium
    Просто люблю качественно работать
    какой то херней вы страдаете, пробовали просто делать?
    Ответ написан
    19 комментариев
  • Как отдать html-страницу, а потом её конвертировать в PDF?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    В pageclan содержится объект HttpResponse, а convertURI принимает ссылку на страницу. Надо что-то вроде

    tmpl = get_template('marketing/parser.html')
    html = tmpl.render(done)
    pdf = client.convertHtml(html)
    Ответ написан
    2 комментария
  • Как найти места поблизости?

    public static function distance($_y1, $_x1, $_y2, $_x2)
    {
    	$pi      =                   pi();
    	$c_A     =                6378137;
    	$c_a     =      1 / 298.257223563;
    	$c_e2    = 2 * $c_a - $c_a * $c_a;
    	
    	$fSinB1  = sin($_y1    * $pi / 180);
    	$fCosB1  = cos($_y1    * $pi / 180);
    	$fSinL1  = sin($_x1    * $pi / 180);
    	$fCosL1  = cos($_x1    * $pi / 180);
    	
    	$fSinB2  = sin($_y2    * $pi / 180);
    	$fCosB2  = cos($_y2    * $pi / 180);
    	$fSinL2  = sin($_x2    * $pi / 180);
    	$fCosL2  = cos($_x2    * $pi / 180);
    	
    	$N1 = $c_A / sqrt( 1 - $c_e2 * $fSinB1 * $fSinB1 );
    	
    	$X1 = $N1 * $fCosB1 * $fCosL1;
    	$Y1 = $N1 * $fCosB1 * $fSinL1;
    	$Z1 = ( 1 - $c_e2 ) * $N1 * $fSinB1;
    	
    	$N2 = $c_A / sqrt( 1 - $c_e2 * $fSinB2 * $fSinB2 );
    	
    	$X2 = $N2 * $fCosB2 * $fCosL2;
    	$Y2 = $N2 * $fCosB2 * $fSinL2;
    	$Z2 = ( 1 - $c_e2 ) * $N2 * $fSinB2;
    	
    	$D = sqrt( ( $X1 - $X2 ) * ( $X1 - $X2 ) + ( $Y1 - $Y2 ) * ( $Y1 - $Y2 ) + ( $Z1 - $Z2 ) * ( $Z1 - $Z2 ) );
    	$R = $N1;
    	
    	return 2 * $R * asin( 0.5 * $D / $R );
    }

    Вот есть метод расчета расстояния между точками. (работает исправно уже много лет)
    В бд можно занести координаты заранее, использовав Яндекс.Геокодер
    http://geocode-maps.yandex.ru/1.x/?geocode=Ул. Пушкина, дом Колотушкина&results=1
    Ответ написан
    3 комментария
  • Что нужно освоить веб разработчику чтобы облегчить себе жизнь?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Редакторы:
    * phpStorm
    * vim

    Языки:
    * bash
    * SQL

    VCS:
    * git

    Сервисы очередей:
    * RabbitMQ
    * ZeroMQ
    * Beanstalktd

    Кэш сервисы:
    * Memcached
    * Redis

    PHP:
    * PHPUnit
    * Symfony
    * Doctrine

    Кодстайл:
    * PSR-0, PSR-1,...
    * PHP_CodeSniffer
    * JSCS

    OC:
    * CentOS
    * Debian

    Система запуска демонов:
    * supervisord

    Виртуализация:
    * Vagrant
    * VirtualBox

    Системы сборки:
    * grunt
    * gulp

    Web сервера:
    * nginx
    * apache
    Ответ написан
    4 комментария
  • Что отличает freelance программиста от корпоративного?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Подскажите, что это за стек технологий?

    По опыту своих коллег:
    Потрындеть по 4 часа в день друг с другом, час пить чай/кофе, ещё час материть заказчиков и последний час чтобы написать пару строчек кода.
    Ответ написан
    5 комментариев
  • Как правильно выстроить процесс разработки?

    flr
    @flr
    Какие инструменты могут понадобится для реализации такой системы?

    Вопрос скорее всего не совсем уместен. Вам могут перечислить инструменты, которые нужны для постройки дома, однако дом вам построить это не поможет. Но, чтобы не быть голословным, вам понадобятся:
    1. Git server (Bitbucket, Gitlab, etc). Если работаете один или проект очень простой, то достаточно будет gitolite.
    2. CI server (Bamboo, Jenkins, etc).
    3. Любой язык программирования для написания pre-receive/post-receive хуков и задач для CI.

    Правильно ли я представляю себе этот процесс?

    Вне зависимости от того, будете ли вы работать один или в команде, с моей точки зрения процесс выглядит усложненным и надуманным. Я бы начал с простого процесса и усложнял бы его только по мере появления каких-то проблем. Если вы начнете со сложного, то вы сразу создадите себе проблемы. И будете создавать новые, решая старые.
    Как я вижу простой процесс:
    1. Возьмите одну ветку, которая будет стабильна, например, master.
    2. Для каждой фичи создавайте отдельную ветку из стабильной. Например, ivan-news-block или ivan-search-bug-fix. Правила нейминга придумать можно любые.
    3. Тестируйте код на своей виртуалке. Обычный vagrant + virtualbox. Если у вас добавляется второй разработчик, то он просто берет Vagrantfile и у него на машине появляется виртуалка с готовым окружением для работы. Зачем вам общий dev сервер?
    4. Процессом деплоя управляет или CI сервер, или ansible/puppet, или самописные скрипты.
    5. Когда ветка готова к релизу, то запускайте процесс деплоя на тестовый стенд, где вы можете показать это заказчику или кому-то еще. Там же CI может прогонять тесты.
    6. Когда фича аппрувнута заказчиком или ПО задачи, то запускайте процесс деплоя на бой.

    Как это реализовать?

    Вопрос явно требует уточнения. Сейчас ваш вопрос звучит так: "Как нарисовать сову?".
    Но что-то могу порекомендовать:
    Начать надо с построения процесса с проделыванием всех действий вручную. Далее постепенно каждую ручную операцию переводить на автоматику. Не стоит сразу пытаться сделать какой-то идеальный механизм.
    Ответ написан
    Комментировать
  • Как правильно выстроить процесс разработки?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Почти. Вместо
    Все проверили, все работает. Отправляем все коммиты из dev на production.

    накатываем этот функционал из dev на основную ветку (мастер), в продакшн только с основной.
    На тест отправляем только то, что готово для передачи условным тестировщикам.
    gitflow для разных людей.
    достаточно что-то типа gitlab+jenkins
    Ответ написан
    Комментировать
  • Возможно ли работать удаленно и при этом быть официально трудоустроеным согласно ТК РФ?

    opium
    @opium
    Просто люблю качественно работать
    да конечно
    нет запрещено работать на не русские компании как физлицо
    Ответ написан
    Комментировать
  • Влияет ли объем кода PHP на производительность?

    Zhbert
    @Zhbert
    Technical Writer, Linux user
    Можно такого кода понаписать, что и одна строка повесит все к чертовой матери...
    Ответ написан
    1 комментарий