Все ж таки, не совсем понятно. В первоначальном варианте данные из IDE пользователя сохраняются на тестовом сервере при сохранении (CTRL+S). Когда рассматривается «такой же подход на тестовом сервере» — как это выглядит? Данные на тестовый сервер поступают только при push-ах из локальных репозиториев разработчиков? И как тогда в этом случае выполняется отладка изменений перед push-ингом?
Не могли бы вы чуть подробнее расписать вот эту схему:
===
Теперь после каждого push'а все файлы на сервере будут приводится к файлам из репозитория, можно такой же подход реализовать и на тест сервере, но в этом случае если один разработчик имеет незапушеные файлы, то на сервере они затрутся и их придется заново загружать.
===
?
Просто если бы содержимое тест-сервера обновлялось только по push-ингу из локальных репозиториев разработчиков, то ошибки из-за незапушенных файлов уже проявлялись бы на момент тестирования на тест-сервере.
А может я просто не до конца представляю себе схему взаимодействия для этого случая? )
У вас в методе transaction() отсутствует код, который, собственно, и выполняет обратное включение автокоммита для случая, когда это необходимо, то есть, когда $need_to_off равна TRUE. Вероятно, просто упустили этот момент, так как в самом тексте статьи этот функционал имеется )
ps. Если, конечно, я все правильно понял )
Спасибо за статью. Узнал из неё про существование функции session_regenerate_id() =))
Такой вопрос. Во время вызова этой функции полностью пересоздается файл, в котором хранятся данные сессии на сервере? Или же просто выполняется его переименование? То есть, будут ли все переменные «старой» сессии доступны для сессии с новым идентификатором без необходимости их «перекладывания руками»?
Точно так. По ошибке выбрал localhost, но использую фактически именно локальный TLD для разработки (*.loc =)) В общем, перенесите меня из первого пункта во второй )
===
Как-то я попросил его показать мне исходники, и был не особо удивлен — если не считать некоторое количество инклудов, весь PHP состоял в расширении файлов (корзина и все прочие примочки, составлявшие «магазинную часть» были на Ecommtools тчк com).
===
Фраза «весь PHP состоял в расширении файлов» слегка вынесла мозг ) О каком расширении речь? Об extends для классов? Или о чем?
Мой комментарий не касается непосредственно темы статьи, но имеет некоторое отношение к Workzilla.ru Какое-то время назад я зарегистрировался там в надежде подработать в свободное от основной работы время ) Как говорится, хотелось вменяемых денег за среднего качества интеллектуальный труд. Заплатил, помню, за регистрацию что-то в районе 50 рублей. Сначала слегка удивился примерам объявлений о поисках работы типа «найти в Интернете адреса 250 фирм, продающих щенков пекинеса. За 100 рублей» или «Объехать 40 оптовых баз в Московской области для проведения фотосъемки. За 150 рублей». Возможно, я немного утрирую, но суть заданий и порядок цен примерно такого уровня. Ну, в общем, почитал, и ладно. Подумал, мало ли чего не предложат на старте. Всякое бывает. Короче, стал мониторить проекты, которые постятся. А там, однако, все то же. Те же, по сути, задания, и — самое интересное — те же, в общем-то, цены. То есть, ну пусть до 500 рублей в пике. По IT-направлению — вообще не особо густо в плане количества заказов. А потом я (внезапно) сообразил, что сам проект заточен именно вот под такие «доступные всем» задачи. То есть, на нем преобладают задания, которые может выполнить, ну… любой человек. С квалификацией, близкой к нулю. Разумеется, и платить ему будут ровно так же ) И когда я это осознал, я прекратил пользоваться услугами этого ресурса. Тут важно понять, что он не позиционируется, как аналог free-lance.ru. И ожидать от него чего-то такого просто глупо. Ну вот лично мое мнение (совершенно не в обиду создателям). Вполне возможно, конечно, что ситуация сейчас изменилась, не знаю.
ps. Еще интересно было читать периодические рассылки с workzilla.ru, которые, вероятно, адресованы потенциальным заказчикам. В них, как правило, приводятся success stories людей, смогущих за сущие копейки нанять на этом сайте исполнителей. Ну и, разумеется, довольных полученным результатом )
Мне, как исполнителю, было не очень приятно все это читать ))
==
Она определяет пересекает ли луч выпущенный из точки c вдоль оси y в направлении уменьшения x отрезок (a,b)
==
Не очень понятна фраза «в направлении уменьшения x». Если луч идет вдоль оси y (параллелен ей), то x при этом не изменяется совсем. Или я просто неправильно себе все представляю?
У меня на рабочей клавиатуре стерлись со временем обозначения русских букв. Сначала было не очень удобно, но постепенно приноровился ) Иногда бывает необходимость набирать пароли (набор определенных русских букв), так тут иногда случается ступор, так как не сразу удается нужную букву найти ) А вот когда печатаешь произвольный текст «в потоке», то все получается легко и просто. В общем, удивительная штука )
Спасибо большое за статью. Единственное замечание: не имеет смысла передавать в paths' cm и db, соответственно. По идее, будет меньшая нагрузка на стек.
Вы пишете:
==
Например, символьное выражение (a + b)(a — b) очевидным образом преобразовывается в a^2 — b^2, при этом оставаясь именно в таком виде. Если осуществить подстановку вида a ← (x — 1), то выражение преобразуется к виду (x^2 — 1) — b^2.
==
Не очень понятно, почему (x-1)^2 = x^2-1. Если я правильно понял идею.
==
можно такой же подход реализовать и на тест сервере
==
===
Теперь после каждого push'а все файлы на сервере будут приводится к файлам из репозитория, можно такой же подход реализовать и на тест сервере, но в этом случае если один разработчик имеет незапушеные файлы, то на сервере они затрутся и их придется заново загружать.
===
?
Просто если бы содержимое тест-сервера обновлялось только по push-ингу из локальных репозиториев разработчиков, то ошибки из-за незапушенных файлов уже проявлялись бы на момент тестирования на тест-сервере.
А может я просто не до конца представляю себе схему взаимодействия для этого случая? )
ps. Если, конечно, я все правильно понял )
Такой вопрос. Во время вызова этой функции полностью пересоздается файл, в котором хранятся данные сессии на сервере? Или же просто выполняется его переименование? То есть, будут ли все переменные «старой» сессии доступны для сессии с новым идентификатором без необходимости их «перекладывания руками»?
Как-то я попросил его показать мне исходники, и был не особо удивлен — если не считать некоторое количество инклудов, весь PHP состоял в расширении файлов (корзина и все прочие примочки, составлявшие «магазинную часть» были на Ecommtools тчк com).
===
Фраза «весь PHP состоял в расширении файлов» слегка вынесла мозг ) О каком расширении речь? Об extends для классов? Или о чем?
6. Объявляйте переменные для вне циклов
===
Не сразу сообразил, к чему там «для» ))
ps. Еще интересно было читать периодические рассылки с workzilla.ru, которые, вероятно, адресованы потенциальным заказчикам. В них, как правило, приводятся success stories людей, смогущих за сущие копейки нанять на этом сайте исполнителей. Ну и, разумеется, довольных полученным результатом )
Мне, как исполнителю, было не очень приятно все это читать ))
Она определяет пересекает ли луч выпущенный из точки c вдоль оси y в направлении уменьшения x отрезок (a,b)
==
Не очень понятна фраза «в направлении уменьшения x». Если луч идет вдоль оси y (параллелен ей), то x при этом не изменяется совсем. Или я просто неправильно себе все представляю?
(ну или уже Кеннет тогда =)
==
Например, символьное выражение (a + b)(a — b) очевидным образом преобразовывается в a^2 — b^2, при этом оставаясь именно в таком виде. Если осуществить подстановку вида a ← (x — 1), то выражение преобразуется к виду (x^2 — 1) — b^2.
==
Не очень понятно, почему (x-1)^2 = x^2-1. Если я правильно понял идею.