Pull to refresh
81
0
Дмитрий Синявский @r3code

SRE

Send message

Современный CSS для динозавров

Reading time20 min
Views71K

— Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript!
[Вставь тут гифку из «Гриффинов»] — Ха!
Иллюстрации из Dinosaur Comics Райана Норта


Как ни странно, CSS считается одновременно одним из самых простых и одним из самых сложных языков для веб-разработчика. Определённо он достаточно прост в начале — вы определяете свойства стиля, значения для конкретных элементов и… это практически всё, что нужно знать! Однако в больших проектах ситуация становится довольно запутанной и сложной, чтобы организовать CSS каким-то осмысленным образом. Изменение любой строчки CSS для стилизации элемента на одной странице часто ведёт к непредвиденным последствиям для элементов на других страницах.

Чтобы разобраться в присущей сложности CSS, созданы самые разные виды передовых практик. Проблема в том, что до сих пор нет единого мнения, какие из них являются лучшими, а многие из них полностью противоречат друг другу. Если вы впервые пытаетесь выучить CSS, то такая ситуация дезориентирует, мягко говоря.

Цель этой статьи — показать исторический контекст, как развивались техники и инструменты CSS до их нынешнего состояния в 2018 году. Поняв эту историю будет легче понять каждый подход и как с выгодой его использовать. Итак, начнём!
Читать дальше →

Начальник, хочу работать из дома

Reading time3 min
Views63K
Несколько лет назад примерно с такой фразой ко мне пришел один из ведущих программистов. Давайте назовем его Иваном (все персонажи вымышленные, а любые совпадения случайны). Он собирался переехать жить за город и каждый день ездить в офис ему стало неудобно. У Ивана был приличный послужной список, несколько лет работы в компании и большой вагон доверия. Тогда мы договорились, что Иван будет работать удаленно понедельник и пятницу, а вторник-четверг он приезжает в офис с утренним графиком.
Читать дальше →

Чтоб root стоял и фичи были

Reading time5 min
Views28K
Сегодня 256-й день в году, а значит настал профессиональный праздник программистов, разработчиков, девелоперов, кодеров. В общем, всех тех, кто делает современную жизнь современной, технику умной, работу удобной — короче, улучшает этот мир. Мы долго думали, что же такое написать, но в итоге наткнулись на крутые свежие комиксы о жизни разработчиков и решили, что им будет и день, и место. Для тех, у кого, как и у нас «инглиш политех финишд», мы перевели смысл и немного адаптировали к российским реалиям. С праздником, друзья!

Картинка взята тут, подпись наша
Читать дальше →

Еще раз про IP-адреса, маски подсетей и вообще

Reading time7 min
Views1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


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

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →

Тёплые ламповые грабли малого бизнеса на примере отдельно взятого магазина во Владимире

Reading time12 min
Views39K
Возможно, вам будет интересна история малого бизнеса на конкретном примере магазина во Владимире. Потому что это аккурат тот размер, когда процессы, модель и прочее важны менее, чем умение импровизировать в рамках здравого смысла. Как и всё в малом бизнесе. Ну и развеиваются многие иллюзии.



Наша «старая гвардия», владельцы франшиз во Владивостоке, Воронеже, Нижнем Новгороде, Новосибирске — они начинали почти с нуля, когда слово «Мосигра» ещё не было на слуху. Это люди, которые уже имели огромный опыт работы, и твёрдо знали, что и как надо делать с помещением, как реагировать на бесконечные звонки рекламщиков и как считать деньги. У них воровали в магазинах (в том числе сами сотрудники), они ссорились с конкурентами и задавливали их, они теряли деньги на неэффективной рекламе, сами подменяли заболевших аниматоров и продавцов, часто сами разбирались в отчётности и юридических вопросах. И иногда брали джек-пот на праздники.

Владимиру всё это только предстояло.
Читать дальше →

Пора ли увольняться?

Reading time6 min
Views61K
В большей своей массе люди пишут и инструктируют на тему «как найти работу?». А вот как уволиться, и, что важнее, когда увольняться – почти никто ничего не говорит. Оно и понятно, тема весьма деликатная и порой неприятная. Однако попробую сей пробел отчасти восполнить.

И, конечно, все что сказано ниже – есть исключительно личное и предельно субъективное мнение. Поэтому если вы встретите в тексте слова «следует», «должны», то читайте это как «автор бы сделал», а вот что делать вам – решать только вам.

Читать дальше →

Работа с кодировками в Perl

Reading time10 min
Views56K
На хабре уже есть хорошая статья об использовании UTF-8 в Perl — habrahabr.ru/post/53578. Я все же немного по своему
хотел бы рассказать о кодировках.

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

VCL, избавляемся от мерцания, раз и навсегда

