Парсинг конфига из текстового файла

grigori

( ͡° ͜ʖ ͡°)
Команда форума
у разработчиков доступ по (s)ftp на production, выкладка по ftp/scp. дебажите на production.
:) вам докер не нужен
 
Последнее редактирование:

Фанат

oncle terrible
Команда форума
у разработчиков доступ по (s)ftp на production, выкладка по ftp/scp. дебажите на production.
:) вам докер не нужен
Гриш, давай не будем воображать себя принцессами, которые не какают, а опустимся на грешную землю.
Когда я работал под твоим руководством, доступ на продакшен у меня был.
И я его использовал, от правки конфигов, до работы с живой БД.
И у тебя был. И ты с его помощью core dumped отлавливал.

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

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

WMix

герр M:)ller
Партнер клуба
я понимаю другу, вордпрессик подкрутить, так и я делаю, я понимаю страничку типа визитку покрутить, в консольке телефончик поменять и то только потому что действительно ноут забыл и на руках непонятый win-xp или еще какая хрень, но проектик со средней посещаемостью, особенно когда клиенты платят, жутковато....
 

hell0w0rd

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

AnrDaemon

Продвинутый новичок
Не идеалисты (иначе не смогли бы Laravel использовать), а любители удобных продуктивных инструментов, которые помогают экономить время.
Да, я тоже люблю удобные и эффективные инструменты. Но "люблю" не означает "ворочу носик ото всех, кто может (или кому приходится) работать без них".
 

stalxed

Новичок
@AnrDaemon, и как много удаётся написать в обычном текстовом редакторе?
И каким образом? Как узнать API класса, который находится в vendor?

Я вижу такой алгоритм:
1) Посмотреть на полное имя класса(включая namespace).
2) cd vendor
3) ls
4) думать.... кто же вендор
5) cd имя_вендрома
6) ls
7) думать... какой же пакет этого вендора содержит класс
8) cd название_пакета
9) cd много раз tab, пока удастся проследовать по пути к нужному классу.

Это минимум минута времени.

Или второй алгоритм:
Поиск по файлам, по расширению php, содержащее строку "class Имя_класса".

А потом, в обоих случаях, поиск по файлу, чтобы найти интересующий метод.

Я бы застрелился....
 

hell0w0rd

Продвинутый новичок
@stalxed, или скачиваем плагин, который умеет показывать автокомплит вызывая hhvm, в который встроен движок автокомплита. А еще такой есть у clang (c/c++), flow (js), наверное еще у кого-то, и внешние тулзы, вроде racer для rust.
Автокомплит далеко не самая сложная, зато самая популярная вещь в IDE. Прелесть IDE - то что она понимает ваш код. Она может разложить код в AST, может изменить AST и главное - записать обратно и правильно, соблюдая ваш код-стайл. Это дает возможность делать рефакторинги, go-to-definition и прочие прелести, без которых тяжко.
И именно такой полноценной системы обычно нет у редакторов. Но это не значит, что ее нельзя добавить. Посмотри что facebook делает в этом направлении http://nuclide.io - тут php, js, с/с++/objective-c, ну и разные другие плюшки. Сейчас это все работает не особо гладко, но я, лично, жду 1.0. Атомом тоже раньше невозможно было пользоваться.
 

AnrDaemon

Продвинутый новичок
@AnrDaemon, и как много удаётся написать в обычном текстовом редакторе?
И каким образом? Как узнать API класса, который находится в vendor?
Зачем его "узнавать", когда его надо знать?…
И какое нафиг API класса в YAML? Или в JSON?
 

stalxed

Новичок
@hell0w0rd, ну http://nuclide.io это ide
Если к текстовому редактору приделать автокомплит, это уже получится мини IDE.
Блин, вот не могу понять @AnrDaemon.
Мне двух IDE мало(Zend Studio для php кода, PhpStorm для yaml(сервисов) и twig шаблонов).
Обоих функционал порой кажется мал, у обоих рефакторинг rename class, rename method - ужас, а не рефакторинг.
А @AnrDaemon нормально в текстовом редакторе, кул....
 

ksnk

прохожий
Мы тут про конфиги, вроде говорили? Может вернемся к теме?

- yaml - "во первых, это красиво", приятный и компактный вид. Из минусов могу придумать разве то, что для парсинга его нужно подключить дополнительный и довольно здоровый код. Для микропроектов это может стать проблемой, но уже для проекта обычного размера - неважно. Еще тут всплыл баг с редактированием "неправильно настроенным" редактором. Да, можно случайно и застрелится... "Просто старайтесь не держать его таким образом".
- json - минус в том, что после перезаписи конфига функцией json_encode говорить о его "читабельности" уже немного наивно.
- var_export - читабельность при перезаписи не теряется. imho - наилучший вариант как для микропроектов, так и для всего остального. Минус - в читабельности, все таки, проигрывает yaml, особенно на больших конфигах с длинными строками.
- про читабельность сериалайза лучше не будем
- win.ini - интуитивно-понятно. Синтаксис довольно ограничен, хотя несложный тестовый 2-х уровневый конфиг на нем выглядит хорошо. Если хочется использовать независимый от платформы конфиг и синтаксиса хватает - довольно удачный вариант.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@Фанат, уточни только, что твоя основная роль была - выкладка, а больше доступа не было ни у кого из 10 человек ;)

У нас не было stage. Зато был сисдамин, нынче безработный, который живет в своем сказочном мире, и сделать stage с репликацией с ним было невозможно.
Я ловил на production потому это был первый релиз и живых клиентов еще не было.

есть объективная реальность, а есть люди с придурью, стоит это различать:
реальность нам дана, а людей увольняют, и руководство просит сделать правильно, я тебе в скайп процитирую :)

последние года два у меня все не так, при сбое мы какаем бабочками откатываемся и дебажим на stage - это бывает раз в несколько месяцев
 
Последнее редактирование:

hell0w0rd

Продвинутый новичок
json - минус в том, что после перезаписи конфига функцией json_encode говорить о его "читабельности" уже немного наивно.
Да начните вы уже разбираться с инструментами, прежде чем что-то про них писать. У одного babel генерирует код не поддающийся дебагу, у другого json вдруг нечитаемый.
Код:
php -r 'echo json_encode(["foo" => [1, 2, 3]], JSON_PRETTY_PRINT) . "\n";'
А еще зачем это вам вообще? Конфиг пишется руками, человеком. То, что записывает машина должно иметь соответсвующий интерфейс. Ты же базе через sql обращаешься, а не бинарные блобы парсишь?
 

ksnk

прохожий
Доступна начиная с PHP 5.4.0.
Хотя да, не знал. Не зря сюда заглянул. Спасибо :)

Конфиг пишется руками, человеком
Угу. Админки для лохов. Я всегда это подозревал, только сформулировать не мог ;)
 

AnrDaemon

Продвинутый новичок
Даже у админки есть начальный конфиг. Как минимум параметры доступа к БД. Впрочем, это уже придирки.
 
Сверху