• Docker как локальный web-сервер (замена Open Server, Xampp и т.д.)?

    IvanCher
    @IvanCher
    Мысли шире
    Странные конечно ответы отмечены решениями, меня это несколько удивляет.
    Немного расскажу автору вопроса про вагрант и докер, в чем разница.
    Вагрант - это лишь обертка над virtualbox для создания заранее сконфигурированной машины в виртуалбоксе. Польза от него есть, но только для разработчиков. На продакшн сервер Вы не сможете развернуть то же окружение при помощи вагранта.

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

    Докер, в отличии от вагранта, позволит Вам иметь идентичные окружения и на дев-сервере, и на продакшн, и на тестовом, и везде, где только можно. Этим он выгодно отличается от вагранта.
    Вагрант в связи с вышеупомянутым недостатком и ориентированность только на дев-окружение, тихонько отмирает.

    В итоге, советую Вам сейчас уже начинать с докера всё же, а на вагрант забить и без необходимости не забывать себе голову лишней технологией, посколько чем забить голову - найдется :)

    На счёт того, как конкретно развернуть на докере ламп или что-то подобное, сперва прочтите Getting started на оф. сайте докера, затем гляньте на докхабе образы для веба, там их несколько и каждый описывает инетерсные подходы.

    Удачи, надеюсь мой комментарий был Вам полезен.
    Ответ написан
    11 комментариев
  • Для чего нужен Docker?

    @viiy
    Linux сисадмин \ DevOps
    Представьте что нет никакой ложки докера.

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

    2) У вас есть физическая машина + на ней виртуалки. Вы выделяете под каждую задачу свою виртуалку, там сидят отдельные пользователи, вы навели какой то порядок. Появляется задача - пользователи хотят php 6, а его нет, хотят python3, а его нет, хотят Mongo, а она старой версии. Вы обновляете репозитарии, качаете новые пакеты, ставите, часть пользователей довольны, часть нет - им нужна старая версия какая была. Упс!

    3) Одна физическая машина + еще больше виртуальных машин. Вы разделили всех пользователей так, чтобы никто не дрался за версии софта, если нужен php6 - иди на эту машину, нужен php5 - вот на эту. Все счастливы, но появляются разработчики, которые говорят буквально так - "а у меня на рабочей машине все работает, я перенес все как было на виртуалку, а у меня появляется ошибка missing library libXXX.so.X". И вы понимаете что вам остается только создать полную копию машины разработчика, чтобы софт поехал на этой виртуалке без ошибок... И тут появляется Docker! :)

    4) Docker решает именно эту проблему. Вам не нужно заботится о софте который установлен на сервере/виртуалке. Вы просто берете и переносите софт со всеми "кишками" на другой сервер и он просто работает. Работает за счет того, что все "кишки" это слои файловой системы нанизанные как бисер друг на друга. Дополнительно решается проблема свободного места, т.к слои многократно переиспользуются контейнерами, если вам нужен php + одна библиотека, а другому php + другая библиотека, вы используете (грубо говоря) слой php, а для дополнительной библиотеки делаете отдельный слой, одновременно другой человек делает над php другой слой и вы не деретесь между собой и не видите чужих библиотек. Это грубо и скорее всего ради одной библиотеки никто новый слой не делает, делают слой пожирнее.

    Все запущенные процессы Docker помещает в изолированную среду процессов, файловой системы и сетевого стека. Есть много особенностей по работе с Docker, т.к он предполагает, что в одном контейнере вы запускаете один процесс. Если вам нужно запустить целый набор демоном, тут появляются проблемы, нужно писать шелл-скрипт, который все это поднимет в контейнере. Так же есть особенности по сети, файловой системе. Для кого то Docker спасение и решение всех проблем, но я как сисадмин от этого всего не в восторге.
    Ответ написан
    15 комментариев
  • Где скачать полностью рабочий Laravel 5 в архиве?

    Laravel одним архивом cabinet.laravel.com/latest.zip

    или по отдельности:
    Larael https://github.com/laravel/laravel/releases
    а vendor к нему так https://composer.borreli.com/
    Ответ написан
    Комментировать
  • Как поставить два действия на onclick?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    <a href="#!" class="apply" onclick="onClickFunction">Подать заявку</a>
    <script>
      function onClickFunction(){
        try { jivo_api.open({start : 'chat'}); } catch (e) {};
        try { yaCounter55927183.reachGoal(‘HOMEGO‘); } catch (e) {};
      }
    </script>


    UPD

    amartynyuk, чувак, у тебя кавычки неправильные!!! Ну реально, в консольку смотреть надо, что там пишет....
    Ответ написан
    7 комментариев
  • Применение DIV в HTML?

    criticalsomethoughts
    @criticalsomethoughts
    UI\UX Developer, Project Manager
    Это называется tabs(табы) - вот вам пример с codepen, в нем показана техническая реализация без js. На codepen примеров куча.
    Пример - Link
    Ответ написан
    1 комментарий
  • Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    @Simipa
    React Native developer
    Я сначала допустил подобную ошибку, когда только начинал работать на фрилансе, работал с утра до вечера как и в офисе, но на таймере было 3-4 часа. И получал я за 3-4 часа. Потом я понял, что вообще ни один человек на свете не пишет разумный код 8 часов в день, если это не рутинная задача.
    Ответ написан
    1 комментарий
  • Как создать Landing Page на WordPress?

    @ren334
    Безработный бездельник
    Вот есть отличная пошаговая инструкция по созданию Landing Page на WordPress с помощью плагина Elementor.
    Ответ написан
    Комментировать
  • Как написать (простое) дополнение Firefox максимально просто, без углубления в изучении?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Для себя наскоро написал простое расширение под FireFox, просмотрев их гайд по созданию расширений. Понадобилось установить nodejs и jpm.

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

    miraage
    @miraage
    Старый прогер
    Вы ищете скраппинг вакансии, но не можете сами написать такой парсер вакансий по разным биржам?
    Подозрительно.
    Ответ написан
    1 комментарий
  • Как получить заказы по web scraping и какие навыки улучшить?

    @vl12
    Когда человек публикует очень короткое описание, я пишу: готов, могу, давай пиши детали. А он не отвечает.
    При коротком мутном описании, смотри есть ли у заказчика опыт и верификация на бирже. Он может сам не понимать чего хочет, ответить непомерными запросами за копейки.
    Возможно не стоит тратить время на такие заявки.

    никогда даже не рассматривал web research работы. Стоит ли обратить внимание?

    Там заявки для интернета на английскогом языке, или на испанском, индийском и т.д. А у вас опыт в рунете.
    Также навыки рус. писателя на англ. бирже не нужны.
    Ответ написан
    Комментировать
  • Как получить заказы по web scraping и какие навыки улучшить?

    @rebovetew
    Идея повышения заработка проста:
    Задачи по скрапингу - очень часто простые типовые.
    Берёшь такую задачу - добавляешь пару строк в свое уже готовое типовое решение, и продаешь клиенту.
    Но квалификацию это не добавляет.
    Однако экономически очень приятно.
    Если ты уверен, что можешь решить задачу - твой ценник должен быть не меньше 20 долларов в час.
    При этом час ты можешь увеличивать за счет того, что будешь вылизывать своё уже готовое решение.

    Но для роста квалификации задача должна быть не типовая.
    Однако реализовывать ты будешь её крайне долго.
    Экономически это не выгодно.
    Я бы не ставил менее 15 долларов за час.
    Но тут в часу придется поработать побольше.

    Разумеется я не говорю о ручном скрапинге.
    Говорю об автоматизированном. И умении с этой автоматизацией работать.
    Ответ написан
    1 комментарий
  • Как получить заказы по web scraping и какие навыки улучшить?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Для скраппинга есть несколько требований:
    1. скорость написания устойчивых к вёрстке правил
    2. автопроверка таких правил
    3. мультипоточность
    4. архитекура скраппера под условия хостинга
    Напишите любой свой аггрегатор или сервис-аналитику, и покажите, что Вы действительно можете создавать скраппер-системы: сразу люди к Вам и потянутся.
    Ответ написан
    2 комментария
  • Как получить заказы по web scraping и какие навыки улучшить?

    @WapGeaR
    Программист
    Я бы не доверился человеку со ставкой 8$/час, попробуйте хотя бы 15
    Ответ написан
    6 комментариев
  • Можно ли разобраться в ООП в ходе изучения YII2?

    gzhegow
    @gzhegow
    aka "ОбнимиБизнесмена"
    Да как сказать Yii - это ящик с гаечными ключами. Можно ли по ящику понять - зачем ключи? Ну можно, если долго ключи использовать как пишут разработчики - то и поймешь со временем, но есть риск провалится в "делаю как сказали, почему - не знаю".

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

    Представь ассоциативный массив (ключ-значение).
    Теперь представь функцию, любую, пусть будет abs() - число по модулю.
    А теперь забрось эту функцию в свой массив на место какого-нибудь ключа, то есть у тебя как будто получится $array["abs"], где лежит сама функция.

    В чем отличие функции от других данных? Данные ты можешь записать, а можешь считать. А функцию ты еще и выполнить можешь. Таким образом когда ты ее вкинул в массив, у тебя лежит не функция там, а ее заготовка, под выполнение. И ты можешь ее вызвать но уже не как abs(), а как $arr['abs']() - что будет выглядеть одинаково (под капотом все сложнее, но пока забей, оно тебе не надо)

    А теперь представь что у тебя есть десять таких массивов $arr. И что, в каждый теперь совать функцию, которую ты только что запихнул в первый? Нет, зачем. Для этого существуют "классы" - которые описывают внешний вид будущего "массива".

    Таким образом ООП это когда ты сначала описываешь внешний вид массива, а потом создаешь вот эти "улучшенные массивы" по описанному виду. Но это только малая часть всего движа.

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

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

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

    Об ООП стоит думать как средство уменьшения числа кода. Если у тебя к примеру два поставщика и два разных файла выгрузки, а действия в них одни и те же - можно прибегнуть к ООП, сделав тип "Поставщик" и описав в нем - что он умеет делать над своими "экземплярами-объектами-улучшенными_массивами" и тд.

    Прежде чем считать, что ты не сможешь без ООП тебе нужно понять, что любая вещь МОЖЕТ быть сделана без ООП. Просто количество путаницы если ты бросишь этот код и вернешься к нему через месяц и уже не помнишь что где и когда - будет больше. Классы создают некую описательную структуру того, что происходит и оттого часто в крупных проектах писать на ООП длиннее дольше и тяжелее, чем без ООП.

    То есть штуку разрабатывали чтобы писать меньше, а на деле для понимания все переменные в верблюде пишут, и в итоге кода еще больше становится, но он типа "понятный". А потом они будут перебирать дорогих сотрудников, потому что дешевые этот понятный код не могут писать, тобто ребята копошаться в своих головах, а деньги приносят продажи потом. Не попадись в такую ловушку.

    ООП тебе понадобится, когда у тебя возникнет очень отчетливое чувство что "блин, вот язык этот какое дерьмо, мне так задрало вот эту штуку каждый раз заново писать, почему они сразу этого не сделали?" - вот тогда тебе надо заняться ООП, и тогда его будет легко понять.

    Я не про то, что типа "еще рано" и тд. Я про то, что есть куча вещей в которое можно отдать время, более интересных и полезных, чем погружаться с башкой в эту муть, которая на деле кроме чувства мнимого превосходства тебе ничего не даст. Просто делай как удобно, и только когда решишь своим массивам задавать поведение - типа "при присвоении ключа в поле `name` автоматически создать поле `code` с таким-то содержимым" - вот тогда реально можешь повкуривать что тут еще можно мутить.
    Ответ написан
    23 комментария
  • Нужно ли провинциальное высшее IT образование?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Учеба в вузе никак не мешает учебе самостоятельно, вы же не в мединституте учитесь? 60% времени вы свободны. Если тратить не на пивас и погамать, то можно обучиться строить космические корабли и бороздить просторы вселенной
    2) Это хорошо, а как у вас с иностранными? Если хорошо - то 100% стоит получить корку и думать в сторону европы, а еще лучше - сразу попробовать обучаться в Германии например, там образование бесплатное.
    3) Я в школе тоже не видел смысла учить русский, английский(который давался мне с аццким трудом), и прочие истории с географиями, однако сейчас понимаю что даже те зародыши английского что тогда в меня впихнули помогли мне быстро вникнуть в технический английский, и быстро вырасти в знаниях когда объем данных на английском вырос просто взрывообразно. И да, в институте в вас пихают много чего не особо полезного, тут вопрос в том что во первых - просто способность запоминать растет на объеме, и второе - способность понимать логику разных предметов(скажем так - не тупить при нестандартных ситуациях) тоже на одном конкретном предмете не научишься.
    4) Заочное вариант если вы реально сами поднимете скилл на уровень "меня хотят за серьезные деньги", иначе лучше добить очку и потом идти в конторы джуном с последующим стандартным ростом скилов.
    5) Зачем было выбирать слабый вуз за больше чем штуку евро в год? Понимаю что возможно это не только ваш выбор но и "указания сверху", но раз вошли в танец - пляшите, терять время на перевод + опционально переезд скорее всего невыгодно ни по времени, ни финансово.
    6) Очень плохо - это что? Не дали профильных знаний? Не обеспечили направлением на работу? Не учились и получили диплом с хреновым баллом? Раскрою тайну - 90% вузов не дают актуальных знаний, это обусловлено кучей вполне понятных факторов, начиная от персонала, который должен быть компетентен в современных технологиях, и заканчивая сроком утверждения и обновления учебных программ, учитывая нехилую бюрократию и зависимость от министерств/ведомств етц.
    7) Всегда есть варианты проще и дешевле, и вообще можно устроиться без образования, но как верно подметил Stalker_RED, с корочкой просто больше выбор.
    Ответ написан
    1 комментарий
  • Есть фронт на vue.js. Для приложения переписывать на React Native или есть другие варианты?

    @Uinit
    Соберите в cordova - работы на пол часа с условием установки android sdk и настройки переменных окружения, посмотрите как выглядит. Собрал приложение доставки на cordova + vue + yandex checkout sdk (написал свой простой плагин для нативных библиотек android и ios) - все отлично работает. Ибо нет большого смысла поддерживать 3 приложения (desktop, mobile, app), учитывая то, что два последних - это одно и тоже.
    Да и для прототипа - самое-то, приложение раньше увидит свет, а когда появится необходимость в том, что нельзя реализовать на cordova - перепишете нативно.
    Ответ написан
    Комментировать
  • Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    @McBernar
    Да, это хороший результат.

    Очень смешно читать отзывы на поиск дизайнера или разработчика для проекта, которые уверяют, что работают минимум 10 часов в день, а то и все 12.

    Я лично работаю по системе помидорок. На работу у меня 10 помидоров — это пять часов с короткими перерывами. В остальное время либо учусь, либо пишу код для своего проекта, либо просто отдыхаю.
    Ответ написан
    Комментировать
  • Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    Odisseya
    @Odisseya
    Оптимизирую PageSpeed & Performance
    У нас ПМ закладывает норму: 60% время продуктивной работы, от общего количества рабочих часов. Это коэффициент средней команды. 70% — делает более эффективная команда кот. получает за это бонус. Например, на миттинге задача оценивается в 15 человеко-часов, с учетом коэффициента команды 0,6 она трансформируется в 25 рабочих человеко-часов.

    Так, из 8ми рабочих часов выходит нижняя норма: 4,8 продуктивных часов.
    Получается, что ваши 6ч — это очень хороший результат.
    Ответ написан
    1 комментарий