• Как заблокировать рекламу в яндекс-почте?

    @neol
    В настройках есть чекбокс "показывать рекламу". И даже работает.
    Ответ написан
    1 комментарий
  • Как научиться разрабатывать ИИ?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. ИИ и язык программирования (ЯП) - не имеют ничего общего!
    2. Пока не поймёте как строить ИИ логику - смысла за ЯП браться нет никакого.
    3. Начинайте изучение с понимания работы механики природы - на этом можно понять, как лучше грамотно строить свой ИИ.
    4. Очень хороший образовательный канал (советую смотреть всё, даже если начало - показалось унылым): DaVinchi Learning
    5. Начать лучше с изучения всех типов обратной связи и плавно перейти к осцилляторным нейросетям (ОНС).
    Затем - уже погрузитесь глубже и перейдёте в работу по проектированию, используя один из инструментов проектирования НС (это не ЯП!).
    Ответ написан
    Комментировать
  • На чем писать сервер для игры?

    sim3x
    @sim3x
    Сколько десятков игр у вас перешагнули 10k rps/online?
    0?
    Делайте на чем угодно
    Взлетит - перепишете
    Ответ написан
    7 комментариев
  • Почему VirtualBox не дает создать 64-биную машину?

    gbg
    @gbg
    Любые ответы на любые вопросы
    > это потому что виртуализация в биосе отключена
    Ответ написан
    1 комментарий
  • Как лучше настроить среду разработки на Windows для человека привыкшего к Ubuntu?

    MAKAPOH
    @MAKAPOH
    многостаночник
    Сидел примерно год в аналогичном положении под win7. Я использовал:
    virtualbox, vagrant и conemu. Мне для настройки хватило стандартной документации. Дальше стартуем виртуалку подключаемся по ssh и работаем. Исходный код можно править в windows благодоря synced folders. И как уже упомминали в вашем синхронизированом каталоге не должно быть символических ссылок, вернее они могут быть но ПО которое их использует из виртуалки скорее всего работать не будет.

    Правда у меня проект был на python не знаю есть ли какие то принципиальные отличия от ruby.

    Сталкивались ли вы с докером? Если да, то не кажется ли вам,
    что его volumes помогут решить проблему с символическими ссылками?
    С докером сталкивался, но на винде не использовал volumes. Попробуйте, может и заработает. Я под виндой в докере гонял базу Postgres, в принципе всё тоже самое как и в линуксе, всё очень гладко интегрировано. По сути это тоже самое что с вагрантом но вместо virtualbox будет HyperV и образ убунты будет слегка порезан (но не критично, всё можно доустановить).

    Докер, вроде уже умеет с виндой работать
    Да, есть установщик и графическая утилита для контроля за докером. Выглядит качественно :) но мой опыт с ним минимален.

    "подключаемся по ssh" - работа с убунтовой консолью из винды?
    Да.

    Можно ли пробросить порты из виртуалки и смотреть прилодение через виндовый браузер?
    Да

    Последний вопрос: требования к железу высокие?
    я свой проект гонял на 512 мб ОЗУ. В виртуалке работал сервер приложения и база Postgres (очень маленького размера). Никаких проблем небыло, версия ubuntu - 14.04
    Ответ написан
    5 комментариев
  • Python3 для опытного непитонщика, какую литературу выбрать?

    @iSergios
    Python-разработчик
    1. Python. К вершинам мастерства / Пер. с англ. Слинкин А. А. - М.: ДМК Пресс, 2016. - 768 с. (ISBN 978-5-97060-384-0)
    Интересно и хорошо написано, причем даже с переводом особых косяков нет. На примерах показано создание качественного Python-way кода. Мне понравилась, советую)

    2. Learning Python Design Patterns (Edition 2)
    Если Вы гуру в ООП, возможно, будет не так интересно. Для свежеприготовленного питониста очень полезно. В любом случае стоит полистать.
    Ответ написан
    1 комментарий
  • Python3 для опытного непитонщика, какую литературу выбрать?

    aRegius
    @aRegius
    Python Enthusiast
    Привет.

    Да, с литературой (хорошей литературой) у Python все в полном порядке.

    Но, исходя из обозначенных критериев, я бы порекомендовал связку Fluent Python + Python Pocket Reference. Вторая - на случай, если почувствуете, что "плывете" при чтении первой. Т.е., она может понадобиться, а может и нет.

    Обе есть на русском. Перевод Fluent Python очень на любителя (по мне - плохой, а-ля Google Translate), второй - не знаю, держу в оригинале.

    Лично я бы рекомендовал обе читать в оригинале. Но вы уж сами для себя решайте.

    P.S. Pyramid - отличный фреймворк.
    Ответ написан
    Комментировать
  • Докер съедает все пространство, что ему дал. Как его остановить?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    sudo docker ps -a
    sudo docker images

    скорее всего у вас много контейнеров и очень много образов - удалите лишнее
    Ответ написан
    6 комментариев
  • Как правильно делать deploy с помощью docker registry?

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

    Давайте разберемся с инструментами и их предназначением, которые Вы используете:
    • Комманда docker - это консольный интерфейс (CLI) для работы с Docker
    • docker build создает по заданному Dockerfile образ контейнера
    • docker tag присваивает указанному образу указанный тег (опция -t для build делает то же самое)
    • docker pull скачивает указанный образ из удаленного регистра на текущую машину
    • docker push заливает указанный образ в удаленный регистр
    • docker run запускает новый контейнер из указанного образа
    • docker ps выводит список текущих "бегущих" контейнеров

    Команда docker не жонглирует файлами, она жонглирует образами и контейнерами, а они от нас абстрагированы Docker'ом, как что-то эфемерное. То есть выполняя комманду docker pull Вы не скачиваете образ в ту папку, где выполняете команду, и уж точно не скачиваете какие-либо файлы. Все что Вы делаете этой командой - это скачиваете образ в локальное хранилище Docker'а, дабы Docker daemon мог запустить контейнер на основании этого образа.

    Команда docker-compose - это уже совсем другая команда. Все что она делает - это читает указанный YAML-манифест и выполняет соответствующие команды Docker. Это всего лишь позволяет декларативно указывать желаемые сценарии при работе с Docker в удобном формате. Но ни команда docker, ни docker-compose, не предоставляют ничего для того, чтобы транспортировать/обновлять версии Ваших манифестов где-то там. Docker, опять таки, жонглирует образами и контейнерами, не более.

    У Вас в манифесте указана директива build:. Таким образом docker-compose пытается сначала собрать контейнер, вместо того, чтобы просто запустить его из образа.

    Касательно совета docker-compose.yml под каждый env, все правильно советовали. Именно так это и задумывалось. Вы в манифесте указываете отнюдь не разные окружения (development, production), а набор контейнеров, которые должны бежать в одной связке одной логической единицей (концепция POD'ов). Ничего не запрещает делать и так, как сделали Вы, но это сродни использованию дуршлага в роли миски для еды: сегодня Вы нормально из него наворачиваете пельмени, а завтра супчик в нем уже куда-то не туда утекает.

    Воркфлоу в Вашем случае можно организовать следующим образом:
    1. На dev-машине у Вас один docker-compose.yml, согласно которому контейнер перед запуском собирается из сорцов.
    2. Когда у Вас готова новая версия приложения, Вы его собираете через docker build, присваиваете ему номер версии через docker tag и отправляете в удаленный регистр образов через docker push.
    3. На prod-машине у Вас отдельный docker-compose.ymlв котором указано запускать конкретную версию образа (и никаких build). Новая версия приложения - меняем тег образа в манифесте и перезапускаем контейнеры. При выполнении docker-compose образ автоматически скачается перед запуском, если его нет локально. Если же Вы обновили образ конкретной версии, которая уже была скачана ранее, то да, нужно выполнить docker pull перед стартом, дабы скачать новый образ.


    Дополнительный совет:
    Сборку образа и его заливку в удаленный регистр часто удобно автоматизировать с помощь Makefile'ов.
    Ответ написан
    3 комментария
  • Docker как панацея для разработчика?

    Tyranron
    @Tyranron
    Для начала нужно понять "контейнер" и "контейнеризацию".
    Контейнеризируя процесс, мы его изолируем в своей среде, со своим личным user space. При этом ядро ОС (kernel) при работе контейнера используется то же самое, что и у основной ОС машины.

    Выгода здесь в том, что к контейнерам можно относиться как к этаким "бинарникам", грубо говоря. У Вас есть какое-то приложение, не важно какое-оно, будь то набор скриптов на PHP, либо уже скомпилированное что-то (postfix, nginx, apache, и т.п.). Вы это приложение и все его зависимости упаковываете в контейнер (создаете image) и на выходе получаете единое готовое "что-то", что Вы можете запустить и оно не требует более никаких зависимостей (кроме рантайма контейнеров - Docker, rkt, и т.п.). Полная аналогия с тем, как из вороха либ и исходников Вы компилите единый бинарник, который просто потом запускаете где хотите, без необходимости иметь исходники.
    Как мы привыкли в менеджерах зависимостей (composer, bower, другие) описывать и фиксировать зависимости исходного кода, так же и в контейнере мы делаем то же самое, но для окружения нашего приложения. Reproducibility во все поля.

    Это очень сильно упрощает жизнь. Вам больше не нужно заботиться о том, что для приложения нужно точно воспроизводить окружение на каждой машине, оно у Вас зафиксировано внутри контейнера. Никаких больше конфликтов между различными версиями jvm, php, python, ruby, nginx и т.д. Вы легко на одной и той же машине используете какие хотите приложения, каких хотите версий. Выкатка его же на другую машину больше не требует филигранной подгонки и согласования окружения в соответствие. У Вас больше не отвалится внезапно приложение, из-за недонастроенных апдейтов ОСи и внезапного обновления зависимых либ.

    А что Docker?
    Docker - это набор инструментов для работы с контейнерами.
    Docker daemon являет собой рантайм контейнеров, он их запускает, останавливает, отслеживает.
    Docker registry - это контроль версий созданных образов (images) приложения, по аналогии к контролю версий исходников приложения.

    Все. Концептуально ничего более Docker и контейнеризация не дают.

    Отвечая на Ваши вопросы:


    1. docker-daemon - это HTTP-сервер и он может взять на себя это работу на стороне сервера, т.е. nginx не нужен

      Нет. Docker daemon - это рантайм контейнеров. Он умеет "слушать" на определенных портах, но это сделано для взаимодействия с Docker runtime'ом, а не для выполнения функциональности HTTP-сервера. HTTP-сервер все ещё нужен, и он может (а по-хорошему и должен) быть запущен внутри контейнера.


    2. docker на дев-машине можно (как-то) связать с докером на хостинге

      Мы не жонглируем docker'ами. Docker - всего лишь инструмент для работы с контейнерами. Мы жонглируем контейнерами и приложениями, упакованными в них. Нет смысла связывать docker'ы на хостинге и на дев-машине. Вы создаете образ (image) и можете его запускать через docker как на дев-машине, так и на хостинге. Если Вам нужно, чтобы одни приложения на дев-машине общались с другими на хостинге, то это не вопрос к docker'у - это вопрос к организации связи между Вашими приложениями.


    3. и учитвыая предудущий пункт - docker можно использовать для деплоя

      ИМХО, нужно. Вы закатали в образ точную версию приложения и его окружения. Осталось теперь этот "бинарник" запустить где хочется.


    4. docker можно использовать для отката, если деплой не задался

      Легко. Просто тушим контейнер нового образа и подымаем обратно старый.


    5. пропадает необходимость в во всяких rbenv и pyenv, если нужна другая версия языка, то просто создается новый контейнер в котором и происходит установка

      Да. Вы в Dockerfile, по сути, точно декларируете свое окружение. Нужно другое окружение - меняем Dockerfile и создаем новый образ.


    6. докер очень быстрый, в т.ч. старты и рестарты

      Не понятно - быстрый в чем? Наверное, имеется в виду сравнение с виртуальными машинами. Да, накладные расзоды меньше, нежели у виртуалок, так как используется одно и то же ядро ОС. Просто процессы запускаются в разных user space'ах. В остальном скорость Docker - это скорость запуска, собственно, процессов. Если у Вас тяжелое приложение с медленным стартом (привет, FMS!) или остановкой, то Docker тут Вам ничем не поможет.

    Ответ написан
    4 комментария
  • В чем преимущества *nix, linux перед windows (для веб разработчика)?

    DevMan
    @DevMan
    1. вы получаете окружение близкое или идентичное к продакшену.
    2. вы получаете внятную консоль/шел из коробки.
    3. вы избавляетесь от массы вопросов типа "на локалке все работает, а залил на сервер и получил жопу" (или наоборот).
    4. у вас появляется более лучшее понимание как на сервере все работает.

    при теперешнем развитие технологий и производительности железа, нет необходимости себя ломать.
    можно попробовать в виртуалке (docker/vagrant)/дуалбуте и самому для себя решить стоит или нет.
    Ответ написан
    17 комментариев
  • Существуют ли НЕ видеоуроки по различным ЯП?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть такие штуки, книги называются, раньше говорят было модно.
    Ответ написан
    9 комментариев
  • Клиент много задает вопросов, как быть?

    opium
    @opium
    Просто люблю качественно работать
    Отвечать на них.
    Ответ написан
    Комментировать
  • Какие существуют способы защиты стилей CSS?

    opium
    @opium
    Просто люблю качественно работать
    мне кажется мания величия затмила ваш мозг глупейшими проблемами, вместо того чтобы код красиво оформить и выкладывать на гитхаб и делиться им, вы решили его зачем то прятать, просто задумайтесь, что хорошего вы сделали в жизни и почему не выкладываете его на гитхаб?
    Ответ написан
    11 комментариев