Как стать автором
Поиск
Написать публикацию
Обновить
0
@Monocerosread⁠-⁠only

Пользователь

Отправить сообщение

Конец эры глобального CSS

Время на прочтение6 мин
Количество просмотров62K
Все CSS-селекторы живут в глобальной области видимости.

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

Абсолютно каждый селектор потенциально может вступить в борьбу с другим селектором или стилизовать «посторонний» элемент. В этой «глобальной» борьбе селектор может даже полностью проиграть, в итоге не применив к странице ни одного из своих правил.

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

Так не должно быть. Пора оставить позади эру глобальных стилей. Наступило время закрытого CSS.
Читать дальше →

Иван Григоров: «Для топовых багхантеров $25К в месяц — не проблема»

Время на прочтение9 мин
Количество просмотров91K


Программы поиска уязвимостей всегда привлекают немало внимания со стороны хакеров и специалистов по безопасности. Ведь это легальный способ неплохо зарабатывать одними только поисками багов (при условии, что есть хороший опыт и голова на плечах). На днях нам представилась возможность взять интервью у багхантера Ивана reactors08 Григорова. Он лидер нашей программы Bug Bounty и занимает 11-е место в общем рейтинге платформы HackerOne.

Как начать искать баги? Может ли это быть единственным источником дохода? В каких Bug Bounty участвовать? Сколько зарабатывают багхантеры? И почему поиском уязвимостей особенно выгодно заниматься в кризис? Ответы на эти и другие вопросы читайте в нашем интервью.
Читать дальше →

Книга «Hello World! Занимательное программирование»

Время на прочтение4 мин
Количество просмотров39K
Привет! Наша первая книга для детей «Первая книга юного программиста. Учимся писать программы на Scratch» имела успех у читателей и мы решили издать замечательную книгу Уоррена Сэнда и Картера Сэнда. Данный пост адресован детям и их родителям.

image Любишь компьютерные игрушки? А хочешь попробовать написать что-нибудь сам? Представь, как зауважают тебя друзья, когда ты покажешь им игру своей собственной разработки, где при загрузке на экране появится твое имя! «Вот круто!» — будут говорить они, качая ее с твоей странички. И самая красивая девочка в классе, узнав об этом, наконец, обратит на тебя внимание…
Но для этого надо научиться программировать. Это сложно? Ну, на самом деле не очень.
Главное — поставить себе цель и ломиться к ней напролом, как носорог через джунгли. Ты наверняка знаешь, что языков программирования существует немало, но мы предлагаем тебе научиться «писать код», как говорят профессионалы, на языке Python (Питон). Он относительно прост в изучении, но обладает всеми необходимыми функциями. Программы на нем получаются быстрыми и легко читаемыми.
Эту книгу по языку Python написали два человека. Взрослый дядька-программист и его сын. Этот сын тоже совсем недавно был подростком, знает, как порой муторно бывает учиться, и поэтому он проследил, чтобы папа объяснялся не очень заумно. Так что если ты никогда не программировал, не беда. Если ты знаком с азами — e-mail, Интернет, mp3, можешь запустить или сохранить файл — ты во всем разберешься. Удачи в освоении!

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

Инструменты для A/B-тестирования iOS-приложений

Время на прочтение6 мин
Количество просмотров16K

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

SSI сайт: HTML, XML, XSLT

Время на прочтение18 мин
Количество просмотров14K
image
Достопочтенное Ретро! Благо ты или зло?
Вздохом какого ветра к нам тебя занесло?
© Роберт Рождественский

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

Подборка: Более 70 источников по машинному обучению для начинающих

Время на прочтение5 мин
Количество просмотров103K


Индикатор кулачкового аналогового компьютера / Wiki

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

Как устроены пакеты для проверки качества случайных последовательностей?

Время на прочтение6 мин
Количество просмотров11K
Вопрос получения случайных и псевдослучайных последовательностей всегда вызывает оживленный интерес[1][2][3][и т.д.]. Часто [1],[2][и т.д.] упоминаются и пакеты статистических тестов, такие как NIST, DieHard, TestU01.

В комментариях к статьям на Хабрахабр встречаются вопросы о том, как данные пакеты получают итоговые цифры. В целом тут нет ничего сложного – это просто статистика. Если читателю интересна магия получения данных цифр, то прошу под кат, там много буков и формул.
Читать дальше →

Руководство по HTML/CSS/JavaScript

Время на прочтение13 мин
Количество просмотров215K

Frontend Guidelines

Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

От переводчика

Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
Читать дальше →

Подборка полезных утилит SCSS

Время на прочтение5 мин
Количество просмотров18K
Для успешной реализации проекта разработчикам фронтенда не обойтись без проверенного арсенала расширения SCSS. Ниже представлены утилиты, которые могут пригодиться в работе.

Triangle


Примесь triangle (которую дизайнеры Sagi предпочитают называть «chupchick»), добавляет к всплывающей подсказке треугольник. И tooltips становится похожим на диалоговое окно. Но triangle также может использоваться в качестве автономного элемента.

