Задать вопрос
  • Какую тему выбрать для диплома?

    @FoxInSox
    Напишите нормальный порно ресурс. Большинство сайтов медленно загружают видео, поиск работает медленно, добавление новых видео тоже наверняка так себе работает.
    • Порно трафик все еще занимает весомую часть в мировом интернете
    • Невероятное количество пользователей
    • Большие объемы данных
    • NoSQL куда-нибудь прикрутите
    Ответ написан
    Комментировать
  • Есть идея оригинального продукта, как воплотить в жизнь, если нет ничего кроме идеи?

    nzhiltsov
    @nzhiltsov
    CTO и сооснователь Textocat
    Попробую разобрать вашу ситуацию по косточкам. Надеюсь, воспримите без обид.

    1) "Есть идея уникального продукта" - отлично!
    2) "аналогов пока нет." - это должно смущать: возможно, для этого продукта просто нет рынка. Постарайтесь ответить на вопросы - какую проблему решает продукт? интересна ли эта проблема кому-то? будут ли за нее платить клиенты? Как клиенты уже сейчас решают эту проблему?
    3) "Есть заинтересованные компании" - хорошо. Какая статистика? Это две компании и ваши знакомые? Или вы обошли 10 компаний - из них 8 подтвердили, что им это интересно, 4 готовы купить, 2 готовы купить прямо сейчас (сделать предзаказ).
    4) "и их будет много" - не факт, это ваша гипотеза. Гипотезу нужно проверить. Откуда о вас узнают? Есть ли предположения по каналам продвижения? Легко ли они масштабируются? Посчитайте рынок на реальных данных (полученных в ходе проверки ваших гипотез и конверсии целевого канала)? Вас устраивает такой объем? Хватит на вас и команду? Учтите, что венчурные инвесторы в России не рассматривают предложения, если объем достижимого рынка < 300 млн. руб./год (данные ФРИИ).
    5) "им нужен рабочий прототип" - логично. К этому моменту вы проверили свои гипотезы и можете вложиться в прототип (возьмите кредит, попросите у знакомых; у вас наукоемкий продукт? сейчас можно получить гранты от государства). Закройте контракты по предзаказу. Получив деньги от клиентов (т.е. реальный traction), вы можете идти к инвесторам и "продавать" им свой проект, объяснив на что потратите их деньги (команду, аренду, серверы, маркетинг и т.п.).

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

    Для общего развития - познакомьтесь с методологией Lean Startup, описанной в книгах Стива Бланка и Эрика Райса. Удачи!
    Ответ написан
    Комментировать
  • Как правильно использовать 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 комментария