Pull to refresh
13
Алексей@boodda

Пользователь

1
Subscribers
Send message

Где же была эта статья неделю назад… Пришлось угробить 2 дня и с 3-го подхода проекты были подняты и под windows. От себя добавлю, если у вас все работает под linux, но выдаёт рандомные ошибки, то выполните(я все выполнял в PowerShell) для всех dockerfile и всех sh файлов, которые участвуют в сборке образов


dos2unix Диск:/путь/до_файла

А так же надо помнить о разнице в сетевом окружении между Linux и Windows. В Linux внутренняя сеть докера видна снаружи системы, а в Windows она за NAT'ом(Docker vEthernet) и не видна снаружи, и это приводит к проблеме с Xdebug, так как remote_connect_back=1 не работает в принципе. Если кто то знает как пробросить трафик из внутренней сети во внешнюю, напишите.


Для нашей компании мы выбрали следующее решение:


  • Создал папку mods_available
  • В Dockerfile добавил строку
    ADD ./mods_available/*.ini /etc/php/7.0/mods_available/
  • в корне проекта добавили в .gitignore запись игнорить все файлы ini в mods_available
  • В папку положил .gitkeep и xdebug.ini.dist

Содержимое xdebug.ini.dist


zend_extension=xdebug.so # или как там, не помню на память 
xdebug.remote_autostart = 0
xdebug.remote_enable = 1
xdebug.remote_host = 10.0.75.1 # Сюда написать IP хоста, из виртуального адаптера docker'а 
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.idekey = "PHPSTORM"

Если надо использовать xdebug, надо просто скопировать и переименовать xdebug.ini.dist в xdebug.ini и прописать в него свой IP. Это будет работать и в Windows и Linux. И даёт возможность не вносить изменения в файлы под git'ом.


И да все это работает на windows 10 под Hyper-v, без VirtualBox и др.

Как это?

Типа если при строительстве были дотации, а потом он прибылен… Кто оплатил дотации? Суть зеленой энергетики не в том чтобы было дешевле. А в том что, срать они будут в Китае, там далеко, не у себя. А вот у них да, все экологично.

Все эти ветряки, и солнечные батареи неокупаемы в замкнутом цикле производства и использования. То есть на производство, обслуживание и демонтаж этих установок тратиться денег больше, чем стоимость эквивалентного количества энергии выработанной ГЭС или АЭС. А это значит, что нельзя используя только зеленую энергетику, производить объекты этой энергетики, да еще и получая профит в виде энергии для домохозяйств и производств. Значит это тема жива, пока её поддерживают. А поддерживают её, повторюсь, чтобы вынести вредную, с точки зрения экологии, генерацию, по-дальше от себя в менее развитые страны. Ну и распилить бюджеты государства на крупных заказах(читай Siemens и другие).

Дотации — это не рыночный метод.
это не работает как надо, куча проблем, особенно с гитом. когда переключаешь ветку, файлы могут не синхронизироваться, рандомные баги в коде из-за этого. Куча багов на гитхабе про это. Под Винду нет нормального способа разрабатывать. Vagrant + что угодно: баги и медленно, docker +win 10(7): баги с правами. Вечные проблемы с правами на файлы и папки. нормально не пробрасывается. Как итог — пока vagrant + winnfsd и vagrant reload при смене ветки или просто если начались глюки
интересно. у меня вопрос почему в конфигах все значения настроек надо прописывать строками, для чего это. я не хочу помнить их, пишите как константы классов. ide всегда напомнит и дополнит все что я хочу и еще и с комментариями. не пишите строки!
Пример на JS fiddle как то совсем плохо работает под хромом. Выбирает далеко не с первого раза и даже не со второго.

Это вменяемый функционал и нужный. Зачем его фиксить, он работает как надо. Это вы используете его не правильно.

А вы не в курсе что не хорошо не договаривать. Сказал function — говори и видимость

Да там евалов просто море. Вон и модуль пагинации, который по моему не все реплейсит.


А еще там есть лютейший extract без EXTR_SKIP.


Который может вообще пустить по банану и перезаписать любую переменную, которая потом так же прилетит в require или eval. Но я не смог это проверить, ибо ваша поделка не запускается на PHP 7. Совсем.

main/sky.php, Class Sky но почему у методов не объявлена видимость. Где док.блоки.
mysql_* Deprecated
PHP 7 — вообще не запустилось ничего.
Дальше даже проверить не смог.

Проблема с Eval'om всегда одна и та же. В неё все равно кто то протащит исполняемый, но не по назначению код.


А собака(@) это как газетку на говно постелить. То есть его не видно. Но воняет и остальные не поймут почему.

О, это вообще шедевр!!! В споре, скинуть ссылку на свой же опус, на своём же сайте. Это, это… гениально. По моему тут уже был подобный чел. G-Max зовут или как то так, он тоже говорил, что все вокруг не правы, и его вариант ну просто единственно верный.

Читаешь такие новости, и кажется что все самое интересное было пару сотен миллионов лет назад. Динозавры, сверхновые, вулканы и т.д
развернуть фреймворк, сделать схему бд, модельки, контроллер, наверстать вьюхи, js код, правила валидации, подключение каптчи — и на все 10 минут. так не бывает...2 часа — да, 20 минут нет.

По-моему можно просто сделать 1 колонку с 10-значным номером PRIMARY KEY без индексов

Нет руками писано)

с SQL надо аккуратнее, а то потом подсаживаешься и начинается что то подобное:


INSERT INTO stats_search_engine_hot
SELECT 
    CURRENT_DATE as date, 
    visitors.user_id,
    visitors.host_id,
    visitors.search_engine_id,
    visitors.visitorquant,
    IFNULL(dialogs.dialogquant, 0) as dialogquant
FROM (
    SELECT 
        sess.user_id, 
        sess.host_id,
        sess.search_engine_id,
        count(sess.id) as visitorquant
    FROM (
        SELECT s.id FROM session as s WHERE s.date = current_date
        UNION
        SELECT sh.id FROM session_hot as sh
    ) as subquery
    INNER JOIN session as sess ON sess.id = subquery.id
    WHERE sess.search_engine_id > 0
    GROUP BY 
        sess.user_id, 
        sess.host_id, 
        sess.search_engine_id
) as visitors
LEFT JOIN (
    SELECT 
        s.user_id, 
        s.host_id, 
        s.search_engine_id, 
        count(s.id) as dialogquant
    FROM(
        SELECT
            m.session_id, 
            min(m.id) as mid
        FROM message as m
        WHERE m.date >= DATE_FORMAT(NOW(),"%Y-%m-%d 00:00:00")
        GROUP BY 
            DATE(m.date), 
            m.session_id
    ) as a
    LEFT JOIN message as b ON b.id = a.mid 
    LEFT JOIN session as s ON s.id = a.session_id
    WHERE b.direct = 0 
    AND s.search_engine_id > 0
    GROUP BY 
        s.user_id, 
        s.host_id, 
        s.search_engine_id
) as dialogs 
ON visitors.user_id = dialogs.user_id 
AND visitors.host_id = dialogs.host_id 
AND visitors.search_engine_id = dialogs.search_engine_id
Что я могу сказать по этому поводу?
Наверно если форму нельзя разделить на четкие части, по семантике, или еще чему-то, то тут либо надо пересмотреть форму, либо смириться и сделать немного грязно. Ведь абсолютного решения для всего и вся нет, ну просто нет и все, это не проблема, это данность. надо просто смириться и сделать максимально понятно, пусть полотно кода, пусть 10 файлов. Напишите комментарий в котором вы просто поясните проблему и в чем суть вашего решения этой проблемы.

Лично моё мнение грязный хак или костыль в ББ будет намного понятнее, чем такой же хак в ангуляре.

Кстати когда у меня, как у программиста, возникают проблемы с тем, что дал дизайнер, я иду к начальству и говорю о проблеме.
Описываю возможные решения. Начальство зачастую понимает мои доводы, мы берем дизайнера и смотрим, задаём себе вопрос, может что то не так спроектировали. или что то не так нарисовали. Это же нормально, люди делают работу в потоке, и могут не увидеть очевидного, забыть о какой то вроде как мелочи, а на деле важном моменте. Или они просто не знают о других подходах. Все бывает.
В ваших руках показать им что возможно существуют другие решения.
но ваша система и есть практическая работа студента, в которой никто кроме вас не разберется быстро, а когда разберется найдёт кучу багов, которые надо править, и вот он денежно-временной континнум клиента, которго поставят перед выбором, платить дальше и смириться с текущей системой или опять заплатить за новое решение.
но если сделать хорошо будет не 3 файла. а больше и что вы там настраивать хотите не понятно.

Information

Rating
Does not participate
Location
Россия
Registered
Activity