tysson, всё же начните с подробного ТЗ. И отделите для себя логику работы сайта от дизайна и других внешних представлений. Используйте классическую MVC-модель: разбейте проект на три части: структура хранилища данных, логика работы с данными и представление данных. И ищите подходящую CMS. Представление данных легко меняется в большинстве движков. С логикой управления данными сложнее.
Посмотрите в сторону Друпал, если посещаемости очень большой не планируется. Возможно ваша проблема решаема небольшим изменением поведения готовых модулей хуками и/или написанием небольшого числа своих модулей. Мне правда не очень то уж друпал по душе, но в вашем случае, если он подойдет, лучше его использовать, чем самопис.
Есть другие фреймворки на других языках, обладающих хорошей модульнустью, красивым синтаксисом, компактным и более ясным кодом и меньшим числом ошибок. Лично я бы, если уникальный проект для себя, то на питоне делал бы. Т.к. это универсальный язык со множеством интересных библиотек, например научных. Анализ и обработка изображений, нейронные сети и т.д. и т.п. Но если задачи стандартные, то можно и на пхп. Если не для себя, то на каком-нибудь известном движке, чтобы дать клиенту возможность безболезненно уйти от меня.
Вам бы сначала найти хорошего специалиста просто для консультаций, для обсуждения этих вопросов. Если у вас нестандартная вещь, конечно, то много нюансов. Хорошо бы задачу разбить на независимые части, чтобы: а) поэтапно двигаться, чтобы б) можно было поручить написание модулей разным людям (при необходимости), чтобы в) тем самым скрыть оригинальную идею, чтобы г) определить, что имеет смысл писать с нуля, а что можно в готовом виде взять (или даже купить/лицензировать).
Все права прописываются в договоре. Если кратко, то в большинстве случаев софт не пишется с нуля, а собирается из библиотек (модулей) как из кубиков. С нуля пишутся только небольшие части, например отдельный модуль. Готовые компоненты могут являться многолетней наработкой разработчика, могут принадлежать третьим лицам (их надо будет покупать) или могут быть под свободными лицензиями. Поэтому вам важно будет понять, что именно вам разрабатывают и на что именно вы получаете права, и какие именно права.
Но вам нет смысла пытаться получить исключительные права на весь код - это в сотни и тысячи раз дороже. А вот на что именно стоит получить права и какие права - этим надо озаботиться и понимать это.
Сам PHP уже сомнительный выбор. Если проект уникальный и с нуля, то я в сторону пхп-фреймворков даже не смотрел бы.
Что касается квалификации программиста, то только тестовые задания помогут, иначе никак.
Но вам больше всего надо бояться привязки к конкретному человеку. Поэтому изначально надо решение задачи планировать так, чтобы избежать такой зависимости. Очень важна модульность, документация и пр.
И еще обратите внимание на авторские права на код. Кому и на что именно права будут принадлежать. И это всё надо прописать в договоре. Обычно программисты используют свои библиотеки и наработки и вам исключительные права на них не передадут. Если же вы хотите получить исключительные права на весь код, то за 200 тысяч вряд ли на это возможно надеяться. Вообще сумма очень мала для серьезной работы.
В вашем примере проблема из-за кодировки (предполагается однобайтовая), а вреале используется многобайтовая utf-8.
Поменяйте цикл на:
for ($i = 0; $i < mb_strlen($str); $i++) {
$output .= $trans[mb_substr($str, $i, 1)];
}
и всё заработает. В общем используйте ф-ции для многобайтовых кодировок.
Дело похоже как оказалось не в устройствах, а в возвращаемых браузером (оперой) размерах в виртуальных точках. Надо будет с вьюпортом поиграться.
Всё, похоже, разобрался по метрике. Это заходы с андроидов 4-5 версий из браузера Opera 12.16 в основном.
181x52(51) - это виртуальные точки, но почему опера выдает такие размеры, не понятно. Если это так, то медиазапросы не будут правильно отрабатывать. Надо будет проверить эту версию оперы - как там сайт выглядит.---------- Добавлено 08.01.2016 в 21:02 ----------Проверил на опере мини. Пока (предположительно) проблема во viewport. Если во viewport прописана не device-width, а что-то другое там прописано или вообще viewport отсутствует, то опера сжимает контент в узкий столбец по дефолту.
323182,
Вообще то надо сразу (перед разработкой) обговаривать, какие права на код вам нужны - исключительные или неисключительные. Разница в стоимости - сотни и тысячи раз. Например, если неисключительные права разработчик готов передать за 1 тысячу рублей, то исключительные права он вам может не захотеть передать и за 1 миллион рубле, а то и вовсе не может передать, на что и намекнул вам (сославшись на GNU/GPL).
Как обычно идет разработка? Разработчик, используя многолетние свои/проприетарные/свободные наработки (движки, модули, библиотеки и пр.), собирает по быстрому как из кубиков вам заказанную программу и передает неисключительные права. А исключительные права он вам или вообще не может передать, или должен будет расстаться со своим бизнесом, так передаст вам все свои многолетние наработки. Если же вы хотите получить исключительные права на продукт, то разработка должна вестись по другому и она будет стократно трудоемкей.
Так в сабжевом случае праообладатель и решил, что можно. У него ведь в аккаунте ютюба панель управления находится и он сам включил возможность трансляции его ролика через сторонние сайты. В чем проблема то? Захотел автор разрешить - включил эту возможность, не захотел - выключил. Всё просто. Не надо усложнять.
ЗЫ
Другое дело, если в ютюбе ролик опубликован не правообладателем или с нарушением его прав. Тогда конечно по просьбе правообладателя лучше удалить плеер с его роликом.
Solmyr, Короче, читая этот форум, вы нарушаете мои (и других участников) авторские права. Я понял вашу логику, но с ней не согласен.
Также по вашей логике все пользователи свободного софта (линуксов и пр.) также нарушают авторские права. Само государство, пытаясь перевести школы и госорганы, тоже нарушает, все нарушают... Также вы не можете пользоваться маркетом в андроиде и аппсторе в айфонах, так как там вы тоже третья сторона и по вашей логике это является нарушением прав автора... Я это далее рассматривать не буду.
Не надо ничего усложнять. На сервисе Гугла есть оферта и авторы соглашаются предоставлять свои произведения под этой офертой путем, описанным мной выше. Пользователи сервиса принимают эту оферту или не принимают. Всё. Плюс к тому код гуглоплеера на стороннем сайте это лишь техническое окно в интернет для трансляции видеоконтента, а трансляцией этой управляет автор. А если публикацией контента управляет автор, то это именно он и использует свое произведение, а не вебмастер, предоставляющий окно (возможность) для трансляции на своем сайте.
Я пока не спешил бы видеть нарушения. Полагаю, что схема примерно такая:
Гугл предлагает принять лицензионное соглашение. С точки зрения российского права это может быть предложением делать оферту на определенных условиях. Т.е. автор, путем заполнения соответствующей формы по сути делает Гуглу оферту на условиях Гугла. А Гугл путем принятия автора в видеосервис и соответствующим емэйлом акцептирует эту оферту (или не акцептирует). Такая схема имхо вписывается в рамки нашего законодательства.
Ну и такие факторы как предоставленная автору возможность по своему желанию управлять показами должны иметь значение для суда, иначе это было бы злоупотреблением правом. Ведь по сути плеер находится под управлением автора и он имеет все возможности ограничивать показы своих роликов по своему усмотрению.
И давайте не доводить до абсурда. Если уж на то пошло, то и все поисковые системы нарушают авторские права. Да и все пользователи интернета. У вас есть письменное (на бумаге) согласие владельцев этого форума на его просмотр? А у вас есть моё письменное согласие на загрузку к себе в браузер и просмотр этого моего поста? :) Так то.---------- Добавлено 08.12.2015 в 00:25 ----------И в догонку еще пару слов. Если смотреть по существу, то в случае ютюба происходит примерно следующее: коды плеера, интегрированные в сам ютюб и в сторонние сайты по сути являются окнами, в которые автор транслирует свое творение, а Гугл лишь предоставляет ему эту возможность на определенных условиях. Таким образом, корректней говорить, что именно автор использует свое произведение путем трансляции его через сервис Гугла определенному кругу лиц, причем круг лиц определяется самим автором.