• Сss текст и анимация?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Скриншоты это круто, но откройте для себя к примеру https://jsfiddle.net/
    Ответ написан
    1 комментарий
  • Как следует организовать базу и поиск по 1 000 000 000 000 (триллиону) записей на 100ТБ?

    Largo1
    @Largo1
    Айтишник далёкого плана
    хм, странно всё это.. обычно кто создаёт подобную базу - уже знает что делать.. работайте с Oracle
    Ответ написан
    4 комментария
  • Как сделать такой SQL запрос?

    martin74ua
    @martin74ua Куратор тега MySQL
    Linux administrator
    from <= end_date and to >= start_date
    кажется все случаи перекрыты
    Ответ написан
    2 комментария
  • Можно ли вставить svg используя :after?

    Creamov
    @Creamov
    Senior Fullstack Software Engineer
    Конечно. Используйте для этого свойство content.

    .some-element::after {
        content: url('data:image/svg+xml; base64, <тут_закодированный_svg>');
        /* или */
        content: url("data:image/svg+xml; utf8, <тут_код_svg>");
    }

    P.S. в CSS3 для псевдо-элементов необходимо использовать два двоеточия ::before, ::after, вместо одного.
    Ответ написан
  • Как искать заказы по верстке на upworks?

    Та же проблема, ничего не поделаешь, после реорганзации в апворк там стало нереально что-то выцепить
    Ответ написан
    5 комментариев
  • Почему rails не высвобождает память?

    viktorvsk
    @viktorvsk
    Потому что так работает подавляющее число скриптовых языков.
    Когда нужна память - она берется из ОС. Когда память чистится, она помечается как доступная к перезаписи, но не отдается обратно ОС

    Для такой задачи, как вы описали, следуте использовать фоновые очереди задач: delayed job, resque, sidekiq, rabbitmq...

    Кстати, delayed job и, кажется, sidekiq - тоже не высвободят память. Их нужно будет убивать периодически убивать(например, с помощью monit и лимитом памяти). Resque же создает новый форк на каждую задачу
    Ответ написан
    4 комментария
  • Стоит ли идти в 1С программисты?

    @FoxInSox
    1C - колхоз. Будете сидеть в потном офисе с 40-50 летними женщинами бухгалтерами за древним компьютером с CRT монитором. А если лет через пять 1С платформа помрет или заменится чем-то более современным, то ваши 5 лет пойдут коту под хвост.

    ps переезжайте в Питер или Москву.
    Ответ написан
    4 комментария
  • Как сделать гибкий SVG с ресайзом бекграунда?

    @serzhei
    Верстка, программирование
    тут гляди akkord-smart.ru/plans картинке cover не делай, на этом сайте например стоит скрипт который наподобии ковера делает, я подобно делал у меня получилось goo.gl/2NKkmU
    Ответ написан
    Комментировать
  • Как влияет на SEO display:none, left:-9999px, visibility: hidden, z-index?

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

    Тоже раньше парился по это поводу но суть проста: не старайтесь обмануть поисковики и все будет нормально. Если то, что вы будете делать для это удобства пользователей то ничего страшного не будет.
    Ответ написан
    Комментировать
  • Как расписать циклы через goto, а потом преобразовать в state-машину?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Возьмём программу, в которой есть и циклы, и goto. Например, проверка, есть ли в матрице нулевая строка:
    void Check(int M[5][5]){
      for(int a=0;a<5;a++){
        for(int b=0;b<5;b++){
          if(M[a][b]!=0) goto L1;
       }
       goto L2;
    L1: continue;
      }
      printf("No\n"); return;
    L2:
      printf("Yes\n"); 
    }

    Опишем все переменные в начале, а циклы распишем прямо по определению.
    Кроме того, return превратим в goto на метку Return в конце функции:
    void Check(int M[5][5]){
      int a,b;
      a=0;
      goto Loop1_Check;
    Loop1_Body:
      b=0;
      goto Loop2_Check;
    Loop2_Body:
          if(M[a][b]!=0) goto L1;
          b++;
    Loop2_Check:
          if(b<5) goto Loop2_Body;  
       goto L2;
    L1: 
    Loop1_End:
       a++;
    Loop1_Check:  
      if(a<5) goto Loop1_Body;
      printf("No\n"); goto Return;
    L2:
      printf("Yes\n"); 
    Return: ;
    }

    Теперь между любыми двумя метками у нас находится линейная последовательность, в которой могут встретиться конструкции if(condition) goto label;
    Заводим переменную state.
    Каждой метке присваиваем какое-нибудь значение этой переменной, и вместо goto label пишем state=label; а вместо if(condition) goto label; - if(condition) state=label; else{ остаток кода до следующей метки }. Если перед какой-нибудь меткой label не было безусловного goto, пишем перед ней state=label;
    void Check(int M[5][5]){
      const int Return=0;
      const int Loop1_Check=1;
      const int Loop1_Body=2;
      const int Loop2_Check=3;
      const int Loop2_Body=4;
      const int L1=5;
      const int L2=6;
    
      int state;
      int a,b;
      a=0;
      state=Loop1_Check;
    Loop1_Body:
      b=0;
     state=Loop2_Check;
    Loop2_Body:
          if(M[a][b]!=0) state=L1;
          else{
             b++;
             state=Loop2_Check;
          }
    Loop2_Check:
          if(b<5) state=Loop2_Body;  
          else state=L2;
    L1: 
          a++;
          state=Loop1_Check;
    Loop1_Check:  
      if(a<5) state=Loop1_Body;
      else{
          printf("No\n"); 
          state=Return;
      }
    L2:
      printf("Yes\n"); 
      state=Return;
    Return: ;
    }

    (это преобразование было неэквивалентным).
    Теперь перед первой меткой вставляем while(state!=Return){ switch(state){
    а каждую метку label: заменяем на break; case label:
    break; перед первой меткой убираем, а case Return: меняем на } }
    void Check(int M[5][5]){
      const int Return=0;
      const int Loop1_Check=1;
      const int Loop1_Body=2;
      const int Loop2_Check=3;
      const int Loop2_Body=4;
      const int L1=5;
      const int L2=6;
    
      int state;
      int a,b;
      a=0;
      state=Loop1_Check;
      while(state!=Return){
        switch(state){
          case Loop1_Body:
            b=0;
            state=Loop2_Check;
            break;
          case Loop2_Body:
            if(M[a][b]!=0) state=L1;
            else{
              b++;
              state=Loop2_Check;
            }
            break;
          case Loop2_Check:
            if(b<5) state=Loop2_Body;  
            else state=L2;
            break;
          case L1: 
            a++;
            state=Loop1_Check;
            break;
          case Loop1_Check:  
             if(a<5) state=Loop1_Body;
             else{
                printf("No\n"); 
                state=Return;
             }
             break;
           case L2:
              printf("Yes\n"); 
              state=Return;
              break;
         }
      }
      ;
    }

    Всё.
    Ответ написан
    4 комментария
  • Как сделать "гамбургер меню" для мобильной версии сайта?

    display: block;
    display: none;
    Ответ написан
    Комментировать
  • Почему одинаковые свойства CSS в разных браузерах выглядят по разному?

    @dady_KK
    PM
    Есть как минимум две причины:
    1. у каждого браузера есть свой дефолтный файл стилей, когда верстальщик пишет свои стили, то дефолтные стили браузера переопределяються, например, заголовки выделяются полужирным и имеют определенный размер. Чтобы избавиться от этой проблемы обычно используют сброс стилей.
    2. каждый браузер, точнее движок браузера, по-разному может интерпретировать некоторые свойства, не считая багов. Для избавления от этой причуды можно просто переверстать, используя другие приемы
    Ответ написан
    Комментировать
  • Как найти работу джуниору?

    edinorog
    @edinorog
    Троллей не кормить!
    а нету советов. нету тупо и всё. ногами ходишь .. голосом говоришь и лыбу давишь. а не тратишь время на говорильню на ресурсе для помощи в косяках.
    Ответ написан
    1 комментарий
  • Верстка в первый раз. Ну как?

    1. meta="utf-8"
    2. Есть вложения блочных элементов в строчные (a>div)
    3. Агенство -> Агентство : )
    Ну а в целом для первого раза довольно не плохо
    Ответ написан
    2 комментария
  • Какова архитектура крупных приложений на низкоуровневых языках?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    ООП это не архитектура, а парадигма. Скорее всего Вы хотели спросить, какие есть паттерны проектирования в парадигмах процедурного и структурного программирования. Перечислю кратко: модули (структурные блоки, библиотеки, часто построенные в иерархическую систему при помощи dependency injection), интерфейсы (наборы экспортируемых функций, которые видны снаружи модуля), шаблоны (функции, абстрагированные от типов данных, при помощи которых парадигма обобщенного программирования позволяет порождать типизированные реализации), слои (как ни странно, но до ООП тоже были абстракции, они реализовывались при помощи принципа разделения модулей на слои, т.е. группы модулей, реализующие более низкоуровневые или более высокоуровневые задачи, программирование обычно начинается с самого высокого слоя абстракций, из него можно использовать только вызовы на 1 слой ниже, но не на 2 слоя, т.е. нельзя смешивать абстракции и пропускать слои, обращаясь, грубо говоря, от нажатия кнопки сразу к кластеру на диске), заглушки (должны Вам должны быть известны, это функции и модули без реализации, необходимые чтобы запускать и отлаживать еще не дописанную программу, они могут выводить вызовы к ним на экран или в логи, а состоять только из возврата правдоподобных но не настоящих данных). Так же есть много паттернов структур данных, которые тоже очень сильно упрощают жизнь, если выбрать определенную их реализацию для своего проекта и придерживаться принципа однородности структур данных, например, не использовать две разные реализации двусвязных списков в одной программе (или модуле). Структуры данных вполне заменяют объекты, более того, работают они несравнимо быстрее, не создают проблемы неоднозначности моделирования, как в ООП например, когда Вы не можете решить, где должен находиться метод "сесть" у "жопы", у "стула" или у их общего контейнера "мир", в котором это происходит. Распространенные структуры данных: набор полей, список (в т.к. односвязный, двусвязный, циклический и т.д.), стек, дерево (тоже может быть от односвязного до пятисвязного с вариациями), множество, очередь, ассоциативный массив и хеш-таблица. Все, устал писать, рекомендую почитать Дэйкстру, Вирта, Кнута. А смириться с отсутствием ООП может помочь занятная статья в стиле холиварного срача: blogerator.ru/page/oop_why-objects-have-failed
    Ответ написан
    Комментировать
  • Дефицит специалистов - так всё-таки это правда или миф?

    Bandicoot
    @Bandicoot
    Вась-программист
    В дефицит не верю - порог вхождения очень низкий. Можно действительно прийти с улицы, за пару месяцев изучить необходимый минимум и уже пытаться куда-то устроиться
    Ответ написан
    4 комментария
  • Дефицит специалистов - так всё-таки это правда или миф?

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

    Имхо, но те, кто говорят о дефиците, либо ищут не там, либо не могут заинтересовать человека нужного им уровня, либо ставят абсурдные \ слишком жесткие условия отбора.
    Ответ написан
    3 комментария
  • Какие преимущества фриланс имеет над работой в офисе?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Описываю по себе:
    1) Возможность создать свой собственный режим сна. Для меня вставать в 8-9 утра это настоящая боль. Уже год+ засыпаю между 3-4 часами ночи и просыпаюсь между 11-12. То есть абсолютно всегда сплю свою норму в 8 часов, для того чтобы чувствовать себя нормально и не пить никаких кофе.
    2) Отсутствие временных/моральных/физических затрат на дорогу до работы. Конкретно мне жаловаться не приходилось, ибо первое место работы было в 10 минутах ходьбы от дома, но вот люди в больших городах от этого явно страдают.
    3) Возможность жить и работать так, как это удобно ТЕБЕ. Вот сижу я днем, дописал только-что какой-то кусок проекта и смотрю в окно, а там солнышко светит и птички поют. Ну я беру и иду бегать на стадионе. И это все происходит в 2 часа дня. А что в офисе? Ходить проветривать мозги на улицу на официальных перерывах? А если заработался и пропустил перерыв, то что? Во многих компаниях придется сидеть дальше тупить.
    4) Возможность работать тогда, когда это наиболее удобно и эффективно для тебя. Один из самых важных пунктов. В офисе пришел и сидишь 8-часовой рабочий день. И ты же не можешь подойти к начальнику и сказать, что у тебя сейчас мозги не работают, и тебе бы хотелось свалить домой вообще. Ну может 1-2 раза отпустят, а что делать если тебя в каждый второй день после обеда парализует на пару часов? Будешь в итоге сидеть и накручивать спагетти-код на вилку. А потом его рефакторить, матерясь. Мне вот например ночью нравится работать, но где вы видели офисы, в которых вам позволят одну половину дня работать там, а другую ночью дома?
    5) Отсутствие привязанности к каким-то предпочтениям фирмы. Вот попали вы в веб-студию, делающую сайты на битриксе. И представим чисто теоретически что вам там платят нормальные деньги. А дальше что? Ну полгода вы попилите магазинчики. А потом еще полгода. И еще. Ну конечно не везде так уныло, но своих "особенностей" хватает во всех компаниях.
    6) Отсутствие видимого потолка по заработку. В стандартной компании вас посадят на оклад, +небольшие премиальные если вся команда в сроки будет сдавать проект например и нарисуют вам роадмап, по которому вы будете строить планы на жизнь. Аля "через полгода сдам 7 проектов и меня повысят, увеличив зп на 15%". А потом в один прекрасный вечер после работы вы сядите изучать что-то интересное дома. И будете изучать недели-месяцы. И вот приходите вы однажды на работу, с кучей новых знаний, а у вас в голове стойкое ощущение того, что сейчас вы достойны не то что этой прибавки в +15%, а вы на все 30% тяните. Но вам никто этого не даст. Просто потому-что обычные офисы живут по другим правилам.
    Ответ написан
    11 комментариев