• Какие области в веб - разработке осваивать в перспективе?

    dom1n1k
    @dom1n1k
    В общем у меня уйдёт на это 2 - 2.5 месяца. Только на основы!

    Ну обосраться. Два грёбаных месяца!!!1
    До чего докатилась индустрия, что 2 месяца воспринимаются как огромный срок. И всё чаще натыкаешься на статьи, где пишут о годовалых якобы мидлах и трехлетних якобы сеньорах.
    Лично я считаю, нужно потратить от 2-3 лет, чтобы начать более-менее прилично и системно ориентироваться в теме. В течении этих лет неоднократно будут возникать моменты, когда тебе кажется, что ты уже достаточно крут - но это только кажется.
    Нормальный специалист средней руки формируется около 3 лет. Не гуру, не сенсей, не сеньор - просто крепкий линейный боец. Это много где так, не обязательно в JS. И это нормально.
    Хочешь за несколько недель - иди установщиком пластиковых окон, как раз строительный сезон начался.
    Ответ написан
    11 комментариев
  • На каких технологиях разрабатывать чат?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Так как это риалтайм, то у вас обязательно будут вебсокеты на клиенте, а на сервере событийный фреймворк или рантайм. Мой личный выбор либо socket.io + fastify (nodejs), либо phoenixframework.
    Ответ написан
    3 комментария
  • Как описать приготовление яичницы в терминах MVC?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Про бизнес-процессы сказали правильно. Я добавлю что существует два MVC, один для толстых клиентов (фронтенд), другой для клиент-серверной архитектуры, то что в рамках http. Они сильно отличаются и каждая из этих версий опирается на особенности среды, в рамках которой используется: в клиентах событийная модель, в бекенде клиент-серверная.

    Но и там и там M - это ваша предметная область, то что не зависит от того где и как используется. Процесс заказа яичницы это бизнес-процесс, будет абсолютно идентичным, с алгоритмической точки зрения, где бы вы его не реализовывали.
    Ответ написан
    Комментировать
  • [ES6, ES7, ES8] Как использовать и где взять инфу?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Хочу научиться использовать последние стандарты (ES7, ES8), смотрел их разные фишки, хотелось бы попробовать, но как эти стандарты можно активировать?

    Babel вам в помощь.

    Видел фишки что то вроде "Точечный синтаксис"
    Что-то вроде этого:
    console.log ('Привет Мир!');
    можно заменить на
    c.l.'Привет Мир!'..

    Это здесь? С первым апреля вас.
    Ответ написан
    4 комментария
  • Насколько у меня правильный код ООП php?

    @D3lphi
    Здесь плохо всё, к сожалению.

    Начнем с того, что вы неверно наследуете классы. Почему у вас класс, отвечающий за подключение к базе данных является родителем класса, работающим с заказами? Наследование применяется, если можно сказать, что что-то является чем-то. Например, разработчик является работником; компьютер является устройством и тд. Здесь же у вас вообще близко такой логике не получится следовать. Вы должны передавать хотя бы объект для работы с бд через инъекцию, например, в конструктор. В идеале, нужно использовать паттерн репозиторий для работы с базой данных.

    Класс SearchOrder у вас не только выполняет запросы, но еще и работает с данными, хранит состояние этих самых данных, фильтрует данные (strip_tags()). Непорядок. Это все нужно разделять. У вас вообще получаются какие-то богообъекты, которые умеют во все.

    Вы каждый раз повторяете строки с подготовкой запроса, биндингом параметров, отправкой запроса и тд. Не думали, что неплохо бы было написать какую-нибудь обертку и выполнять запросы как-нибудь так:
    $result = $wrapper->select("SELECT * FROM `tablename` WHERE `id` = :id", ['id' => 5]);

    ?

    Вы вызываете connect() в методах. То есть, каждый вызов этого метода будет приводить к установке нового соединения с базой данных, даже если оно уже было установлено. Соединение с базой данных это достаточно дорогостоящая операция.

    Зачем вы используете свойства, если можно обойтись обычными локальными переменными:
    $this->orderID = (int) strip_tags($orderID);
    $this->column = (string) strip_tags($column);
    $this->value = (string) strip_tags($value);

    ?

    Почему вы стриппите тэги у идентификатора? вы настолько не уверены в том, что влетает в функцию:
    strip_tags($orderID);
    ?

    Если вы не используете php 7 и, как следствие, скалярный тайпхинтинг, то должны делать проверки на тип входящего аргумента. Если что-то не так с типом, бросаем исключение (А не приводим его к нужному)! Например:
    if (!is_string($arg)) {
        throw new InvalidArgumentTypeException('string', $arg);
    }

    Это в идеале. Вы не обязаны это делать, конечно же. Но вот такие проверки делают приложение безопаснее. Хотя, опять же, повторюсь, в 2017 нужно начинать новые проекты на php 7.1+.

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

    Кроме всего прочего, почитайте про стандарты оформления кода. Вы им не следуете.

    Вам пока рано писать такие велосипеды. Судя по всему, у вас нет опыта вообще. Посмотрите готовые решения: фреймворки, ORM, изучите их, хотя бы поверхностно разберитесь, как оно работает и уже потом пробуйте что-то сделать, исходя из полученных знаний.

    Желаю успехов!
    Ответ написан
    1 комментарий
  • Как монетизируются языки программирования и бесплатные фреймворки?

    @di23
    Вы недооцениваете опенсорс. И смотрите только на быстрое получение прибыли с проекта.
    Вот пару моментов которые пришли в голову:
    1. Распространение своей технологии, своей продукции. Завоевать умы гораздо гораздо легче бесплатным продуктам, особенно когда этот продукт хорош. А люди, аудитория стоят дороже денег, надеюсь это не надо объяснять? В конечном счете подсадив людей на технологию можно ими управлять и диктовать свои правила. Это власть.
    2. Деньги можно срубать с больших компаний использующих ваш продукт. Грубо: "Для того что бы я дальше развивал свою технологию мне нужны деньги, иначе я перестану ее развивать, она загнется, а вы, уважаемая компания, потеряете кучу времени и сил переходя на другое решение. По этому прошу отстегивать мне Н-ю сумму ежемесячно" Это грубо, но в целом именно так. Можно сюда еще включить то, что компании могут напрямую просить добавить какой-то функционал в следующую версию вашего продукта.
    3. Банальные пожертвования.
    4. Поддержка. Опять же, у крупной компании возникли проблемы или не понимания вашей технологии. Вы им оказываете индивидуальную поддержку за приличную сумму.
    5. Вас будут приглашать на различные конференции, в универы, в компании и т.д. За это все можно и нужно брать деньги. Вообщем сюда попадает весь заработок с собственного имени и лица, как у голливудской звезды.
    6. Еще можно делать технологию полу-бесплатной. Как Юнити, например. Можно юзать бесплатно, но если ваша игра набрала определенную аудиторию вы должны платить за их технологию. Весьма честно и хитро.
    Да кучу еще всего можно сюда дописать. Главное - это аудитория и популярность. С этими двумя вещами можно ворочать горы.
    Ответ написан
    3 комментария
  • Что изучить первым и выгоднее Angular, Angular 2 или React?

    @beduin01
    Лучше vuejs.org еще ничего не придумали.
    Ответ написан
    Комментировать
  • Как избавиться от привычки усложнять задачу?

    romy4
    @romy4
    Exception handler
    Этот процесс называется определение milestones. Вы сперва определяете MVP (minimal valuable product) — то есть тот уровень завершённости (без рюшечек и плюшек), при котором можно получать выгоду и дальше вы уже строите отталкиваясь от MVP
    Ответ написан
    Комментировать
  • Что делать, если воруют контент?

    alsopub
    @alsopub
    Как вариант для Яндекса - https://yandex.ru/support/webmaster/authored-texts...
    Другой вариант - делать так чтобы поисковики видели новые тексты, а пользователи видели их только после индексации.
    Ответ написан
    1 комментарий
  • Как разрабатываются такие сайты?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    300 баксов за такое? Не смешите. Чтобы сделать все точь в точь как на гифке, с хорошей браузерной поддержкой, идеальной плавностью, и самое главное, ОТЛИЧНОЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ, вам понадобится несколько десятков человеко-часов приличного специалиста, рейт которого стартует с 30$/h наверное. Я естественно говорю не только о том что на гифке, но и об остальном контенте, который тоже будет соответствующего уровня.

    Большинство местных "спецов", которые тут пишут "да там все просто, бах бах пара трансформов", на деле мощно так обделаются когда их анимация полноэкранного транзишена картинки будет адово тормозить на fullHD+ экране, и при этом выглядеть она будет крайне паршиво на фоне отполированного оригинала.

    Тут даже дело не в каких-то магических и крайне специфичных навыках, тут дело в опыте работы именно с такими штуками. Полировка таких вот "утонченных" анимаций может с легкостью забирать часы, особенно когда начинаются проблемы с перформансом или специфичными багами браузеров, из-за проблем со слоями и прочей чехардой.
    Ответ написан
    1 комментарий
  • Каким вы видите будущее Ruby?

    Fahrenhe17
    @Fahrenhe17
    Ruby on Rails developer
    В свое время похожее меня терзало, но остался с руби и доволен как слон. Несколько помог вот этот доклад, который увидел как-то тут же, на тостере.
    https://youtu.be/xPFRUM_oDKA

    А если от себя - руби, а в частности рельсы не умрут. Особенно с теми обновлениями, что есть в 5 версии.
    Ответ написан
    3 комментария
  • Почему курсов RoR так много?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Если вы интересуетесь какой-либо темой, вы неизбежно будете замечать её везде и всюду. Заинтересовались рельсами - и сразу вокруг образовалась куча рельсовых курсов. Они там всегда были, просто вы их не видели.
    Ответ написан
    Комментировать
  • Почему курсов RoR так много?

    insiki
    @insiki
    broken pipe
    Много? Посмотрите на количество курсов по JS, PHP, Python, например.
    Вот это - много. По Ruby и RoR курсов немного, русскоязычных так вообще мизер.
    Ответ написан
    Комментировать
  • Стоит ли учить Ruby и Rails в 2016 году?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Прям для вас писал: frey.su/should-i-learn

    Добавлю еще, что как только вы займетесь Ruby, вы услышите о нем столько, сколько не слышали за всю жизнь. Также и с любым другим инструментом, не только с языками. Работы на Ruby и Ruby on Rails навалом.
    Ответ написан
    16 комментариев
  • Что мой провайдер знает обо мне?

    @nirvimel
    Когда я захожу на определенный сайт, провайдер видит URL?

    Да.

    А если я захожу на https?

    Известен IP сервера и имя домена. Больше ничего.

    Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?

    Торрент-клиент общается с трекером по HTTP. Все видно насквозь: конкретные торренты + вся статистика (когда начато скачивание, когда закончено, когда пошла раздача, сколько роздано). Возможно подключение к трекеру и по HTTPS, но rutracker.org такой возможности не дает (мне тоже интересно почему).

    Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?

    Провайдер не хранит у себя весь трафик. Это технически невозможно. Но трафик обрабатывается, классифицируется и ведутся логи о том какой тип трафика когда входил/уходил от абонента.

    Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?

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

    Когда я пользуюсь VPN, что видит провайдер?

    Видит шифрованный траффик на конкретный IP. По IP можно узнать, что этот диапазон продается под VPSы. Сам факт шифрованного трафика вешает абонента в списки тех, "кому есть что скрывать", а значит подозреваемых при любом розыске.

    Что я зашел на определенный IP и с него идут зашифрованные потоки?

    Дальнейшее направление трафика от VPN-сервера отследить невозможно (по крайней мере, на оборудовании провайдера в автоматическом режиме). Но при целенаправленной слежке за абонентом в принципе возможно по временным меткам сопоставить трафик абонента с трафиком любого сервера.

    OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?

    В зависимости от настройки. Но в общем случае, да, так.

    Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?

    Это не связанно с провайдером. Это особенность Windows. Когда VPN отваливается, весь трафик вылетает наружу в открытом виде. Опять же зависит от настроек. Но это еще одна цена "удобства" при использовании Windows.

    При этом провайдер видит на каком я сайте, что скачиваю?

    VPN отвалился - хацкер спалился.

    Таких фишек много?

    Смотря о чем речь. В сфере сетевой безопасности и анонимности различных нюансов вообще много.

    Как от них защитится?

    Учить мат.часть. Разбираться в сетевых протоколах и в устройстве ОС.

    Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?

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

    При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?

    Нет. Если у вас не сконфигурирован Exit Node.

    Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?

    У них есть система точного обнаружения использования Tor. Это факт остается в логах с теми же последствиями, что и для VPN.

    Провайдер видит URL?

    Через Tor и VPN - нет.

    Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?

    Видеть все: https://www.google.com/search?q=Wireshark
    Блокировать все лишнее: https://www.google.com/search?q=Comodo+Firewall
    Ответ написан
    22 комментария
  • Верстать без фреймвороков это значит быть не професионалом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Быть профессионалом - значит знать и правильно применять необходимые инструменты для наиболее эффективного решения задачи. А также НЕ применять, если в этом нет необходимости.
    Ответ написан
    4 комментария
  • Как отправить GET или POST запрос из файла контроллера Rails?

    dluhhbiu
    @dluhhbiu
    GET:
    require 'open-uri'
    open("http://сервис.ru/sys/send.php?login=логин&psw=паро...")


    POST:
    require "net/http"
    require "uri"
    uri = URI.parse("http://сервис.ru/sys/send.php")
    response = Net::HTTP.post_form(uri, {"login" => "логин", "psw" => "паро..."})


    А вообще это в гугле можно найти за пару минут
    Ответ написан
    Комментировать
  • С чего начинать развиваться веб-дизайнеру?

    @eoffsock
    Кодер (Rails)
    Первый этап — подумать, надо ли это вам вообще. К хорошему дизайну на кривой козе не подъедешь.

    Прежде всего: Майк Монтейро «Дизайн — это работа». Даже если не будете потом заниматься дизайном — книга все равно полезная.
    Во многом избавляет от романтического подхода вроде «дизайнер — это художник».

    Второй этап — учиться: смотреть и делать свое.
    Только, во имя всех скандинавских богов, смотреть не на Behance и Dribble. Там красиво, конечно, стиль, все дела, но в конечном итоге 95% работ там просто картинки.
    А веб–дизайн — в первую очередь сценарий. Дизайнер определяет то, как пользователь будет пользоваться сайтом: в его власти сделать интерфейс простым и ясным или запутать до невозможности.
    Посмотрите работы бюро Горбунова, особенно процесс создания.

    Соответственно свои работы тоже нужно рассматривать с точки зрения полезного действия, а не внешней красоты. Эстетика — это третий этап.
    Учиться значит читать, в первую очередь. Чтобы делать правильно — нужна система.
    Читать лучше от общего к частному, начать стоит с этого:
    Дональд Норман «Дизайн привычных вещей»
    Виктор Папанек «Дизайн для реального мира»
    Параллельно:
    Генрих Альтшуллер «Найти идею»
    37Signals «Getting Real»

    Веб — это интерфейс, значит:
    Джеф Раскин
    «Новые направления в проектировании компьютерных систем», «Об интерфейсе»
    Брюс Тогнаццини «Главные принципы интерактивного дизайна»
    Якоб Нильсен «Веб-дизайн. Книга Якоба Нильсена»

    Веб — это шрифт и текст, стало быть:
    Ян Чихольд «Новая типографика»
    Эмиль Рудер «Типографика»
    Нора Галь «Слово живое и мертвое»
    Саша Карепина «Искусство делового письма»

    Веб — структура и верстка:
    Тим Харровер «Настольная книга газетного дизайнера»
    Мюллер-Брокман «Модульные сетки в графическом дизайне»

    Оставлю за кадром книги по самоуправлению и переговорам, это уже другая фаза.
    Про английский язык и умение верстать уже сказали, повторяться не буду.
    Ответ написан
    6 комментариев
  • Как вы начинаете вёрстку сайта?

    torrie
    @torrie
    Всё знаю, всё умею
    В первую очередь делаю сброс css-стилей.
    Затем делаю вёрстку общих блоков - просто структура из div'ов с нужными ширинами, высотами согласно макету, залитых разными цветами. Стараюсь все div'ы(когда что-то в строчку) делать inline-block'ами. Получается цветная такая структура будущего сайта. Каркас готов.
    NDrl9VkCyDvemP.jpg

    Начинаю углубляться в каждый блок - располагать в нём нужные элементы. В зависимости от сложности их расположения делаю какие-то блоки position:relative, но чаще всего всё упирается просто в отступы.
    Ответ написан
    3 комментария
  • PHP+Symfony или Ruby+RoR?

    Atanvar
    @Atanvar
    Frontend developer
    Советую не слушать советы" попробуй оба", не продуйте пхп, учите рор, руби хороший язык, а рельсы отличнейший фреймворк с огромной кучей гемов, если бы не любовь к питону я бы тоже взялся за рор.
    Ответ написан
    2 комментария