• Для чего нужен 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 комментариев
  • Фрилансер, хочу открыть фирму. Ваш опыт?

    NeiTrinO2
    @NeiTrinO2
    Предприниматель
    Открывал 6 бизнесов с нуля. Последний раз открывал торговую компанию: разработка, проектирование и поставка оборудования.

    Сделал борзо:
    1. Подключили виртуальную АТС (тогда выбрал Sipuni, сейчас уже их не советую)
    2. Бухгалтерия на удаленке. Сервис КНОПКА. Им же можно давать различные задания по прозвону клиентов с целью получить, например, закрывающие документы
    3. Сотрудников нанял на удалёнку. Несколько было вообще в Украине.
    4. Для связи и совместной работы - CRM. Выбирали много и долго, но остановились на Мегаплане
    5. Юридический адрес фигурировал только в документах. Домашний фактический как почтовый. Иногда встречался с Клиентами в коворкинге или в арендованных комнатах в бизнес-центрах


    ИТОГО
    • Без лишних затрат на старте получилась рабочая команда.
    • Никаких косяков, все отслеживается через CRM Мегаплан.
    • Виртуальная АТС создает видимость нормального офиса и дает все функции полноценной телефонии
    • Бухгалтерия + Юрист + Бизнес-ассистент отдельным сервисом на удалёнке


    Затраты минимальные. Польза максимальная.
    Всегда когда бизнес развивается и нет подкожного жира - необходимо строго следить за расходами. Такие расходы как офис и прочее, без острой необходимости, лучше переносить на второй год жизни компании, когда уже скопилась клиентская база и есть подкожный жир у компании, на котором в случае чего можно пожить.
    Ответ написан
  • Где существует место (группа вк?) по поиску единомышленников, готовых взяться за работу над стартапом исключительно ради своего портфолио и за идею?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    — Слушай, давай в коворкинге зависнем, у меня есть идея для стартапа, я уже и рисёч сделал. С меня смузи!
    — Вот сразу иди на ...!
    Ответ написан
    Комментировать
  • Как развиться от фрилансера до серьезной компании?

    franzolka
    @franzolka
    Co-founder & CEO в Tamaranga.com
    У нас было примерно все тоже самое, только начинала я в 2005м. В 2008м код уже не писала и полностью занялась управлением.
    Во-первых, ничего не будет получается, пока вы не выберете между кодом и менеджментом, как уже правильно подметил Александр Данилов. Плюс, если вы выберете код, у вас никогда не будет собственного бизнеса, он будет бизнесом вашего наемного менеджера, который просто его уведет в один не прекрасный день вместе со всей командой.
    Во-вторых, чтобы получались свои проекты и продукты одновременно с аутсорсом нужно выделить часть команды и вместе с тем, кто будет ей управлять, посадить в другой офис. Обязательно посмотрите видео от основателя invisiblecrm по этой теме, у них именно так и было аутсорс, который они не хотели отпускать, плюс продукт, который только начинали делать https://www.youtube.com/watch?v=ie1aw5N055U
    Сейчас у нас команда сократилась из 10 человека на аутсорсе до 5 человек на продуктах. Уже 3 года как мы полностью ушли от разработки на заказ. Путь до прибыльности занял примерно 8 месяцев, потребовался некоторый запас средств для перехода и после "тестирования темы на прочность" полного отказа от лавирования между двумя вариантами. Риск был, но оно того стоило. И да, откатиться обратно на разработку на заказ проще всего, но не спешите - вы всегда туда успеете.
    Ответ написан
    4 комментария
  • Тема для wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Есть прекрасная чистая основа Underscores.me (_s на GitHub), в которой реализованы все best practices. Используйте ее как основу, сразу учитесь делать правильно.
    2. Бутстрап, конечно, дело привычки. Но, ИМХО, это плохой инструмент, так как с ним ты становишься слишком ленив. Кроме того, бутстрап массивен, никак не утилизирует стандартные классы WordPress, требует добавления своих классов. В общем, каша. В _s уже включен SASS, разбитый на компоненты. Испольлзуйте его. Если вы без бутстрапа не можете сами написать свою сетку на 12-20 строк CSS - дело дрянь.
    3. Custom post type.
    Ответ написан
    3 комментария
  • Какие есть стартовые темы для WordPress?

    zooks
    @zooks
    Frontend
    Ответ написан
    Комментировать
  • Почему Wordpress даёт миниатюры с разной высотой?

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

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

    в functions.php темы
    add_image_size('myThumb','400','300',true);
    в шаблоне
    the_post_thumbnail('myThumb');
    Ответ написан
    5 комментариев
  • Как в wordpress вывести виджет?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Задача достаточно тривиальная, в register_sidebar() вы передаете массив, добавить в него еще параметров не проблема как и в любой массив, другое дело как вы будете их получать, как минимум придется делать extends Class для каждого необходимого в выводу стандартного виджета.

    Однако виджеты обычно устроены так
    $before_widget . 
    $before_title . 
    $title .
    $after_title .
    $content .
    $after_widget;


    Соответственно вам достаточно сделать так
    register_sidebar( array(
        'name' => __( 'First Footer Widget Area', 'ykushev' ),
        'id'            => 'first-footer-widget-area',
        'description' => __( 'An optional widget area for your site footer.', 'ykushev' ), 
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget'  => '</ЧЕГОТО ПОСЛЕ КОНТЕНТА></div>',
        'before_title'  => '<h4 class="widget-title">',
        'after_title'   => '</h4><ЧЕГОТО ДО КОНТЕНТА>',
      ) );

    вернет

    $before_widget .
    $before_title . 
    $title . 
    $after_title .
    <ЧЕГОТО ДО КОНТЕНТА> .
    $content .
    </ЧЕГОТО ПОСЛЕ КОНТЕНТА> .
    $after_widget;


    ну или jquery молоток
    $('.widget').append('<ЧЕГОТО ДО КОНТЕНТА></ЧЕГОТО ПОСЛЕ КОНТЕНТА>');
    $(".widget header").next().appendTo("ЧЕГОТО ДО КОНТЕНТА");
    Ответ написан
    2 комментария
  • Разные размеры миниатюр на главной странице?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    <?php if ( have_posts() ) :  $n=1; while ( have_posts() ) : the_post(); 
    $flag = $n%5 ;
    /** если повторяете через 5 постов то делите по модулю на 5
    * дальше от результата деления подставляете 
    * необходимый размер миниатюры
    * соответственно при $flag = 2 ||  $flag = 4 средний
    * при 6 и 8 мелкий
    * при 0 большой
    * и на новый круг
    * или 
    *if( $flag >0 && $flag < 5 ) {
    * } elseif { ( $flag > 5 ) {
    *} else {
    *}
    */
    
    
    $n++; endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Создание интерактивной карты здания. Каков будет наиболее гибкий вариант?

    svg + Raphael.js
    Цвета будут меняться не через смену классов, а с помощью js
    А вот адаптивность тут конечно мимо.
    На 320px там пальцем то не особо попадешь в эти квадратики.

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

    @tim_tairan
    web
    Если стоит задача именно в переходе красивом то можно так:
    https://github.com/peachananr/onepage-scroll
    https://github.com/alvarotrigo/fullPage.js
    tympanus.net/Development/ArticleIntroEffects/index...

    А по факту адаптивности дизайна то bootstrap в зубы и поехал:
    getbootstrap.com
    Ответ написан
    1 комментарий
  • Существует ли разрешение экрана с шириной 340px?

    TheExplay
    @TheExplay
    Верстальщик - Junior FrontEnd
    Возможно, где-то, у кого-то и есть
    А какая собственно разница? или вы для разных экранов, указываете фиксированную ширину блока? Используйте % и будет вам счастье

    P.S. в среднем на сайтах которые верстал я, достаточно иметь 3 бреикпоинта, максимум 4
    @mobile: ~"screen and (max-width: 768px)";
    @mobile-portrait: ~"screen and (max-width: 480px)";
    @mobile-landscape: ~"screen and (min-width: 481px) and (max-width: 768px)";
    @tablet: ~"screen and (min-width: 769px) and (max-width: 1000px)";
    @desktop: ~"screen and (min-width: 1001px)";
    Ответ написан
    2 комментария