• Учебник по математике, при почти нулевых знаниях?

    @maksnest
    Глубокоуважаемые, вы реально не понимаете сути вопроса: знания на уровне 6го класса - это примерно начало линейных уравнений. О какой дискретной математике идет речь?
    Я работал несколько лет репетитором по математике (уже пару лет, как отошел от дел), так вот хочу задать пару вопросов:
    1) "Спустя год работы java разработчиком" - что включает это понятие?
    2) насколько вам "нравится" математика сейчас, если слово "нравится" можно применить в этом контексте?

    Интернеты пестрят холиварами на тему того, насколько важна математика для программиста и т д., но не в этом суть. Суть в том, что SeptiM очень верно заметил про дискретку, но добраться до нее с вашего уровня практически невозможно эдаким "хотением и рвением" только.

    Если вы задались целью реально углубить знания по математике:
    1) начинайте с элементарных вещей (книги и ресурсы в ответах поданы) и запаситесь ну просто мегатерпением.
    2) спланируйте свое время, скажем на 6 месяцев вперед (исходя из общего списка тем, которые хотите пройти. Математика гораздо проще в планировании, нежели литература или история. Здесь общий костяк во всех учебниках один)
    3) изучайте поступательно, решая массу задач на каждую тему. Изученная тема - значит, возможность решить любую задачу среднего уровня
    4) найдите ментора/учителя/советника... Хотя бы на первое время. Вам главное научиться учиться этому предмету.

    Последнее: не слушайте никого по поводу сроков. Сроки, которые понадобятся вам для углубления знаний, зависят напрямую от интереса и упорства.
    Ответ написан
    4 комментария
  • Учебник по математике, при почти нулевых знаниях?

    @SeptiM
    Мне кажется, то, с чего нужно начинать, это дискретная математика. Можно сказать, это азбука для программиста. Я ниже приложил некоторый список книг. Стоит, правда, понять, хотите вы самостоятельно изучать предмет или иметь менторов и готовую программу...

    Дискретная математика

    Есть здоровская книжка Андерсона "Дискретная математика и комбинаторика". Она довольно толстая, но главы можно читать почти в случайном порядке. Некоторые математики жалуются, что она не очень строгая и много воды, но для начала самое то.

    По дискретной математике есть русский онлайн-курс на Stepic-е.

    Если идти чуть глубже, есть неплохая книжка Кнута и др. "Конкретная математика".

    Алгоритмы и структуры данных

    Кормен "Алгоритмы: построение и анализ" в переводе А. Шеня. Осилить первые две главы, потом можно идти почти в случайном порядке. Написано достаточно просто и понятно.

    Дасгупта, Пападимитриу, Вазирани "Алгоритмы".

    Онлайн-курс по алгоритмам.

    О математике

    МЦНМО свободно распространяет много интересных книг: www.mccme.ru/free-books
    Посмотрите там в первую очередь Шеня и Арнольда. Например, В. И. Арнольд. Задачи для детей от 5 до 15 лет.

    И разумеется не упустите замечательного писателя Мартина Гарднера "Математические головоломки и развлечения".

    Задачники

    Попрактиковаться в решении с проверкой можно здесь.

    www.braingames.ru -- по математике
    https://projecteuler.net/ -- среднее, ближе к программированию
    acm.timus.ru -- по программированию

    Очные программы

    Умение самоорганизоваться -- это хорошо, но иногда нужен ментор и готовая программа.
    Если вы живете в Москве или Петербурге, попытайте счастье в этих двух организациях:
    https://yandexdataschool.ru/
    https://compscicenter.ru/
    Если нет, но есть возможность на два года уйти в учебу, попробуйте поступить в магистратуру СПбАУ на SE-направление:
    mit.spbau.ru

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

    Удачи!
    Ответ написан
    3 комментария
  • Как в django вывести во view данные двух моделей?

    sim3x
    @sim3x
    https://docs.djangoproject.com/en/1.8/ref/request-...

    Что-то мне кажется не стоит тут наследоваться от юзера
    но
    def view_foo(request):
        return render(request, 'foo.html', {
        'student': Student.objects.get(pk=request.user.pk),
        'rates': RatingActive.objects.filter(pk=request.user.pk)
    })

    foo.html
    <h1>{{ student.get_full_name() }}
    <ul>
    {% for r in rates %}
    <li>{{ r.subject }} - {{ r.rating_five_mark }}
    {% endfor %}


    неверно passportSeries
    верно passport_series

    или питон3 def __str__(self):
    или питон 2 def __unicode__(self):

    код не тестировал
    Ответ написан
    3 комментария
  • Как правильно использовать Docker для веб разработки?

    zvd
    @zvd
    Software developer interesting in DevOps
    Добрый день.
    Все, как вы их назвали, «задачи» должны быть по разным контейнерам.

    1. Что брать за базовый образ?
    Что используете то и берите. Используете в работе Debian? Берите Debian ( https://registry.hub.docker.com/_/debian/ )
    2. Чтобы создать свой базовый образ который будете в дальнейшем использовать для приложения, вот вам пример Dockerfile:
    #
    # MyBaseimage Dockerfile
    #
    
    # Pull base image.
    FROM ubuntu:14.04
    
    MAINTAINER Your Name <your.email@gmail.maybe>
    
    RUN apt-get update
    RUN apt-get upgrade -y
    
    RUN apt-get install -y language-pack-en
    ENV LANGUAGE en_US.UTF-8
    ENV LANG en_US.UTF-8
    ENV LC_ALL en_US.UTF-8
    
    RUN locale-gen en_US.UTF-8
    RUN dpkg-reconfigure locales
    
    RUN echo "Etc/UTC" > /etc/timezone
    RUN dpkg-reconfigure -f noninteractive tzdata
    
    RUN apt-get install -y build-essential
    RUN apt-get install -y python python-dev python-setuptools python-pip python-virtualenv
    RUN apt-get install -y libxml2-dev wget
    RUN apt-get install -y libpcre3
    RUN apt-get install -y libpcre3-dev
    RUN apt-get install -y libssl-dev
    RUN apt-get install -y libncurses5-dev
    RUN apt-get install -y git git-core
    RUN apt-get install -y libpq-dev
    
    # install nginx
    RUN apt-get install -y software-properties-common python-software-properties
    RUN apt-get update

    Собрать image в директории где у вас лежит Dockerfile
    docker build -t your_docker_account/your_baseimage .

    3. Dockerfile для сборки вашего образа уже с приложением
    #
    # MyApp Dockerfile
    #
    
    # Pull base image.
    FROM your_docker_account/your_baseimage
    
    MAINTAINER Your Name <your.email@gmail.maybe>
    
    # Set instructions on build.
    RUN virtualenv /env
    ADD ./ /code
    
    RUN cd /code; /env/bin/python setup.py install
    RUN cp /code/config/config.yml.docker_example /etc/code/config.yml
    
    # Expose ports.
    EXPOSE 8484
    WORKDIR /code
    CMD ["/env/bin/python", "app.py"]

    4. Собрать образ с приложением
    docker build -t your_docker_account/your_app_container .

    5. Запустить контейнер с БД, в качестве примера PostgreSQL
    docker run -p :5432:5432 --name my_postgresdb_container -e POSTGRESQL_DB=mydb_name -e POSTGRESQL_USER=mydb_user -e POSTGRESQL_PASS=super_secret_password -d kamui/postgresql

    для mariadb аналонично, контейнеры ищем здесь: https://registry.hub.docker.com/
    6. Запустить контейнер с вашим приложением, пример:
    docker run -d -p :5000:5000 \
      --name my_app_container \
      --link my_postgresdb_container:postgresdb \
      -e DOCKERDB_ENV_POSTGRESQL_DB=mydb_name \
      -e DOCKERDB_ENV_POSTGRESQL_USER=mydb_user \
      -e DOCKERDB_ENV_POSTGRESQL_PASS=super_secret_password \
      your_docker_account/your_app_container

    7. Подключиться к запущенному контейнеру с приложением
    docker exec -it your_app_container /bin/bash
    8. Читать stdout запущенного приложения в контейнере
    docker logs -f your_app_container

    + Чтобы автоматизировать запуск всех необходимых контейнеров берите Docker Compose ( https://docs.docker.com/compose/ )
    Пример файла конфигурации:
    your_app:
      build: .
      links:
        - postgresdb
      ports:
        - "5000:5000"
      environment:
        DOCKERDB_ENV_POSTGRESQL_DB: mydb_name
        DOCKERDB_ENV_POSTGRESQL_USER: mydb_user
        DOCKERDB_ENV_POSTGRESQL_PASS: super_secret_password
    postgresdb:
      image: kamui/postgresql
      ports:
        - "5432:5432"
      environment:
        POSTGRESQL_DB: mydb_name
        POSTGRESQL_USER: mydb_user
        POSTGRESQL_PASS: super_secret_password

    И теперь вместо пунктов 5 + 6 где мы запускали контейнеры мы можем всё стартануть одной командой
    docker-compose up

    + можно смонтировать код в контейнер и разрабатывать непосредственно в docker'контейнере.
    Надеюсь чем-то вам помог.
    Ответ написан
    3 комментария
  • Почему PHP отдает дату, которая не совпадает с системной?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    через консоль работает другой php.ini (/etc/php5/cli/) там поставьте зону по дефолту Europe/Moscow
    Ответ написан
    2 комментария
  • Как сделать авторизацию в vk.com с использованием cURL?

    madmages
    @madmages
    Человек прямоходящий
    существует мнение что вы занимаетесь бредом. Даже если вы и авторизируетесь через обычную авторизацию вконтача да еще и через курл то гемороя не оберетесь делать запросы на простые вещи типа КУРЛ, ДАЙКА МНЕ АВАТАРУ ПОЛЬЗОВАТЕЛЯ. ибо все запросы вконтача идут через аякс и хер его знает что они там передаеют на сервер, ну каонечно можете пореверсить их код и понять как он работает, в чем желаю вам удачи.
    И по сему рекомендую вам обратить внимание на их АПИ. с помощью его можно делать все че угодно в разы проще. https://vk.com/dev
    Ответ написан
    3 комментария
  • Как делают сео-адаптированные URL?

    viktorvsk
    @viktorvsk
    В простейшем виде два значения сопоставляют ассоциативные массивы
    function find_user($name){
    $users = [ 'vasya' => ['age' => '18', 'id' => '333'] ];
    return $users[$name]['id'];
    }
    $id = find_user($_GET['name']);

    Этой задачей в MVC (Model2, MV...) занимаются обычному Routers
    Ответ написан
    Комментировать
  • Какую выбрать IDE для linux с большой поддержкой языков?

    @FoxInSox
    Intellij
    Ответ написан
    Комментировать
  • Как сделать «фоновый» парсинг?

    @lnked
    cron!
    Ответ написан
    Комментировать
  • Можно ли использовать use с неанонимными функциями PHP?

    @MrButek
    Нельзя, это будет синтаксической ошибкой.

    А объявление вложенной неанонимных функций в PHP определяет глобальную функцию, которая не имеет никакого доступа к переменным родительской функции. Происходит то же, как будто функция и не вложенная вовсе.
    function person($name) {
    	function sub() {
    		return $name; // ошибка
    	}
    }

    Хуже того, если мы в таком виде два раза вызовем person(), то получим ошибку переопределения sub().

    Если вы хотите нормальные замыкания то везде используйте анонимные функции. Либо переходите на другие языки, с лучшим дизайном (Python/Ruby).
    Ответ написан
    Комментировать
  • Как заменить labels полей в YII?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не вызывайте метод labelEx, и добавьте для textField третим аргументом массив параметров, один из которых будет placeholder:
    <?php echo $form->textField($model,'username', ['placeholder' => 'password']); ?>
    Ответ написан
    2 комментария
  • Как отдавать пользователю APK-файл с индивидуальными данными?

    VYakushev
    @VYakushev
    Разработчик Android в Nowtaxi
    На ваш вариант реализации ответ дал @vollossy, но как он заметил сборка индивидуального APK-файла может длиться долго при более-менее серьезном проекте. Я хотел бы предложить альтернативный вариант.
    1. APK-файл один и тот же.
    2. При первом старте приложение запрашивает индивидуальный код. Идёт запрос на сервер с передачей этого кода. На сервере для этого кода хранится ваш уникальный URL, который сервер возвращает приложению.
    3. Приложение получает URL и сохраняет его. При всех последующих запусках приложение уже пользуется полученным URL.
    Ответ написан
    Комментировать
  • Научите пользоваться регулярными выражениями

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    парсить HTML регурярками себе дороже. Лучше использовать xpath.
    Ответ написан
    3 комментария
  • Каким сервисом воспользоваться для кодировки php-кода?

    mlnkv
    @mlnkv
    JavaScript Developer
    Зачем вам кодировать код? Странная закономерность, все забугорные девелоперы стремятся поделиться своими наработками, почти все опен сорс, у нас же все пытаются спрятать свой код и никому не показывать)))
    Даю 99% что этот код ты сам у кого-то стянул)
    Ответ написан
    1 комментарий
  • Как организовать работу скрипта через определенный период времени?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    cron как раз для этого создан. Например, по понедельникам в 2:03 ночи:
    3 2 1 * * username php /path/to/file.php 1>/dev/null

    Если есть рутовый доступ - то добавьте это в файл /etc/crontab или /etc/cron.d/whatever.
    Если рутового нет, то запустите команду crontab -e и вставьте эту строку в открывшийся файл (из вима выходить с сохранением :wq, если что, а включить режим редактирования - i. Выключить - escape).
    Ответ написан
    Комментировать
  • Как реализовать реализацию регистрации по номеру телефона?

    Не хотелось бы зависеть от стороннего сервиса

    Ставьте свой смс-шлюз и подключайте к серверу. Пишите ПО для связи. Договора с каждым ОСС ..

    Цена такой реализации и цена на смс + договора+роуминговые смс будет на столько большая, что Вы все равно вернетесь к крупным смс-провайдерам которые все это предоставляют через апи.
    Ответ написан
    Комментировать
  • Как задать лимит и смещение в CDbCriteria с with на Yii?

    TekVanDo
    @TekVanDo
    Javascript Developer
    лимит и смещение задеваться
    $criteria->limit = '20';
    // смещение
    $criteria->offset = '3';

    CDbCriteria (методы)
    Пример использования CDbCriteria
    а вообще зачем писать велосипед и не воспользоваться CPagination
    Ответ написан
    1 комментарий
  • Как правильно реализовать структуру таблицы заказов?

    @portfelio
    Если вы предусматриваете возможность одновременной покупки нескольких модификаций одного товара (а это правильно), то, конечно, нужно предусмотреть поле, в которое сохранять значения модификации.

    Цену товара не забывайте сверять при окончательном оформлении заказа и дальнейшем его (возможно) редактировании. Если посетитель купил майку за 100 рублей, то лучше его будет уведомить в том случае, если во время оформления заказа её стоимость изменится.

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

    @AlexGx
    Yii2 developer, business analytics
    Смотрите в сторону STAT relations и модификации метода search модели, которая выводится в гриде. неплохой пример реализации вашей задачи здесь www.yiiframework.com/wiki/319/searching-and-sortin...
    Ответ написан
    2 комментария