• Хорошей ли практикой является использовать rem для значений margin и padding?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    если увеличить размер шрифта, то и отступы увеличатся

    Так это же замечательно, так и должно быть. И вопрос не только в доступности. Задание всех размеров в rem/em позволяет при изменении размера шрифта сохранить приятный глазу дизайн, у которого не "перекашивается" соотношение веса элементов и негативного пространства. Максимальный эффект достигается при использовании CSS-шлюзов и адаптивной типографики, что дает возможность без лишних движений сделать "красиво" на любых размерах экрана. А если заранее определить с дизайнером все стандартные размеры для всего (я часто использую .3, .5, .8, 1, 1.25, 1.5, 1.75, 2, 3, 4, 5 rem), то можно будет быстро верстать "на глаз", по бумажным наброскам, и даже без дизайнера совсем, используя не гору магических чисел, а известный набор удобных размеров. Конечно, это ломает мозги неподготовленному дизайнеру, но многие модные ресурсы (тот же Smashing Magazine) используют подобный подход весьма успешно.
    Ответ написан
    Комментировать
  • Как в CSS выбрать первый элемент с определенным классом?

    Vostack13
    @Vostack13
    Фронтэнд
    Андрей Стрелков Дружище, вот лови решение на чистом CSS

    .homebox > .homebox-row-0 + :not(.homebox-row-0) {
          background: red;
     }


    Ребус тут следующий: первый кто идет после классов `.homebox-row-0` и не является эти классом
    Ответ написан
    3 комментария
  • Какое приложение написать для понимания ООП?

    php666
    @php666
    PHP-макака
    на пхп
    на пхп есть два мира - академический и реальный

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

    php - не лучший язык, что бы на нем писать "полноценные" приложения на пхп. там должна быть какая-то ну очень сложная бизнес-логика.

    можно, конечно, нарисовать кучу классов, но это будет "ООП ради ООП"
    Ответ написан
    Комментировать
  • Какое приложение написать для понимания ООП?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    Полноценного понимания не существует.
    Я долго писал в процедурном стиле и долго не мог понять зачем вообще нужны эти классы какие-то.
    Всё решалось функциями. С ростом сложности проекта приходилось передавать в функции всё больше и больше аргументов. Когда аргументов стало слишком много, я стал передавать в качестве аргумента массив с переменными.
    Функция изменяла значения в этом массиве и возвращала.

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

    А потом я случайно узнал, что эти какие-то непонятные методы, которые "являются поведением объектов класса" (как это обычно объясняют) на самом деле просто функции и есть. И оказалось, что можно не пропихивать массив через них, а наоборот - функции сложить в этот массив. Получилось, что класс это такой "массив" в котором есть не только переменные, но и функции. И эти функции могут видеть все эти переменные, даже если не написать global $var. И это было как раз тем, чего я очень желал и радости моей не было предела.
    Кстати, узнал я это, когда забавы ради кодил 2D платформер на C# в Unity.
    Ответ написан
    Комментировать
  • Можно ли сделать интерфейс адаптивным, не переписывая весь CSS через media query's?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Обычно нет других вариантов. Если верстка гавно (в эту категорию входит верстка с использованием пикселей), то придется все переопределять в медиазапросах.

    Но даже если размеры задаются в rem, то не всегда достаточно прописать только font-size для :root. Всё же приходится кое-что переопределять, хотя и значительно меньше.
    Ответ написан
  • Как узнать кто ДДОСИТ?

    @Goshin
    администрирование всего
    Крайне маловероятно что это будет происходить с адресов, имеющих отношение к тому, кто это делает. Скорее всего вы получите список адресов компов или серверов, которые, в свою очередь, взломаны или заражены и используются для атак, сканирований или переборов. Т.ч. смысла выяснять, откуда соединения, не много.
    Ответ написан
    Комментировать
  • Можно ли считать процессоры от AMD столь же универсальными, что и Intel?

    hint000
    @hint000
    у админа три руки
    помню с давних пор, что в ряде задач порой сталкивалась с указанием, что ее выполнение возможно только на Intel
    Это были фейки. Или просто ерунда. Не было таких задач в числе сколько-нибудь популярных. В принципе, можно сделать такое ограничение кому-то назло: определить процессор, если AMD то больше ничего не делать. Но в этом примерно столько же смысла, как в антироссийских санкциях. Т.е. нет разумных причин, по которым программа бы не работала на AMD. Да, расширенные наборы команд порой отличаются,
    https://ru.wikipedia.org/wiki/Расширения_архитекту...
    но они отличаются и на intel'ах разных поколений. Видели что-нибудь подобное: "если ваш intel выпущен 5 лет назад, то эта программа на нём не будет работать"? Вот и я не видел.
    Да, некоторые задачи требуют при компиляции отдельно оптимизировать под intel и отдельно под AMD. Да, разработчики могут полениться и не делать так. Тогда на AMD производительность может быть хуже или на intel производительность может быть хуже, но работать всё равно будет.
    Я пользуюсь процессорами AMD с 1997 года и за это время мне не попадалось ни одной программы, которая отказалась работать из-за AMD.

    сталкивались ли вы с ограничениями систем на Ryzen
    Нет. Будучи системным администратором, несколько лет назад собрал для офиса сервер на базе Ryzen5 3600, на нём крутятся две виртуальных машины и 40 пользователей работают через RDP в 1С с утра до вечера. Это даже не серверный процессор, но он прекрасно вытягивает такую нагрузку, прёт как ледокол. До него был сервер на базе intel i7 - жалкое подобие, пришлось поставить тот сервер в другое место, где пользователей поменьше.
    Ответ написан
    4 комментария
  • Почему не получается преодолеть барьер в изучении программирования?

    @k4nt
    Здравствуйте.
    Я так же, как и Вы учусь программировать. Лично мне никакое изучение материала не давало результата.
    Только когда у меня появилось к чему приложить свои знания (я сам придумал себе интересный проект и делаю его) у меня появилась больше мотивации в изучении.
    Я не смотрю курсы, не читаю литературу. Я заполняю нужные мне пробелы в знаниях исходя из практики. Да, явно с точки зрения специалиста у меня всё криво, можно лучше и тд, но знания гораздо лучше остаются в моей голове и мотивация падает только тогда, когда я упираюсь во что-то сложное для себя. Пару дней голова поварит, я соберу нужные знания и снова продвигаюсь к реализации своего мини проекта.
    Ответ написан
    2 комментария
  • И ещё раз. SSD. Совместимость SATA-II и SATA-III?

    gaelpa
    @gaelpa
    За исключением возможных несовместимостей прошивки биоса, в потребительской электронике неплохо действует принцип:
    «если разъем механически подошел, значит заработает».
    SATA разъем, насколько мне известно, не менялся.
    Ответ написан
    1 комментарий
  • В чем плюсы Mobile First подхода в верстке?

    vetero4eg
    @vetero4eg
    Frontend
    Во-первых mobile first - это не только про верстку. Это гораздо больше про проектирование и приоритеты. Для хорошего результата этот подход нужно применять еще на стадии прототипирования и проработки дизайна. Всё проектирование интерфейса должно плясать от мобильной версии как основной, достаточной и удобной. Потом этот интерфейс уже дополняют и развивают в десктопный, но также через анализ и проектирование. А не как бывает крайне часто - держи десктопный макет, сверстай, по пути придумай, как это все впихнуть на мобильник. Но увы, клиент обычно не хочет за это платить, а дизайнер не может реализовать достаточно квалифицированно, потому что "я в эту вашу верстку не понимаю, я красиво делаю". Это не про всех, конечно же, но такие проблемы по моему опыту встречаются чаще, чем какой-либо иной расклад.

    Во-вторых, mobile first даже в верстке точно не только про min / max - width, это опять же про проектирование, направление мысли, выбор инструментов... глубина зависит от умений, исходных данных и поставленной задачи.

    Что на деле: как правило при верстке / разработке сайта подходом mobile-first пытаются закрыть те упущенные вещи, которые должны были быть сделаны на этапе проектирования, но не сделаны. Увы, среди разработчиков и верстальщиков знатоков юзабилити также не много, как среди дизайнеров людей, понимающих нюансы верстки / разработки. Поэтому мы имеем то, что имеем, и принципиальность разницы desktop / mobile first становится действительно порядком "ненатуральной", надуманной. Примерно также выглядит ситуация c последователями pixel perfect верстки по кривым-косым макетам без хоть сколько-нибудь продуманной дизайн системы, но это уже совсем другая история.
    Ответ написан
    Комментировать
  • В чем плюсы Mobile First подхода в верстке?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    Под мобилки требуется меньше стилей, по большей части это плиточки которые идут друг под другом. Используя Mobile First под мобильные устройства создается база, которая постепенно обрастает стилями доходя до десктопной версии, именно поэтому стилей получается меньше, потому что по больше части они дополняются, а не переопределяются или отменяются. Вам не придется выкручиваться и тратить лишнюю энергию на то чтобы впихнуть какой-то сложный блок, потому что он изначально простой. Это как бутон, который постепенно раскрывается и превращается в красивый цветок или как бабочка вылезает из кокона расправляя крылья, если их попытаться сжать обратно они сломаются.

    Далее, даже если не обращать внимание на то с каких устройств заходят посетители, вам придется подстраиваться под поисковые системы, которые требуют оптимизацию под мобильные устройства. При Mobile First верстке у вас эта оптимизацию получится сама собой так как вы выбираете кратчайший путь к правильному отображению. Браузер не будет вообще применять свойства которые больше доступного размера, в то время как при first desktop будут применены все стили и переопределены, отсюда и всякие визуальные скачки при входе на сайт, которые критичны для первой отрисовки и прочие хорошо наблюдаемые не точности с отступами, вылезание блоков за пределы экрана и т.д.. А в случае, если начинают манипулировать вложенностью повышая специфичность, то первый рендеринг для мобильных устройств превращается в страдания

    Кроме того, все становится более логично, шрифты увеличиваются, картинки становятся больше, как по мне это воспринимается намного легче и разгружает мозг.

    От того что я верстаю через min, свойств в css файле меньше не становится.

    Ну так все приходит с опытом

    Если бы я делал через min-width, то верхняя часть хедера изначально была бы скрыта (display: none), но при ширине выше, например 768px, я бы ее показал (display: block) и писал бы остальные свойства для нее в этом же медиа-запросе.

    Это все нюансы, один display: block ничего не порешает. Но бывают ситуации когда стоит комбинировать и min и max, я например описываю меню в отдельных media, я не делаю общих стилей для десктопа и мобилок, потому что там общего практически ничего нет, даже цвета и шрифты иногда отличаются вот кстати размышления Вадима Макеева на эту тему, я делал так задолго до просмотра этого видео и это удобно, кроме того используя сборщик можно раскидать их в разные файлы работать как с отдельными блоками не оглядываясь на переопределения.
    Ответ написан
    1 комментарий
  • В чем вообще соль задания nullable полей в БД, вместо пустых значений по умолчанию, есть ли в этом какой-то сакральный смысл?

    Adamos
    @Adamos
    NULL - это не пустое поле. Это "поле не заполнено".
    Используется в тех случаях, когда разница между этими состояниями - есть.
    Кроме того, у числовых полей или дат просто нет "пустого" варианта.
    0 и '1970-01-01 0:00:00' - это значения, которые вполне могут иметь смысл.
    Например, при подсчете средних значений или интервалов NULL позволяет исключить ненужные строки.

    Если вам без разницы, заполнил юзер свои поля или нет - значение по умолчанию подходит, использовать NULL просто незачем.
    Ответ написан
    Комментировать
  • Какой стэк использовать для быстрого доступа данных?

    @Vitsliputsli
    Оптимизация это всегда жертва чем-то, ради чего-то. Нельзя просто оптимизировать, нужно выбрать, что улучшать, а затем выбираеть решения, понимая, чем можно пожертвовать. Поэтому начинать оптимизацию нужно тогда, когда знаешь какую проблему решаешь.
    Нельзя просто поставить прослойку перед MySQL и все станет хорошо, MySQL итак, очень быстрая СУБД. Но можно поставить, например кеширующий Redis, при условии, что у вас очень много key-value значений и крайне важен быстрый доступ к ним. Это решение не только увеличит занимаемое место и усложнит архитектуру, нужно будет контролировать консистентность баз данных, которая может быть нарушена из-за проблемы инвалидации кеша.
    Оптимизация классических СУБД всегда начинается с построения наиболее подходящих индексов. Если этого уже не хватает и скорость чтения недостаточна, то можно ввести репликацию slave и читать из нее. Здесь опять возникнет вопрос дополнительных затрат на место и консистентности, особенно неконсистентности данных из-за лага репликации. Плюс затраты на дополнительное подключение, что впрочем можно решить внедрением proxy.
    Далее более сложные варианты, от отказа от foreign keys, до шардирования. Но все это при действительно высоких нагрузках, заниматься этим на данном этапе не стоит, разве что, если есть предпосылки, что к этому придете, то заранее выбрать параметр шардирования (иногда это просто, а бывает очень сложно).
    Ответ написан
    Комментировать
  • Чем можно заменить связку MS Excel + VBA в Linux?

    Расскажу опыт со свой стороны - сфера финансов, работа с большими таблицами (эксельевскими, не БД), в среднем от 100 до4 00к строк.
    Послел речерча open source решений, решили остановиться на LibreOffice. Работали на винде, мой комментарии:
    1. Очень нестабилен, частые вылеты, даже на небольших объемах данных (до 50к строк);
    2. Хоть и пишут про какую-то совместимость с VBA, но... Те макросы код которых полностью коннектиктся с библиотекой либрой будут работать, но сразу почти ничего не коннектится (причем не работают базовые вещи, типо поиск последней заполненной ячейки или использование словарей). Использовать частично VBA и LIbreOffice язык не получится (были идеи просто переписать те методы, которые не работают из нативного ВБА), поэтому для успешной работы уже написанных VBA макросов придется писать их заново. Не с нуля конечно, но целиком.

    Интересно какие еще решения находили люди, так что подписался.
    Ответ написан
    7 комментариев
  • Как достать owner_id и post_id вконтакте?

    На примере ссылки - vk.com/wall-29246653_184828
    owner_id = -29246653
    post_id = 184828

    owner_id начинается с минуса, если пост от сообщества, без минуса - от пользователя.
    Ответ написан
    Комментировать
  • Как изучать администрирование линукс самостоятельно?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Я научился, когда снес Windows на своем рабочем компьютере, и установил Linux.
    Ответ написан
    2 комментария
  • Как изучать администрирование линукс самостоятельно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Чтение книг тут вобщем-то не очень полезно потому что каждый автор описывает линукс применительно к каким-то промышленным решениям где сразу "всего много". Много хостов в сети. Много серверов приложений и хранилищ и много задач.

    Изучать будет трудно. Линукс не прощает грубых ошибок. Если проводить аналогии то Windows - это электродрель где всё в резиновых ручках безопасно и красиво и удобно лежит в руке. С такой дрелью вам ничего не грозит. И можно сделать дырочки в стенах безопасно. А Линукс в этом сравнении - это строительный бур, которым вы можете снести стену, но и легко пробурить себе ногу. Тоесть когда вы начнёте эксперименты (особенно на привилегиях root) то думайте что по ту сторону нет вообще никаких защит. Удалить корень файловой системы одним жестом очень просто, как уже отметили выше.

    Но для домашнего варианта можно придумать нечто вроде : создать свою мини-сеть с DNS, файрволом, прокси, и медиасервером для фильмов. Вот с этого можно начинать. Можно поднять игровые серверы Майнкрафта, фермы майнинга или генерации радужных таблиц. По поводу Mint - всё в принципе хорошо. Вообще важен не дистрибутив а скорость трабл-шутинга. И надо не боятся работать с консолью. Не надейтесь что если вы подняли Smb через UI - то это достижение. Нужно поймать траблу. Зайти в консоль и ее пофиксить. Я гарантирую что через UI большинство траблов не фиксятся. В этом есть особая философия. Поэтому и устанавливайте и конфигурите софт через консоль.
    Ответ написан
    1 комментарий
  • Что почитать по теории алгоритмов?

    @kuduh
    Вот еще хорошая книга: " Алгоритмы. Введение в разработку и анализ". Автор: Ананий Левитин.
    Ответ написан
    Комментировать
  • Как называется такой тип верстки?

    SuperToster
    @SuperToster
    Что такое "тип вёрстки" — затрудняюсь.. Тут верстальщик хотел сверстать лендинг, но случайно нашёл плагин scrollmagic.io... И не смог остановиться )

    Если интересно как сделать подобное, смотрите примеры: scrollmagic.io/examples/index.html, читайте доку.

    Но пользуйтесь в меру. Не как в приведённых вами шаблонах.
    Ответ написан
    Комментировать