Reading time34 min
Views46K

Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов. Мерцание происходит при перерисовке, вследствие того, что сначала отрисовывается фон компонента, и только потом сам компонент.


И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере (однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.


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


Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!


Как мне удалось решить проблему?

Читать дальше →

Как платить программистам меньше

Reading time4 min
Views87K
Для создания программного обеспечения нужны программисты. К сожалению, их труд стоит дорого, они ленивы и их почти невозможно контролировать. Независимо от того, насколько хорошо работают их программы, вы должны платить им каждый месяц, и, конечно, чем меньше вы платите, тем лучше. Однако, иногда сотрудники догадываются, что им недоплачивают и уходят. Как этому помешать? Жаль, что сегодня нет возможности заставлять их работать насильно. Есть несколько техник, которые помогут платить программистам меньше, и я хочу о них рассказать.
Читать дальше →

Открытые сети и коммутаторы без ОС

Reading time4 min
Views16K
Чем сетевой рынок отличается от серверного? На серверном рынке есть выбор. Сервер от глобального бренда, сервер от локального бренда, сервер от производителя платформ, самосборный сервер — на любой вкус и цвет найдется вариант.

Сетевой рынок (мы говорим про enterprise) гораздо более консервативен. Есть пара доминирующих компаний, есть все остальные. У каждого вендора своя ОС, свой набор нежно любимых и лелеемых багов, привычные методы их обхода, своя командная строка (хотя некоторые объединились с единой CLI). Всё свое.

Некоторое время назад появилось мнение, что для ускорения развития рынку не хватает Linux.



Читать дальше →

Если вы хотите следовать своей мечте, скажите «нет» отвлекающим делам

Reading time4 min
Views162K
imageСтатьи, написанные Oliver Emberton, постоянно вызывают повышенный интерес. Сегодня представляем вам перевод самой свежей публикации автора.

Дисклэймер: мы не ставили себе цель дословного или абсолютно точного перевода оригинала. Главное — передать его смысл. Просим помнить об этом при прочтении. Итак, начнем!

Если вы хотите следовать своей мечте, скажите «нет» отвлекающим делам!

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

Оформить правильно

Reading time3 min
Views6.3K
Проблема большинства сегодняшних программ, таких как Excel или Numbers – они дают отвратительный набор типовых графиков, из которых пользователю необходимо выбрать подходящий. Но как можно выбрать подходящий и хороший, если для его получения нужно совершить с десяток непростых телодвижений, с каждым из которых вообще можно разбираться по 5-10 минут…
Поэтому сегодняшняя статья будет посвящена тому, как правильно и понятно нужно оформлять графики в презентациях.

Начнем с начала.
Вот, самый обычный график, который создается за секунду, нажатием 2-х кнопок в Экселе. Да, красота неописуемая, что глаз не оторвать. Но так ли важна эта красота, когда вам нужно дать четкое и понятное представление для всех собравшихся о том, что происходит с бюджетом компании? Кто-то сможет однозначно сказать, что происходит, например, в июне месяце? Компания в убытках? Или, может, наоборот уже все не так уж и плохо? Для ответа на этот вопрос нужно подключить неплохое пространственное воображение и удачу. И тогда кто-то сможет ответить: «В июне бюджет наконец-то превысил наши расходы!».

image
Читать дальше →

Как готовить презентации. Мини-курс для программиста

Reading time5 min
Views18K
imageУ меня, как и у многих других программистов, есть слабость: я очень люблю различные планерки, на которых обсуждаются новые проекты и идеи. Все презентации в моем представлении делятся на 3 вида: муторное чтение цифр успеваемости начальника транспортного цеха, демонстрации системы из рук и презентация идей и решений при помощи построителя презентаций. Если с демонстрацией системы из рук программисты знакомы по сдаче лабораторных в университетах, а монотонно читающие тексты «коты баюны», постепенно вымирают как класс, то с презентациями у нашего брата явный напряг. Менеджеры еще прошли либо просмотрели курсы «молодого построителя презентаций», то молодежь ограничилась книгами типа «Уроки ПоверПоинта за 24 часа» или хуже того, один раз увидели и самотыком изучили сей продукт буржуазной экономики. Поэтому, просмотр их презентаций вызывает приступ тошноты, не говоря уже о том, что их часто перебивают, вызывая на «живое» общение. Ориентироваться в их презентациях невозможно и зачастую бессмысленно. А ведь для того чтобы создавать красивые презентации нужно немного. Попробую составить список «наставлений для программистов», что делать нельзя и что нужно.
Читать дальше →

Рекомендации по созданию презентаций

Reading time4 min
Views8.6K
Часто встречал ситуации, когда люди не понимают целей презентаций. Например, на научной конференции (!) девушка в научный доклад вставляла анимацию для того чтобы «доклад не скучно было смотреть». Для меня это было дико.

Создавая презентации, или рецензируя чужие, я руководствовался собственными впечатлениями. Когда же наткнулся на документацию к LaTeX Beamer, был в восторге: там было не только подробное руководство по собственно латех-бимеру, но и общие рекомендации по созданию слайдов. Читая документацию я буквально радовался каждому абзацу, ловя себя на мысли «Да, да. Точно, правильно.»

И когда возникла необходимость составить рекомендации по созданию презентаций для конференции RuPyRu, я вспомнил про документацию к бимеру. Она и послужила основой для общих рекомендаций. А уже на основе общих рекомендаций я составил упрощенную редакцию, которую и привожу здесь:
Читать дальше →

Как стать богатым айтишником — продолжение от другого автора

Reading time3 min
Views144K
Не скажу, что полностью несогласен с вдохновившей меня статьёй, не буду придираться к трактовке терминов «актив» и «пассив», в конце концов, мы не в бухгалтерии. Черкну лишь несколько строк в подтверждение (а, скорее, и в подкрепление) позиции её автора.

UPD: Как стать успешным айтишником



Надеюсь, никто не будет несогласен с мыслью, что ради светлого будущего придется совершенно безвозвратно проститься с десятью и более годами беззаботной жизни, которые уйдут на шлифовку опыта, зарабатывания тех же самых активов. Не соглашусь только с одной вещью, требующей расширительного толкования:
Читать дальше →

Теряем посетителей — много и каждый день

Reading time2 min
Views17K

По какой-то причине огромное количество проектов с радостью теряет самых хлебных посетителей — белых воротничков в рабочее время.

Большинство работодателей закрывают все социальные сети скопом, начиная, естественно, с контакта. Несмотря на это — у крупных и очень крупных проектов в начале страницы( уже не очень хорошо) можно встретить простую строчку:
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?3"></script>

или
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>

В итоге пользователи с закрытым контактом не могут открыть сайт, перейти по ссылке и в конце концов — принести проекту прибыль.

Примеры c посещаемостью больше 50к в день:
vesti.ru
kp.ru
smotri.ru
oktogo.ru
lifehacker.ru
povarenok.ru

Будьте аккуратны, используйте асинхронный код, доступный для всех соц. сетей, в крайнем случае — его можно смастерить самому.

2 апдэйта под катом

Чеклист при подготовке презентации

Reading time3 min
Views7.2K
В последнее время я наблюдал несколько десятков презентаций, которые начинались вот так:

— Мы делаем систему управления электронным обучением…

— Мы провели исследование поведения посетителей на нашем сайте…

— Наша компания была основана более ста лет назад…

Это просто удивительно как люди любят так поступать. Они с первых секунд садятся на уши аудитории рассказом про себя:

— Мы предлагаем SAAS-решение…

— Наши технологии…

И мое любимое:

— Начну рассказ с того, кто мы такие…

Почему все так уверены, что именно это в первую очередь интересует слушателей? Единственное что выступающий гарантированно получит в таком выступлении — это претензии к себе лично и своей компании.

Я видел как один из директоров Microsoft схлопотал громкое улюлюканье, а представитель Ростелекома — едкий троллинг из зала только потому, что выступили по этому шаблону.

Почему каждый раз это происходит?

Читать дальше →

Спать мало, но правильно?

Reading time7 min
Views904K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Организованный хаос — траектория пути Roomba

Reading time1 min
Views4.7K
Блоггер Signal Theorist сфотографировал робот-пылесос Roomba за работой.
Фото с длинной выдержкой демонстрирует путь, по которому робот наводил порядок в комнате.

image
Фотография сделана при выключенном свете, с выдержкой 30 минут.

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

P.S. Интересно, что там за спираль?

via doobybrain.com

Почитать о роботе на wikipedia

YouTube EDU — обучающие видеоматериалы из колледжей и университетов

Reading time1 min
Views3.6K


26 марта 2009 года на youtube открыли раздел YouTube EDU, в котором собраны лучшие обучающие видеоматериалы (в основном — лекции и обучающие материалы из колледжей и университетов).

Среди лидеров просмотров: MIT, Stanford University, индийские универститеты.

Представлены целые курсы в виде плей-листов: курс линейной алгебры, введение в биологию, принципы цифровых коммуникаций и многие другие.

Информации становится более чем достаточно, чтобы изучать всё что угодно. Остаётся только вопрос мотивации.

Upd. Еще один подобный ресурс — academicearth.org (Женя Теплов, спасибо!)
Upd2. University of Washington, Engineering & Computer Science (YasonBy, спасибо!)

Information

Rating
8,924-th
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Site Reliability Engineer
Senior
SRE
Monitoring
GitLab
Golang
PostgreSQL
Redis