Задать вопрос
  • Как установить yii 2 на openserver?

    idel
    @idel
    Веб-разработчик
    У меня тоже была какая-то проблема с Composer. В итоге Yii2 установил следующим способом:

    1. В командной строке выполнил команду:

    php -r "readfile('https://getcomposer.org/installer');" | php


    В папке появится файл composer.phar.

    2. Теперь Yii2 устанавливается при помощи команды:

    php composer.phar global require "fxp/composer-asset-plugin:1.0.0-beta4"
    php composer.phar create-project --prefer-dist yiisoft/yii2-app-basic projectname


    Еще нужно будет ввести пароль с аккаунта Github.

    PS. Применяй консоль из OpenServer. Там, если не ошибаюсь, прописаны все пути как в php так и mysql.
    Ответ написан
    8 комментариев
  • Какой linux дистрибутив работает из коробки?

    @protven
    А что за такие потребности, что вы не можете использовать мак или винду? В винде можно поставить cigwyn, в маке консоль вообще полноценная есть. Я, после того как перешел в разработчики, так же пересел на линукс. Разрабатываться да, удобнее, но постоянные танцы с бубном вокруг скайпов, проприетарных драйверов, неработающего оборудования тоже достали. Но это плата за "бесплатность" и за удобство другого рода. А так плюсую мнение, что линукс не для десктопов, пока что, по крайней мере.
    Ответ написан
    2 комментария
  • Изучение Java: мотивация, перспективы, краткий план?

    opium
    @opium
    Просто люблю качественно работать
    Поселил я тут к себе нового соседа недавеча, 20 лет джава программист удаленный, работает по 60 часов в неделю получает 5000 баксов в месяц играет в волейбол каждый день , через день в качалку. Ездит с нами на острова
    Думаю спрос на джава программистов очевидно есть и он конский если люди готовы платить такие деньги двадцатилетнем юношам
    Ответ написан
    8 комментариев
  • Какой linux дистрибутив работает из коробки?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    использую Xubuntu 14,04. Все стабильно и из коробки, как и Xubuntu 12,04.
    Настраивайте интерфейс уже по вашему вкусу. Темы под MacOS есть.
    Ответ написан
    4 комментария
  • Изучение Java: мотивация, перспективы, краткий план?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вам в технические писатели))

    * Вы должны понимать, что freelance - в основном проекты на одного человека, максимум - несколько.
    * На java даже драйвера и приложения для sim-карт пишут, имею ввиду, что спектр направлений деятельности на этом языке - огромен. По этому тыкать пальцем в небо: "учи такой-то фреймворк" ка минимум не корректно. Для начала необходимо определиться с областью.
    * Security Programming - вообще говоря нигде не помешает, тут все зависит опять же от области применения, например, у web-а есть золотое правило: "пользователь всегда врет, даже если он этого не знает - все равно врет". В случае, если вы делаете консольную утилиту, например конвертер чего-нить, тут требования будут совсем другие.
    * На счет рынка freelance - в чем проблема то? Зайдите на oDesk / fl / любая_другая_freelance _биржа и посмотрите.

    Но есть нюанс: java все же mainstream язык, и чаще всего используется не на freelance проектах.

    Фриланс на самом деле сложнее, чем стационарная работа, потому как требует серьезной самодисциплины, так же без команды - расти будете медленнее. Сама работа - не постоянна, конечно вы можете сорвать куш в 1 месяц, но рассчитывать на то, что так будет постоянно - как минимум глупо.

    Так что подумайте на тем, что бы дотянуть знания до стажера и работать не как фрилансер.
    Ответ написан
    Комментировать
  • Будет ли обновления интерфейса django admin?

    syschel
    @syschel
    freelance/python/django/backend
    Вы видимо не понимаете, что джанго это фреймворк, а не цмс.
    Для разработчиков, а фреймворки это для разработчиков в первую очередь, админка достаточная и минималистична как и сам фреймворк. А для "красоты" или "удобства пользователей", создаются свои личные кабинеты и админки менеджеров проекта. Либо берутся готовые решения, которых полно, на любой вкус и цвет. И это политика создателей джанги. Врятли они от неё будут уходить. Скорее дальше упростят, как сделали с теми же комментариями, вынеся их на сторонние библиотеки, убрав из фреймворка.
    Ответ написан
    Комментировать
  • Будет ли обновления интерфейса 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 комментария