• Хранение данных неавторизованного пользователя в Yii. Как?

    nazarpc
    @nazarpc
    Open Source enthusiast
    В куки нельзя, привязывайте данные к сессии пользователя.
    Ответ написан
    2 комментария
  • Как можно объединить все th в thead?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    htmlbook.ru/html/td/colspan

    <table>
          <thead>
                      <tr>
                         <th colspan="4">Грузы по Украине</th>
                      </tr>
                     </thead>
                     <tfoot>
                      <tr>
                        <td>
                          
                        </td>
                      </tr>
                     </tfoot>
                     <tbody>
                      <tr>
                      </tr>
                      <tr>
                      </tr>
                     </tbody>
                  </table>
    Ответ написан
    Комментировать
  • Стоит ли писать свой php-фреймворк с целью улучшения знаний в области ООП и изучения шаблона MVC?

    @sWinDos
    Были такие же мысли лет 6 назад. И все-таки начал делать свой фреймворк работая с php всего около года на тот момент. До логического завершения дело не дошло, сделано было: работа с базой, обработка страниц, контроль доступа, что-то вроде медиатеки, пагинация и другие самые азы.
    Сейчас посмотреть на свой код того времени без стыда и страха сложно, но в то время знания подтянулись прилично. Только времени у меня тогда было вагон.
    Автор, если есть время на это, и его не жалко - то я бы посоветовал делать не то что бы фреймворк, а отдельные файлы-модули, для повседневных нужд. И со временем улучшать их.
    Ответ написан
    2 комментария
  • Как лучше объединить три простых MySQL запроса в один сложный?

    svd71
    @svd71
    Джоином лучше пользоваться в случае, если данных в одной из таблиц не существует, но вывод обязан быть.
    Select * from cities s
    Left join countries c on s.id_country=c.id_country
    Left join regions r on r.id_region=c.id_region
    Where city_name_ru like '$city'

    Если не будут совпадающие записи в countries и regions вернет вместо них null значения.

    Запрос типа
    Select × from cities s, countries c, regions r
    Where s.id_country=c.id_country and r.id_region=id_region
    And c.city_name-ru like '$city'

    Выполняется намного быстрее первого, но при условии что во вснх таблицах должны быть совпадения.

    Если кто то будет выкабениваться на счет звездочек, то скажи что со звездочкой запрос выполняется быстрее. СУБД перед фетчингом записей сначала читает абсолютноивсе значения полей, а уже непосредственно перед передачей начинает откидывать не требуемые поля. На это тратится время. Если бы в тпблицах было бы по 200 столбцов, то это бы было целесообразно указывать.
    Ответ написан
    1 комментарий
  • Где обучиться верстке?

    sim3x
    @sim3x
    Я - очень плохой верстальщик


    Добро пожаловать в клуб.
    Ответ написан
    Комментировать
  • Зачем на сайтах-галлереях делают отдельную страницу для каждого изображения?

    sanchezzzhak
    @sanchezzzhak
    Ля ля ля...
    Скорее всего это особенность движка, которые они используют.
    + каждое фото можно комментировать.

    Можно было сделать и лучше, а зачем, когда хозяину по№;%:?:
    Ответ написан
    1 комментарий
  • Какую бесплатную CMS выбрать?

    @GPIO
    Wordpress. Огромное количество шаблонов и становятся ровно.
    Ответ написан
    Комментировать
  • Как получить текст c wysiwyg редактора?

    AxisPod
    @AxisPod
    Конечно приколько в PHP использовать синтаксис jquery.

    Указывайте имя для textarea (аттрибут name). А затем $_GET['name'] или $_POST['name'].
    Ответ написан
    2 комментария
  • Техническая реализация ленты новостей

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    С вашей архитектурой вам придется делать union двух таблиц (комменты и песни), дабы сделать сквозное время для этих двух действий. Ну а далее order by ts desc и джойн таблицы юзеров.
    Ответ написан
    Комментировать
  • Как реализовать выборку из таблиц mysql, связанных как один ко многим?

    @yamel
    Можно попробовать условия выборки комментариев перенести во второй запрос.
    Например, так:
    blog_record = models.BlogRecord.objects.filter(comment__author=103, comment__status='publish')
    Ответ написан
    Комментировать
  • Как лучше разместить логотипы в блоке "наши клиенты"?

    makol
    @makol
    I believe in god, for the rest i pay in cash!
    Если фирма не имеет логотипа, то варианта два
    1 придумать ей логотип - нарисовать - продать ей его - разместить
    2 не публиковать клиента у которого нет логотипа, но сказать ему об этом и мотивировать заказать логотип у вас, и перейти к варианту 1 : )
    Ответ написан
    1 комментарий
  • Как обьяснить пользователю, что его сайт морально устарел?

    ndsdmfwg
    @ndsdmfwg
    Внешний вид, я бы сказал пригожий, -как уже говорили, чуть- чуть подправить. Ничего придумывать не стоит, да и нет смысла этого делать. Умению убеждать нужно поучиться, полезное качество.

    Не думали записать на курсы, их так много, -пойдет простой пикап курс, как за основу, одна и та же психология. Но лучше не делать то на что не можешь повлиять, и не переживать по этому.

    Делать дизайн на утверждения. Или сразу делать демонстрационный вариант, -для мата, без шаха.
    Ответ написан
    3 комментария
  • Как обьяснить пользователю, что его сайт морально устарел?

    makol
    @makol
    I believe in god, for the rest i pay in cash!
    Здравствуйте, я думаю даже у такой консервативной дамы как ваш клиент должны быть авторитеты и приоритеты, на кого она хочет произвести впечатление, я не буду гадать как имя данной особы на вашем сайте их дофига и вам они лучше знакомы,
    скажу суть в вашем Ханты-Мансийском округе должны быть определенные (бонусы, грамоты, награды) для сотрудников МБДОУ это ваш сад, вероятно даже ваша заведущая стремиться каким то образом выделиться перед администрацией, подложите под ее стремление обновленный дизайн сайта + мотивация какие проблемы ей поможет решить и как выделит на общем фоне ее личность и сам детский сад новый дизайн,
    например самый динамичный детсад не смотря на трудности идущий в ногу с технологиями, добавьте функционал новому дизайну, какой нибудь онлайн сервис для родителей, главное чтобы в глазах вашего оппонента выглядел как офигенная фишка которая принесет пользу именно ему пусть даже не материальную,
    а моральную (вот бля у меня это круче)
    Ответ написан
    Комментировать
  • Использование CSS в дизайне QT Creator'а?

    @Eisenherz Автор вопроса
    Сам спросил -- сам и отвечу: проблема была в неправильной передаче параметра. В ярлыке надо писать не --style=FILENAME, а --__-style=FILENAME, где __ это 2 пробела.
    Ответ написан
    Комментировать
  • Почему метод fetch_all() в расширении MySQLi у PHP в каких-то сборках есть, а в каких-то нету?

    @gro
    98% таких проблем мы решаем обращаясь к официальной документации.
    php.net/manual/en/mysqli-result.fetch-all.php
    даже на русском и то всё написано:
    php.net/manual/ru/mysqli-result.fetch-all.php
    Ответ написан
    1 комментарий
  • Занимаюсь веб-разработкой и хочу делать небольшие приложения под мобильные платформы. С чего начать?

    AMar4enko
    @AMar4enko
    Я бы посоветовал вам качественно изучить хотя бы одну технологию от и до.
    PhoneGap это тупик. Лучше не стоит, правда.
    Вот вы сделаете приложение для iPhone, реализуете там свой тулбар на css + html. В аппстор сунете, а вам пропишут reject и скажут "Друг, у нас для тулбаров нативные элементы управления есть".
    Вы начнете искать, а можно ли как-то из под PhoneGap использовать нативные элементы управления. Найдете.
    Окажется, что там нужно будет в phonegap-проектике покопаться под XCode (вы же в курсе, что вам OS X нужна будет для сборки проекта для iPhone?)
    Потом вам понадобится простенькая база данных в приложении. Вы попробуете использовать in-browser SQL database storage. Окажется, что из-за особенностей хранения данных браузером из-под PhoneGap она у вас периодически будет пропадать. Вы пойдете искать бесшовную замену, найдете. Опять надо в XCode идти проект править, чтобы он собрался правильно.
    В итоге вы вместо разработки будете искать пути решения проблем, с разработкой никак не связанных.
    Так что мой вам совет: хотите малой кровью начать делать мобильные приложения - возьмите Android и делайте на здоровье. А нервы поберегите, пригодятся.
    Ответ написан
    1 комментарий
  • Как средствами PHP защититься от накрутки кол-ва загрузок файла?

    @kaasius
    А файло отдается как?
    Исходя из предположения, что с одного ip нет большого смысла скачивать файл более одного раза, то ограничивающий фактор будет ip. Далее делаем так:
    На фронт nginx, и делаем локейшн, в котором лежат файлы.
    location ^~ /user_files { # Это где реально лежат файлы
            internal;
            root /path/to/folder;
    }
    location ^~ /userfiles { # Это то, куда указывают ссылки на сайте
            proxy_pass  http://127.0.0.1:80;
    }


    Обрабатываете локейшн /userfiles в php и отдаете заголовки X-Accel-Redirect, чтобы статику отдавал энджи.

    Дальше, как считать.

    Если стоит memcache - делаем add($fileid.$ip,1) - если ключ уже установлен, add вернет false, и счетчик увеличивать не надо, если не установлен - надо увеличить счетчик. Ключ при этом установится. Счетчик увеличиваем соответственно так: inc("counter/".$fileid,1)

    Если стоит redis - все очень похоже. Делаем setnx($fileid.$ip,1) - если ключ установлен, вернет false. Если нет - ключ установится. Счетчик увеличиваем incr("counter/".$fileid,1). Но redis так же может помочь сильно сэкономить память. Для этого надо использовать не строки, а хеши. То есть стейт храним как hsetnx($fileid,$ip,1). А счетчик в этом случае храним как hincrby("counters",$fileid,1). Это даст перед мемкешем следующие преимущества:
    1. Драматическая экономия памяти. Хеши c короткими ключами и значениями весьма эффективно расходуют память.
    2. Сайд-эффект - очень просто посмотреть, с каких ip загружали файл - hgetall($fileid). Если еще немного модифицировать алгоритм так: hincrby($fileid,$ip,1) - будем получать на выходе целое значение - количество закачек с этого ip - так можно попалить накрутчиков и просто банить их по ip.
    3. Сайд-эффект - очень просто получить таблицу всех счетчиков файлов - hgetall("counters").

    Ну и все это, разумеется, очень быстро. Делать то же самое в sql базе, думаю, сложновато. Но если сильно хочется - может заморочиться кто-то еще, и расписать алгоритм для мускуля. А мы поржом.

    Если ограничивать по пользователям (кукам), что на мой взгляд не очень, то все делается ровно так же, только вместо ip используем id, который записан в сессии. Тогда использовать хеши для хранения состояния не удачная мысль - надо хранить в строках, и ставить им expire - время жизни сессии, или, там, сутки - как угодно.
    Ответ написан
    1 комментарий
  • Можно ли создать веб-приложение без использования html?

    timych
    @timych
    Google Web Toolkit - можно обойтись без написания HTML . Однако без понимания HTML , javascript , а в данном случае еще и java вы будете писать дерьмо. А вобще вопрос наводит на нехорошие мысли- если вы не можете освоить HTML, о каком web- программировании вобще может идти речь?
    Ответ написан
    Комментировать