/OmFGTU-2019

Dev practice

Primary LanguagePython

OmFGTU-2019

Dev practice

Материалы для занятий

В wiki собраны все материалы.

NDA
Пишем резюме Опрос о скиллах: js, jQuery, python, PHP, HTML+CSS, C#
Виды работ, направления: CRM-Казарма, Selenium, MLM, hmq-edu, скрейперы, обработка данных, машинное обучение, чат-боты
Что хочется изучать
Трелло
Колаб
MySQL / Mongo
Neo4j / OrientDB
markdown git flow CI / CD

Источники ответов

stackoverflow.com

Курсы

https://stepik.org/ https://geekbrains.ru/ openedu.ru coursera.org https://www.udacity.com/

Изучение языков

Python

Олег Молчанов https://www.youtube.com/user/zaemiel/videos Python: tuple, dict, list libs: urllib3, requests libs: threading С самого начала смотрим курс: https://www.youtube.com/watch?v=H2IWHyum6k8&list=PLwwk4BHih4fjnBhqvYFvPxP5quUXR1CMj

PHP

— phpmanual — установка Apache2.x или Nginx — установка PHP — установка MySQL
— поставьте Laravel — напишите первую программу на Laravel

Паттерны:

  • Паттерн Registry
  • Метт Зандстра. PHP, объекты, шаблоны и методики программирования

Linux

  • Digital Ocean / Ubuntu/ FRA (Frankfurt) / LAMP
  • Виртуалка cовместно с кем-то работать и туда заливать результаты своего труда
  • По LAMP я могу скинуть готовую конфигурацию для вагранта, установил вагрант, в консоли набрал vagrant up и ушел пока все качается и ставится, пришел все готово. Только rewrite включить, для MySQL внешнее подключение настроить, в принципе и это тоже можно сделать.

Хотелось бы увидеть в текстовом виде ещё раз направления, но более детально описанные по стекам технологий, чтобы можно было взвесить и определиться ( я о том, что вы говорили в начале первого видео)

Проекты

Scrapers - общие

можно писать на PHP, C#

Python / Scrapers - основные

BS4 и Олег Молчанов Konstantin — изучаем urlib3, requests, beautiful soup 4 — видео Олега Молчанова про ассинхронность https://www.youtube.com/user/zaemiel Дашборд: python + django Я могу на скрейперы посадить и обернём это всё с дашбордом на Джанге

CRM-Казарма

Стек: PHP (CodeIgniter), MySQL, jQuery, html5, bootstrap, BitBucket Задачи:

  • пишем модульные тесты (PHPUnit)
  • пишем функциональные тесты (Selenium)

CRM-Казарма

Стек: PHP (CodeIgniter), MySQL, jQuery, html5, bootstrap, BitBucket

Рефералка-MLM

— Покрытие тестами для них же: функциональные, модульные (функциональные можно на питоне)

— Образовательный портал

Python игра

Первая задача будет игровая. Мы напишем консольную РПГ-игру "Гопники из Нефтов" Олег Vyacheslav @Fusion87 занимаются этой задачей. Все желающие приглашаются в этот проект. Руководителем назначается: Vyacheslav Консультант: @rotejek Konstantin https://trello.com/b/d30HAIEE/%D0%B3%D0%BE%D0%BF%D0%BD%D0%B8%D0%BA-%D0%B8%D0%B7-%D0%BD%D0%B5%D1%84%D1%82%D0%BE%D0%B2 Доска: в трелло Репа: https://github.com/KalekinDmitry/gopnik Задачи: — поствить Python, Git, IDE (в чем работать) — почитать основы ООП (классы и объекты) — разобраться, как генерируются случайные числа — вывод на консоль и чтение с консоли — изучить условный оператор Суть: Все действия спрашиваем с клавиатуры. Если вводится w (walk) - то с некоторой вероятностью выдать: "ничего не происходит", либо "вам встретился прохожий (ваши действия: a: докопаться, q: обойти стороной". Если докопались - начинается драка. a - ударить. C некоторой вероятностью у прохожего отнимаются очки жизни. Он бьёт в ответ - с некоторой вероятностью у героя отнимаются очки жизни. Победитель отжимает мобилу.

ML - аналитика и чат-боты

Есть академический подход - долго слюнявить формулу. Есть практический - написать строчку кода @rotejek — срочно посмотри весь курс Вадима Леонардовича Аббакумова Часть 1 и Часть 2 https://www.youtube.com/watch?v=enpPFqcIFj8&list=PLlb7e2G7aSpRb95_Wi7lZ-zA6fOjV3_l7 https://compscicenter.ru/courses/data-mining-python/2018-spring/classes/ https://compscicenter.ru/courses/data-mining-python2/2018-autumn/classes/3997/ https://www.youtube.com/watch?v=5l0e_Q0gpnc&list=PLlb7e2G7aSpT1ntsozWmWJ4kGUsUs141Y

