Где же была эта статья неделю назад… Пришлось угробить 2 дня и с 3-го подхода проекты были подняты и под windows. От себя добавлю, если у вас все работает под linux, но выдаёт рандомные ошибки, то выполните(я все выполнял в PowerShell) для всех dockerfile и всех sh файлов, которые участвуют в сборке образов
dos2unix Диск:/путь/до_файла
А так же надо помнить о разнице в сетевом окружении между Linux и Windows. В Linux внутренняя сеть докера видна снаружи системы, а в Windows она за NAT'ом(Docker vEthernet) и не видна снаружи, и это приводит к проблеме с Xdebug, так как remote_connect_back=1 не работает в принципе. Если кто то знает как пробросить трафик из внутренней сети во внешнюю, напишите.
в корне проекта добавили в .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 всегда напомнит и дополнит все что я хочу и еще и с комментариями. не пишите строки!
Да там евалов просто море. Вон и модуль пагинации, который по моему не все реплейсит.
А еще там есть лютейший extract без EXTR_SKIP.
Который может вообще пустить по банану и перезаписать любую переменную, которая потом так же прилетит в require или eval. Но я не смог это проверить, ибо ваша поделка не запускается на PHP 7. Совсем.
main/sky.php, Class Sky но почему у методов не объявлена видимость. Где док.блоки.
mysql_* Deprecated
PHP 7 — вообще не запустилось ничего.
Дальше даже проверить не смог.
О, это вообще шедевр!!! В споре, скинуть ссылку на свой же опус, на своём же сайте. Это, это… гениально. По моему тут уже был подобный чел. G-Max зовут или как то так, он тоже говорил, что все вокруг не правы, и его вариант ну просто единственно верный.
развернуть фреймворк, сделать схему бд, модельки, контроллер, наверстать вьюхи, js код, правила валидации, подключение каптчи — и на все 10 минут. так не бывает...2 часа — да, 20 минут нет.
с 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 файлов. Напишите комментарий в котором вы просто поясните проблему и в чем суть вашего решения этой проблемы.
Лично моё мнение грязный хак или костыль в ББ будет намного понятнее, чем такой же хак в ангуляре.
Кстати когда у меня, как у программиста, возникают проблемы с тем, что дал дизайнер, я иду к начальству и говорю о проблеме.
Описываю возможные решения. Начальство зачастую понимает мои доводы, мы берем дизайнера и смотрим, задаём себе вопрос, может что то не так спроектировали. или что то не так нарисовали. Это же нормально, люди делают работу в потоке, и могут не увидеть очевидного, забыть о какой то вроде как мелочи, а на деле важном моменте. Или они просто не знают о других подходах. Все бывает.
В ваших руках показать им что возможно существуют другие решения.
но ваша система и есть практическая работа студента, в которой никто кроме вас не разберется быстро, а когда разберется найдёт кучу багов, которые надо править, и вот он денежно-временной континнум клиента, которго поставят перед выбором, платить дальше и смириться с текущей системой или опять заплатить за новое решение.
Где же была эта статья неделю назад… Пришлось угробить 2 дня и с 3-го подхода проекты были подняты и под windows. От себя добавлю, если у вас все работает под linux, но выдаёт рандомные ошибки, то выполните(я все выполнял в PowerShell) для всех dockerfile и всех sh файлов, которые участвуют в сборке образов
А так же надо помнить о разнице в сетевом окружении между Linux и Windows. В Linux внутренняя сеть докера видна снаружи системы, а в Windows она за NAT'ом(Docker vEthernet) и не видна снаружи, и это приводит к проблеме с Xdebug, так как remote_connect_back=1 не работает в принципе. Если кто то знает как пробросить трафик из внутренней сети во внешнюю, напишите.
Для нашей компании мы выбрали следующее решение:
Содержимое xdebug.ini.dist
Если надо использовать xdebug, надо просто скопировать и переименовать xdebug.ini.dist в xdebug.ini и прописать в него свой IP. Это будет работать и в Windows и Linux. И даёт возможность не вносить изменения в файлы под git'ом.
И да все это работает на windows 10 под Hyper-v, без VirtualBox и др.
Типа если при строительстве были дотации, а потом он прибылен… Кто оплатил дотации? Суть зеленой энергетики не в том чтобы было дешевле. А в том что, срать они будут в Китае, там далеко, не у себя. А вот у них да, все экологично.
Все эти ветряки, и солнечные батареи неокупаемы в замкнутом цикле производства и использования. То есть на производство, обслуживание и демонтаж этих установок тратиться денег больше, чем стоимость эквивалентного количества энергии выработанной ГЭС или АЭС. А это значит, что нельзя используя только зеленую энергетику, производить объекты этой энергетики, да еще и получая профит в виде энергии для домохозяйств и производств. Значит это тема жива, пока её поддерживают. А поддерживают её, повторюсь, чтобы вынести вредную, с точки зрения экологии, генерацию, по-дальше от себя в менее развитые страны. Ну и распилить бюджеты государства на крупных заказах(читай Siemens и другие).
Дотации — это не рыночный метод.
Это вменяемый функционал и нужный. Зачем его фиксить, он работает как надо. Это вы используете его не правильно.
А вы не в курсе что не хорошо не договаривать. Сказал function — говори и видимость
Да там евалов просто море. Вон и модуль пагинации, который по моему не все реплейсит.
А еще там есть лютейший extract без EXTR_SKIP.
Который может вообще пустить по банану и перезаписать любую переменную, которая потом так же прилетит в require или eval. Но я не смог это проверить, ибо ваша поделка не запускается на PHP 7. Совсем.
main/sky.php, Class Sky но почему у методов не объявлена видимость. Где док.блоки.
mysql_* Deprecated
PHP 7 — вообще не запустилось ничего.
Дальше даже проверить не смог.
Проблема с Eval'om всегда одна и та же. В неё все равно кто то протащит исполняемый, но не по назначению код.
А собака(@) это как газетку на говно постелить. То есть его не видно. Но воняет и остальные не поймут почему.
О, это вообще шедевр!!! В споре, скинуть ссылку на свой же опус, на своём же сайте. Это, это… гениально. По моему тут уже был подобный чел. G-Max зовут или как то так, он тоже говорил, что все вокруг не правы, и его вариант ну просто единственно верный.
По-моему можно просто сделать 1 колонку с 10-значным номером PRIMARY KEY без индексов
Нет руками писано)
с SQL надо аккуратнее, а то потом подсаживаешься и начинается что то подобное:
Наверно если форму нельзя разделить на четкие части, по семантике, или еще чему-то, то тут либо надо пересмотреть форму, либо смириться и сделать немного грязно. Ведь абсолютного решения для всего и вся нет, ну просто нет и все, это не проблема, это данность. надо просто смириться и сделать максимально понятно, пусть полотно кода, пусть 10 файлов. Напишите комментарий в котором вы просто поясните проблему и в чем суть вашего решения этой проблемы.
Лично моё мнение грязный хак или костыль в ББ будет намного понятнее, чем такой же хак в ангуляре.
Кстати когда у меня, как у программиста, возникают проблемы с тем, что дал дизайнер, я иду к начальству и говорю о проблеме.
Описываю возможные решения. Начальство зачастую понимает мои доводы, мы берем дизайнера и смотрим, задаём себе вопрос, может что то не так спроектировали. или что то не так нарисовали. Это же нормально, люди делают работу в потоке, и могут не увидеть очевидного, забыть о какой то вроде как мелочи, а на деле важном моменте. Или они просто не знают о других подходах. Все бывает.
В ваших руках показать им что возможно существуют другие решения.