• Будет ли обновления интерфейса django admin?

    Tiendil
    @Tiendil
    Разработчик ПО.
    когда разработчики разрулят эту проблему на уровне самого фреймворка.

    Разработчики не собираются разруливать это, т.к. не считают «это» проблемой. Официальная позиция примерно такая:

    Админка джанго предназначена для разработчиков и только для разработчиков. Хотите что-то более крутое — пилите сами.
    Ответ написан
    Комментировать
  • Правильно ли сразу начинать изучение C++?

    valent_in_habrahabr
    @valent_in_habrahabr
    Даже, если нет опыта в программировании всё равно стоит начать с С++, потом, остальные ЯП изучать будете комфортно, приятно и самое главное быстро. Я бы мог сказать, что 'C' стоит изучать, если вы хотите заниматься системным программированием(например в Linux) или вам нужен низкоуровневый ЯП, но тогда 'C' надо изучать с ассемблер для большего эффекта. Из книг советую начать с С. Прата "Язык программирования C++. Лекции и упражнения" из-за того что в книге есть хорошие задачи для новичков в каждой главе. Так же стоит уделить внимание книгам авторов: Стенли Б. Липпман, Г. Шилдт и разумеется Б. Страуструп. После того как вы прочтете все книги, вы получите полное понимание, так сказать каждый автор дает посмотреть с определеной стороны на С++ и в целом вы не упустите всех деталей. Также очень советую серию книг C++ In-Depth. И разумеется после всего этого стоит прочитать такие книги как: "Эффективное использование C++", "Скользкие места С++", "Безопасное программирование на C и C++" и т.д. Стоит одновременно заниматься алгоритмами (например Седжвик 3-е издание по С++).
    Рад был подсказать, если есть вопросы - задавайте.
    Ответ написан
    2 комментария
  • Как при изменении select построить заново таблицу без перезагрузки страницы?

    Andrbez
    @Andrbez
    Procrastination
    1. При помощи Ajax отправить запрос серверу.
    api.jquery.com/jquery.ajax

    2. На стороне сервера сформировать список и отправить клиенту.

    3. После получения ответа на стороне клиента удалить имеющиеся элементы (все кроме первого, который содержит заголовок таблицы).
    api.jquery.com/remove

    4. Заполнить таблицу новыми строками.
    api.jquery.com/append
    api.jquery.com/add
    Ответ написан
    2 комментария
  • Как правильно сформировать запрос к БД?

    @Arik
    Без дампа сложно, но попробуйте такой запрос в PMA, вместо $id_user только надо указать реальный id
    SELECT
        a.*,
        b.*,
        c.*
    FROM
        `contacts` AS a
    
    LEFT JOIN
        `users_app` AS b
    ON
        b.id = a.id_contact
    
    LEFT JOIN
        `messages` AS c
    ON
        c.`id` = 
            (
            SELECT 
                MAX(d.id) 
            FROM 
                `messages` AS d 
            WHERE 
                (
                d.id_user = a.id_user
                AND
                d.id_from_user = a.id_contact
                )
                OR
                (
                d.id_user = a.id_contact
                AND
                d.id_from_user = a.id_user 
                )
            )
    WHERE
        a.id_user = $id_user
    Ответ написан
    Комментировать
  • Как приложение на windows заставить работать на php?

    Лет 10 назад встраивали родной код Windows в сайты с помощью технологии ActiveX. Сейчас она не поддерживается нигде, кроме Internet Explorer.
    Другие способы размещать активное содержимое - Java, SilverLight, Flash.
    Наиболее широко на сайте сейчас используется для таких целей JavaScript в виду очень хорошей переносимости кода.

    Исполняемые файлы, конечно, и сейчас используются в WEB. Но это из области CGI. PHP здесь далековато (его, в основном, запускают как модуль Apache).

    Ваш же вопрос, судя по формулировке, к CGI отношения не имеет (ближе вариант встраивания готового приложения в страницу). Размещение произвольного приложения (типа блокнота, электронной таблицы MS Office) таким образом - из области фантастики. Не исключаю, что кто-то задумывался на эту тему. Тогда речь идет о варианте прокси.
    Ответ написан
    Комментировать
  • Для чего нужны фреймворки и какой лучше для Python, для создания сайтов?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Распишу подробнее про Python/Django.
    Django - полнофункциональный фреймворк с кучей "батареек". Лучше всего подходит для контентных проектов и проектов с реляционными базами данных. Если используете NoSQL - не советую выбирать Django.
    Flask - легкий и гибкий фреймворк, почти все что может потребоваться можно найти в сторонних расширениях. Работает быстрее чем Django, но и разработка типичных проектов на фласке дольше чем на джанго (по опыту). Лучше всего подходит для не стандартных проектов, проектов с NoSQL, базами данных и не больших проектов.

    Оптимально знать и иметь опыт с каждым из них и выбирать фреймворк в зависимости от задачи.
    Ответ написан
    4 комментария
  • Flask как вывести курс валют?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Задача особо не имеет особенностей в фреймворке. Просто берете курс через API (например этот) и выводите где нужно.
    Ответ написан
    Комментировать
  • Как настроить связку ubuntu+apache2+python?

    Andrbez
    @Andrbez
    Procrastination
    На примере Ubuntu 14.04 LTS, Python 3.4.0, Django 1.7.1 для машины разработчика.

    Устанавливаем Apache 2
    $ sudo apt-get install -y apache2

    Устанавливаем mod_wsgi для Python 3 (связка Apache 2 - Python 3)
    $ sudo apt-get install -y libapache2-mod-wsgi-py3

    Устанавливаем PIP для Python 3 (менеджер пакетов)
    $ sudo apt-get install -y python3-pip

    Устанавливаем Django
    $ sudo pip3 install django

    Создаем проект Django
    Создаем проект
    $ mkdir -p /home/user/site.ru/
    $ mkdir -p /home/user/site.ru/static/
    $ mkdir -p /home/user/site.ru/media/
    $ mkdir -p /home/user/site.ru/logs/
    $ cd /home/user/site.ru/
    $ django-admin.py startproject project


    Настраиваем Apache
    $ sudo nano /etc/apache2/sites-available/000-default.conf


    В нем пишем
    <VirtualHost *:80>
         ServerAdmin admin@site.ru
         ServerName site.ru
         ServerAlias www.site.ru
         ErrorLog /home/user/site.ru/logs/error.log
         CustomLog /home/user/site.ru/logs/access.log combined
         Alias /robots.txt /home/user/site.ru/static/robots.txt
         Alias /favicon.ico /home/user/user.ru/static/favicon.ico
         AliasMatch ^/([^/]*\.css) /home/user/site.ru/static/styles/$1
         Alias /media/ /home/user/site.ru/media/
         Alias /static/ /home/user/site.ru/static/
         <Directory /home/user/site.ru/static>
              Require all granted
         </Directory>
         <Directory /home/user/site.ru/media>
              Require all granted
         </Directory>
         WSGIScriptAlias / /home/user/site.ru/project/project/wsgi.py
         <Directory /home/user/site.ru/project/project>
             <Files wsgi.py>
                 Require all granted
             </Files>
         </Directory>
    </VirtualHost>


    Редактируем wsgi-файл проекта
    import os
    import sys
    sys.path.append('/home/user/site.ru/project/')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()


    Перезагружаем Apache
    $ sudo service apache2 reload

    Соответственно site.ru и user меняете на свои.

    UPD: Сейчас не вспомню: скорее всего для первого запуска потребуется создать суперпользователя Django.

    $ cd /home/user/site.ru/project
    $ python3 manage.py createsuperuser
    $ python3 manage.py migrate
    Ответ написан
    Комментировать
  • Как избежать дублирования при загрузки данных в БД?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Кроме описанного вами варианта есть еще один - можно в базе создать триггер с активацией перед вставкой строки, и в этом триггере выполнять всю работу по поиску дубля и его коррекции.
    Это будет немного быстрее (данные не будут гоняться туда-сюда между БД и приложением).
    Ответ написан
    Комментировать
  • Стоит ли идти работать в компанию где занимаются разработкой сайтов на cms?

    bboytiwst
    @bboytiwst
    Думаю это опасно, т.к подобное болото может затянуть и со временем сменить работу и перейти куда то в другое место педалить на нормальном стэке технологий будет очень сложно. Я бы советовал искать контору где занимаются разработкой на фреймворках и идти именно туда.
    Ответ написан
    Комментировать
  • Почему в России и СНГ так не популярен фреймворк Pyramid?

    Tark
    @Tark
    Pyramid'альный мир
    РНР ведь используют потому, что много разработчиков, а под CMS типа WordPress много няшных плагинов - всё это даёт надежду на быстрый запуск проекта, а вот с пирамидой всё придётся писать самому и с максимальной заточенностью. С другой стороны, вы можете рассказать про сервер о четырёх ядрах с гектаром памяти, который отрабатывает брутальные 30k rps/сутки (было упоминание о таком в одном из вопросов недавно) и скажете, что у вас всё будет работать на VDS с 400 мегабайтами памяти. Какая разница заказчику, на чём написан сервер, если всё работает?

    А что, документация на английском как-то затрудняет изучение?
    Ответ написан
    Комментировать
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

    Теперь другая ситуация например форма поиска. Мы вводим текст и получаем страницу с результатами. Вот тут уместнее GET форма. потому что нам было бы удобно сразу иметь ссылку на результат поиска, то есть добавить в строку запроса можно выразится "Публичные параметры", которыми можно поделиться. И как результат в строке браузера будет конкретная ссылка на текущую страницу. Мы можем ее скопировать, и разместить где-нибудь, или например скинуть другу. И получить при переходе одну и ту же страницу. А не просить других людей зайти на сайт и в поиск вбить определенную фразу чтобы получить необходимую страницу.

    В общем подводя итог:
    GET - это чтобы получить определенную страницу в определенном виде ( сортировка, текущая страница в блоге, строка поиска и т.п. ).
    POST - для оправки данных которые не влияют на отображение страницы, в том плане что эти данные влияют только на результат выполнения скрипта ( логины, пароли, номера кредиток, сообщения и т.п. ).

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    gadfi
    @gadfi
    https://gamega.org
    GET ─получить данные
    PUT ─ создать данные
    POST ─ редактировать данные
    DELETE ─ удалить данные

    С PUT и POST часто неразбериха, разные источники рекомендуют по разному ... на самом деле их обоих можно использовать для создания и редактирования, выбирать вам, разве что если один объект то PUT, несколько то POST. Не будет ошибкой использовать POST для одного объекта, это все скорее правила хорошего тона чем жесткие требования ─ встречал api где все было на GET запросах (криво намой взгляд, но работает).
    Также не забывайте про статус ответа ─ недавно работал с api где статусы были в виде gson объектов ..... вот это уже маразм.
    Ответ написан
    2 комментария
  • Можно ли установить два Python 2.7 и 3.4 на одной машине?

    @raiboon
    Прочитайте любое руководство по питону. Мне кажется, что любое начинается с объяснения про virtualenv. Используйте.
    Ответ написан
    Комментировать
  • Компьютеры и сервера без операционных систем общего назначения?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Идея такая у меня есть, и задача есть.

    Проблема в том, что те жалкие дополнительные проценты производительности будут достигнуты таким титаническим трудом, что страшно себе представить.

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

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    1. Забудьте Flash. Учите HTML5 и работу с канвой.
    2. Заказы есть. Ищите усерднее :)
    3. Последний раз использовал, когда нужно было работать с буфером обмена, ибо HTML5/JS пока не умеет с ним работать
    4. Мы учимся постоянно. И не закончим никогда :-)

    С наступающим (наступившим) :)
    Ответ написан
    Комментировать
  • Актуально на данный момент изучение Flash?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    1. нет. сейчас рулит html5 - css и svg анимация.
    2. сайты на flash уже не делают, т.к. они не работают на мобильных девайсах.
    3. остаются только баннеры в рекламных кампаниях и игры, которые тоже переходят на html5
    4. изучение основ анимации - не очень много времени. а вот язык actionscript - это отдельная огромная тема. достаточно сложный язык. легче изучить javascript и анимировать на jquery. на нем, кстати, уже и игры тоже делают.
    Ответ написан
    1 комментарий
  • Какой учебник посоветуете для изучения ГИС?

    Kaer_Morchen
    @Kaer_Morchen
    Разрабатываю web-приложения.
    Я занимался ГИС в веб, мне много помогли эти ресурсы:

    gis-lab.info
    williams.best.vwh.net/avform.htm
    habrahabr.ru/post/228023
    Ответ написан
    Комментировать