raiboon, еще эникей на регулярное "я ничего не делала, оно само". Что характерно - под Линуксом у меня такая жалоба была ровно одна. Но та бухгалтерша действительно ничего не делала, просто прижала Ctrl на клавиатуре ежедневником ;)
Другое дело, что торговые предприятия - это одна бухгалтерия. Тут 1С + выкидыши налоговой, со вторыми на Линуксе туго просто потому, что эти динозавры и под Винду-то с трудом программируют...
Иван Шумов, варианта всего два: или два разных кода знают о потрохах друг друга и полагаются на это знание, а значит, связаны и не могут быть изменены один без другого. Либо им известен только общий формат обмена информацией, и изменения в любом из них могут не затрагивать другой.
Этот общий принцип скрытия внутренних механизмов и данных от внешнего наблюдателя в ООП, например, называется инкапсуляцией (порадуем начетчиков).
Вы совершаете классическую ошибку: "никак не врублюсь в паттерны программирования, дайте какой-нибудь код на одну страничку, чтобы разобраться".
Но паттерны применяются для управления сложностью кода в больших проектах, в мелочевке им делать нечего.
Так же и принципы идеального кода - они относятся к тому, как не запутаться в масштабном проекте и вывозить его поддержку годы спустя написания. Чем вам тут поможет краткий примерчик? Образцы и в самой книге есть.
noralesma, не считайте поисковики идиотами. Если у вас нет реально уникального и привязанного к городу не только названием контента на поддоменах - вы их поиском не раскрутите.
Александр Скуснов, вы зря считаете это потерянным временем.
Представьте себе, что у вас заказчики - три брата: Полидевк, Мордехай и Пельгыгергы Аполлинарьевичи. И каждый из них выставляет свои требования, которые вашей команде требуется обсуждать. Так вот, имеет смысл на первом же брейн-шторме переименовать заказчиков в Гнуса, Латиноса и Щербатого, чтобы потом не тратить время ни на титулование, ни на воспоминание, кто из них кто. С переменными ровно то же самое: вы создаете мини-язык, где у каждого понятия есть свое четкое и однозначное обозначение, выхватываемое из текста одним взглядом. А транслит - это как раз попытки все совещание называть клиентов по имени-отчеству...
Александр Скуснов, ну, refill. Нужно понимать, что русская терминология может довольно хреново передавать семантику, и копать глубже. Часто внезапно оказывается, что то, что по-русски называется жутким нагромождением деепричастий, по-английски выражается одним глаголом с правильно подобранными приставкой и окончанием.
CryNet, просто при банальном графическом объединении двух замкнутых контуров вы получаете больший контур, из которого вырезан меньший.
В вашем примере вижу карту, из которой меньший контур (Киев) просто выкинут.
Griboks, сайт - это нечто большее, чем ответы от сервера. Это еще и работа скриптов на самом сервере. Которые каким-то образом обрабатывают полученную информацию. Например, стандартными библиотеками, в которых есть известные уязвимости (пруф выше).
Эпоха "подоконных" вирусов, которые необходимо было запустить для заражения, уже практически закончилась.
Griboks, ага, а если пользователь загрузил "правильный форма" - значит, все хорошо.
А то, что пользователь загрузил в файле с расширением JPG не картинку, а, например, PostScript-файл, который при попытке сервера изменить размер этой картинки успешно откроется, но заодно выполнит вредоносный код - это так, приятный бонус. Никакая проверка тут не нужна, все хорошо, ботнетам тоже надо кем-то кормиться.
Пруф: https://www.opennet.ru/opennews/art.shtml?num=50370
Griboks, нет, если вы хотите сразу послать на хрен все, кроме jpg и png, и следующим номером у вас идет проверка их содержимого - да, можно для начала и расширение проверить. Вот только jpg, jpeg и JPG - это три разных (и при этом валидных) расширения, хлопотно... и при этом таки ничего не гарантирует.
Рустам Байназаров, если ТС всего лишь надо, чтобы при наведении на Киев выделялась Киевская область - достаточно положить путь области выше по z-координате, чем путь города. Мышка до него и не достанет ;)