Нас интересует: нейронная сеть и линейная регрессия

#PHP CodeIgniter — нужно изучить Unit-тесты, PHP-Unit — включиться в написание модульных тестов на CodeIgniter

PHP с CRUD / MVC

mod_rewrite __autoload spl_autoload_register("zsite_autoload");

https://hmq-edu.com/en-course-3-personal-development.html #PHP Образовательный проект типа coursera.org или udacity — MVC — берём движок Laravel или CodeIgniter — вёрстку я предоставлю — делаем CRUD: размещение курса, профиль препода, личный кабинет, профиль ученика, расписание курса

#Linux кто шарит в линухах? есть вопрос. тут вот чел везеде для установки пишет префикс -y Потому что при выполнении его спросят, установить? Да/нет Поэтому ответ заранее на все "да"

#Phpmyadmin вопрос по поводу апача и пхпАдмина в инсттрукции написано для того чтобы узнать публичный адрес сервера надо чекнуть эту команду. curl http://icanhazip.com но она мне возвращает адрес к моему роутеру. откуда я уже не могу добартьс до phpadmin-a в общем если в браузере пишу адрес http://<ip_addres>/phpadmin то отображается страница с приложением роутера с ошибкой, что нет такой страницы елси пишу http://localhost/phpadmin тоже пишет нет такой страницы

Эм.. Значит тебе не нужен публичный адрес сервера. Ты запускаешь всё на локальной машине. Сначала проверь, если у тебя поставился апач: — что файервол разрешает ему работать — что в браузере у тебя открывается что-то по адресу: http://localhost или http://127.0.0.1

Теперь надо понять, как ты ставил phpmyadmin посмотри, что у тебя в /etc/apache2/apache2.conf - там должна быть директория основная.

скорее всего, это будет /var/www/htmlили просто /var/www

можно просто: — распаковать файлы из архива phpmyadmin в /var/www/html/phpmyadmin — прописать в /var/www/html/phpmyadmin/config.php (не забудь файл переименовать - сейчас он у тебя confip.example.php или как-то так) и у тебя всё будет открываться по адресу: http://localhost/phpmyadmin/index.php — не забудь сделать на папку /var/www/html/phpmyadmin chmod 775 и chown (какой у тебя пользователь у apache2? wwwroot наверное?)

Создай файл index.php с таким содержимым:

в папке /var/www/html/ удали оттуда же index.html

Теперь весь твой phpmyadmin - это такой же скрипт, который будет лежать в папке /phpmyadmin относительно твоего файла info.php

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04 https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-18-04

А.. смотри в чём прикол: DigitalOcean - учат, как всё это поставить в ИХ инфраструктуре. Поэтому там и тебе нужно было узнать, IP адрес их сервака. А у тебя локально всё. Поэтому тебя ввело в заблуждение с этими IP адресами.

Дмитрий Калекин, [01.07.19 23:02] сейчас он у тебя http://localhost/phpmyadmin

Дмитрий Калекин, [01.07.19 23:02] меня смущает, что у тебя папка /var/www/html/phpmyadmin не создана

Дмитрий Калекин, [01.07.19 23:03] там есть что-нибудь?

Дмитрий Калекин, [01.07.19 23:04] например, index.php

Konstantin Simonov, [02.07.19 03:17] #python Я же правильно понимаю, что если в классе хочу описать атрибуты, которые мне понадобятся, то более коректно их описать в slots?

Konstantin Simonov, [02.07.19 03:19] А то малость непривычно, когда всё это динамически задаётся, хотелось бы чтобы я видел переменные в классе, с которыми работаю )))))

Дмитрий Калекин, [02.07.19 03:21] Пиши в таком стиле, используй атрибуты экземпляра: class MyClass(object): def init(self, name, identifier): self.name = name self.identifier = identifier self.set_up()

Различай атрибуты класса и атрибуты экземпляра: class MyClass(object): conf_my_class = "атрибут класса"

def __init__(self, name, identifier):
    self.name = name  # атрибут экземпляра
    self.identifier = identifier
    self.set_up()

Konstantin Simonov, [02.07.19 03:22] Ну я на этом и посыпался, пока не допёр, что тут по аналогии со static

Дмитрий Калекин, [02.07.19 03:22] да, это аналогия со static в шарпе