/* 
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
@mixin triangle($direction, $size: 6px, $color: #222){
  content: '';
  display: block;
  position: absolute;
  height: 0; width: 0;
  @if ($direction == 'up'){
    border-bottom: $size solid $color;
    border-left: 1/2*$size solid transparent;
    border-right: 1/2*$size solid transparent;
  }
  @else if ($direction == 'down'){
    border-top: $size solid $color;
    border-left: 1/2*$size solid transparent;
    border-right: 1/2*$size solid transparent;
  }
  @else if ($direction == 'left'){
    border-top: 1/2*$size solid transparent;
    border-bottom: 1/2*$size solid transparent;
    border-right: $size solid $color;
  }
  @else if ($direction == 'right'){
    border-top: 1/2*$size solid transparent;
    border-bottom: 1/2*$size solid transparent;
    border-left: $size solid $color;
  }
}


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

Unified test runner и анализ тестовых данных

Время на прочтение2 мин
Количество просмотров5K
Ян Другаль уже 2 года создает инструменты разработки в Unity. За последнее время его команда значительно выросла, а вместе с этим и наборы тестов, количество неустойчивых, медленных тестов и невоспроизводимых ошибок. Мы публикуем перевод статьи о том, как Ян и его команда решают эти проблемы.


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

Создание архитектуры программы или как проектировать табуретку

Время на прочтение25 мин
Количество просмотров711K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

Немного об архитектурах программного обеспечения

Время на прочтение7 мин
Количество просмотров65K


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

Мультифункциональное приложение — все ли функции нужны вашей программе?

Время на прочтение4 мин
Количество просмотров10K
image

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

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

Анализ текущей ситуации на российском BIM-рынке в области гражданского строительства

Время на прочтение31 мин
Количество просмотров60K
UPG от автора: данная статья была написана 2 года назад (а это очень много для ИТ-отрасли), но по-прежнему является одной из самых читаемых. 16.11.2018 года я прочитал вебинар для Университета Минстроя (https://niisf.org/), в котором дал обновленную информацию. Наверное, я обновлю эту статью в соответствии с последними изменениями рынка и теории BIM, но сейчас желающие могут посмотреть материал на YouTube-канале организаторов вебинара: www.youtube.com/watch?v=lKVkE1reOVY

В последнее время разговоров о BIM много: эту технологию называют нашим будущим, проводятся семинары, на которых аргументируют необходимость ее внедрения, приводят расчеты, показывают красивые иллюстрации, демонстрируют успехи… Со скоростью роста сугробов в снегопад появляются BIM-эксперты, «евангелисты», менеджеры, преподаватели. В общем, технология явно активно входит в нашу жизнь.


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

Нагрузочное тестирование из облака

Время на прочтение5 мин
Количество просмотров10K
Любой мало-мальски серьёзный веб-проект, будь то портал, сервис, интернет-магазин или что-то еще, нуждается в нагрузочном тестировании, поскольку именно оно позволяет выявить потенциальные “слабые места” и ошибки в коде, а также дает возможность оценить способно ли решение совместно с платформой выдержать планируемый размер аудитории проекта. Вы ведь планируете запуск и он должен быть успешен, верно?



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

Навыки гейм-дизайнера

Время на прочтение8 мин
Количество просмотров40K
Hola chicos!

Сегодня я расскажу свое мнение относительно обретения навыков дизайнерами — что поможет вам стать лучше, а что лучше обойти стороной. Данное мнение является сугубо субъективным и сформировано на личном опыте.

Обрел же я его, проработав 5 лет в московском филиале компании Glu Mobile (4.5 лет из них — дизайнером) и 7 месяцев в компании Social Point, где и продолжаю работать на данный момент. Также я общался со многими людьми, которые работали в таких компаниях, как Game Insight, Crazy Panda, Game Garden и другие.

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

Одно из самых главных умений для начинающего дизайнера — фильтровать информацию, которую человек получает из различных источников: будь то коллеги, статьи в интернете или книги. Даже если материал является достойным, относиться к нему стоит с долей скептицизма, пытаться анализировать и спрашивать “почему?” каждую минуту.

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

Онлайн-курс «Введение в теоретическую информатику» от Александра Ханьевича Шеня

Время на прочтение1 мин
Количество просмотров16K
Категорически приглашаем всех желающих на онлайн-курс «Введение в теоретическую информатику» Александра Ханьевича Шеня, подготовленный совместно с Computer Science центром и платформой Stepic. Курс начнётся 24 февраля.



Александр Ханьевич — автор многих популярных книг по математике и программированию. Многие его книги и брошюры можно бесплатно скачать с сайта издательства МЦНМО: например, «Программирование: теоремы и задачи» (Шень, 2004), «Лекции по математической логике и теории алгоритмов» (Верещагин, Шень, 2012), «Классические и квантовые вычисления» (Китаев, Шень, Вялый, 1999). Под его редакцией вышел перевод первого издания классического учебника «Алгоритмы: построение и анализ» (Кормен, Лейзерсон, Ривеста, 1990), а также недавнего учебника «Алгоритмы» (Дасгупта, Пападимитриу, Вазирани, 2006).

В общем, у Александра Ханьевича огромный опыт чтения лекций как школьникам, так и студентам и аспирантам. Рассказывает он очень увлекательно и понятно. В онлайн-курсе он даст обзор различных направлений Theoretical Computer Science: криптография, инварианты циклов, вычислимость, переборные задачи, игры, коды, интерактивные доказательства и многое другое (всего в курсе восемнадцать глав!). В курсе будет много задач — как простых (закрепляющих изученный материал), так и более сложных, над которыми придётся поломать голову и тем, кто уже был знаком с теорией.

Будем рады видеть вас среди слушателей онлайн-курса!
stepic.org/104
Читать дальше →
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность