Как стать автором
Обновить
1
0

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

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

Соревнования Capture The Flag (CTF) и все, что вы о них еще не знали

Уровень сложностиПростой
Время на прочтение27 мин
Количество просмотров6.3K

Привет! Меня зовут Анна Шабалина, и я работаю в Swordfish Security. Этой статьей я открываю нашу новую рубрику #досугбезопасника.

Мы частенько организовываем, наблюдаем или обсуждаем CTF, и каждый раз находим для себя что‑то новое, интересное, полезное. Решили собрать в одной статье опыт крутейших экспертов, участников и организаторов CTF. Наверняка будет полезно не только начинающим свой путь в практической безопасности, но и «бойцам» со стажем.

Статья длинная, заготовьте чашечку кофе.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Что будет дальше

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


В пять лет я сидел у бабушки дома на уютном ковре, и никак не мог понять, почему герой диснеевского мультика посмотрел вниз, когда бежал над пропастью — ведь до тех пор, пока он не посмотрел, ему удавалось бежать по воздуху! А стоило опустить глаза вниз, и мультяшная физика мгновенно реагирует — всё, реальность, в которой можно бежать по воздуху кончилась, началась реальность, где герой зависает на пару мгновений, и стремительно летит вниз.

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

Когда живёшь в Иванове, ты не чуствуешь пульс индустрии, страны и мира так, как должен чувствовать. Город, в котором я родился, вырос, построил жизнь и карьеру, их которого я учил всех жить, хоть и находится довольно близко к дефолтному — всё ещё редкое захолустье. Размеренный, спокойный, отдаленный. В городе Иваново легко делать вид, что ты не бежишь ни над какой пропастью, легко не смотреть вниз. Даже если ты известный человек, с огромным количеством друзей и знакомых по всему миру, даже если ты ведешь один из самых популярных индустриальных подкастов, и даже если вся твоя работа подразумевает глубочайшее погружение во всё значимое, что происходит в мире, в регионе, и в твоей индустрии.

Я читал все новости, я до последнего рокового утра был уверен, что ничего страшного не будет, а когда оно настало, не верил, что оно продлится долго, хотя и пропускал через себя абсолютно всё. Всё, все сводки, все фотографии, все новости, все прогнозы и мнения.

Читать далее
Всего голосов 383: ↑235 и ↓148+87
Комментарии859

Отзывчивые изображения на практике (Часть 2)

Время на прочтение4 мин
Количество просмотров13K
Часть 3

В первой части автор упомянул проблемы, связанные с созданием и размещением отзывчивых изображений, а также привел пример, в котором использовано свойство srcset, позволяющее помочь браузеру подобрать оптимальный источник, что значительно повышает скорость сайта. Однако при таком подходе существует одна проблема: для подбора подходящего исходника необходимо знать размер макета изображения. А мы не можем попросить браузер отложить выбор, пока не загрузятся и не интерпретируются HTML, CSS и JavaScript страницы. Поэтому нам нужно дать браузеру возможность оценить ширину отображения картинки с помощью еще одного нового атрибута: sizes.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии0

Отзывчивые изображения на практике (Часть 1)

Время на прочтение5 мин
Количество просмотров24K
Часть 2
Часть 3

Шестьдесят два процента данных в сети составляют изображения, и мы каждый день создаем все больше байтов изображений. Это было бы потрясающе, если бы все они использовались по назначению. Но на маленьких экранах или на экранах с низким разрешением большая часть этих данных превращается в хлам.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии0

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №135 (17 — 23 ноября 2014)

Время на прочтение6 мин
Количество просмотров46K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии3

Docker в браузере, или как создать и «расшарить» среду разработки

Время на прочтение7 мин
Количество просмотров26K
Docker нынче не использует только ленивый. Вокруг этой технологии заварилась очень интересная каша, не в последнюю очередь благодаря технологиям и продуктам, интегрировавшим Docker, который стал частью их инфраструктуры. Раннеры на Docker-е — это уже чуть ли не “must” для облачных IDE. Что уж говорить, если Google однозначно признали преимущества запуска приложений в контейнерах, а не на “чистом железе”. Впрочем, это тема другой дискуссии.

Создание среды разработки в браузере

Итак, Docker, скорее всего, изменит лицо технологического мира. Вернее, он уже его меняет. Все мало-мальски активные компании уже выложили свои докер образы, в которых запускаются их продукты. Ни тебе настройки среды, ни установки переменных окружения… Скачал образ, примонтировал локальные ресурсы, если нужно (“сорцы” проекта, локальный репозиторий и так далее), и горя не знаешь.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии17

Node.js в огне

Время на прочтение6 мин
Количество просмотров51K
Мы создаем новое поколение веб-приложения Netflix.com, использующего node.js. Вы можете узнать больше о нашем походе из презентации, которую мы представили на NodeConf.eu несколько месяцев назад. Сегодня я хочу поделиться накопленным опытом в настройке производительности нового стека нашего приложения.

Мы впервые столкнулись с проблемами, когда заметили, что задержка запроса в нашем node.js приложении со временем увеличивается. К тому же оно использовало больше ресурсов процессора, чем мы ожидали, и это коррелировало с временем задержки. Нам приходилось использовать перезагрузку как временное решение, пока мы искали причину с помощью новых инструментов и техник аналитики производительности в нашей Linux EC2 среде.

Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии64

Незакрываемая вкладка в Chrome

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

Простой трюк позволяет создать страницу, которую нельзя будет закрыть в Google Chrome.

Пруф: zhovner.com/tmp/chrome-trap.html

Зловредный код выглядит крайне просто:

     onbeforeunload=function(){
         location.reload();
            return "ВАШ КОМПЬЮТЕР ЗАБЛОКИРОВАН ...";
      };
      onload=function(){
         location.reload();
      }


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

хттп://stop.podzone.org/stop_ip.php?gorod=Moscow&ip=127.0.0.1&sid=1&br=1

image
Всего голосов 120: ↑93 и ↓27+66
Комментарии237

Web-разработка на Python глазами PHP-программиста

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

Введение



В статье хотелось бы поднять вопросы отличия использования Python для web-разработки по сравнению с оной на PHP. Надеюсь, статья не приведет к холиварам, так как она вовсе не о том, какой язык лучше или хуже, а исключительно о технических особенностях Python.
Читать дальше →
Всего голосов 77: ↑62 и ↓15+47
Комментарии95

Как мы делаем командные и ситуационные центры для крупных компаний

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

Индивидуальный командный центр капсульного типа: анатомическое кресло, панорамный монитор, панель управления, видео- и аудиосвязь, специальное ПО.


Центр принятия решений ОАО «Мосводоканал»

Комцентры или, как их правильно называют, ситуационные центры — это хорошо знакомая вам по фантастическим фильмам комната. Там обычно большая красивая видеостена, на которой можно наблюдать как коммунисты захватывают мир — или как поезда стремятся столкнуться друг с другом. На практике, конечно, использование СЦ намного прозаичнее, но случаются и кадры как в фильмах.
Читать дальше →
Всего голосов 47: ↑40 и ↓7+33
Комментарии35

Реактивное программирование на Swift

Время на прочтение1 мин
Количество просмотров16K
В конце октября в Москве прошла наша первая конференция мобильных разработчиков #MBLTDev. 17 докладчиков из Англии, Германии, Голландии, Дании, России и США пришло послушать более 300 человек.

Мы будем постепенно выкладывать записи докладов с презентациями и начнем с доклада канадского блоггера Эша Фюрроу «Реактивное программирование на Swift». Помимо ведения блога, Эш является iOS-разработчиком онлайн галереи Artsy и автором нескольких книг про iOS-разработку.


Презентация

В своем докладе Эш познакомил аудиторию с основами фреймворка ReactiveCocoa, проиллюстрировав их примерами на Swift. Также, он рассказал о приложении, над которым он в данное время работает в Artsy с использованием этих инструментов. Приложение, что примечательно, с открытым исходным кодом и доступно на GitHub.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

Превращаем html в нативные компоненты

Время на прочтение7 мин
Количество просмотров19K
Доброго дня! Мы, мобильные разработчики компании surfingbird, решили попробовать написать небольшой цикл статей о том с какими трудностями мы сталкиваемся в процессе разработки мобильных приложений (android, ios), и как мы их решаем. Первый пост мы решили посвятить проблеме webview. Сразу оговорюсь, что решили мы эту проблему несколько кардинально… Для того чтобы было более понятно, придется рассказать пару слов о собственно том, чем мы занимаемся. Мы агрегируем контент из различных источников (парсим оригинальные статьи), выделяем значимую часть (контент) и на основе оценок пользователя и всяких сложных алгоритмов рекомендуем их конечному пользователю ну и конечно просто отображаем в более удобном виде.

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

Но при использовании webview для отображения контента мы столкнулись с рядом сложностей. Этот компонент тяжело поддается кастомизации и довольно тяжел и даже, я бы сказал, глючен. Настал день, когда мы поняли, что не хотим больше видеть webview вообще. Но избавиться от него, учитывая то, что контент у нас отдается в html — оказалось не так-то просто. Поэтому мы решили превратить html в нативные компоненты.

image
Как избавиться от webview
Всего голосов 26: ↑22 и ↓4+18
Комментарии11

Должны ли все изучать программирование?

Время на прочтение7 мин
Количество просмотров49K
Предлагаю вашему вниманию перевод статьи «Should Everybody Learn to Code?», которая показалась мне интересной.

imageЧтобы проверить, смогут ли профессиональные графические дизайнеры написать простейшую компьютерную программу, Брайан Дорн, в то время студент магистратуры в Технологическом институте Джорджии (Georgia Tech), попросил их прочесть и изменить фрагмент программного кода. Дорн хотел понять, смогут ли они сами разобраться – как автоматизировать работу в Adobe Photoshop. Дизайнеры стали искать информацию в Интернете и, к сожалению, во многих случаях вводили неверные поисковые запросы: например, пытались разобраться с Java, когда на самом деле им был нужен JavaScript для этого конкретного проекта.

Это могло быть связано с «отсутствием общего базового понимания компьютерных и программных структур», писал Дорн в журнале Communications в мае 2011 года.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии54

Выразительный JavaScript: Document Object Model (объектная модель документа)

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

Содержание




Когда вы открываете веб-страницу в браузере, он получает исходный текст HTML и разбирает (парсит) его примерно так, как наш парсер из главы 11 разбирал программу. Браузер строит модель структуры документа и использует её, чтобы нарисовать страницу на экране.

Это представление документа и есть одна из игрушек, доступных в песочнице JavaScript. Вы можете читать её и изменять. Она изменяется в реальном времени – как только вы её подправляете, страница на экране обновляется, отражая изменения.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Решение проблем с RTZ2 после Microsoft Update KB2998527

Время на прочтение3 мин
Количество просмотров21K
После выпуска упомянутого выше обновления многие разработчики столкнулись с проблемами. На текущий момент в Chrome проблему хоть как-то попытались исправить, а в IE10 (Document mode=«Standarts») все работает хорошо, но в более старых браузерах и режимах совместимости IE вся работа с датами развалилась.

Так сложилось, что из-за технических ограничений я вынужден поддерживать работу разрабатываемых мной приложений в IE8-9-10 и Chrome. Кроме того, для работы с датами использую библиотеку momentjs.

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

И вот настало время решить эту проблему самостоятельно.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии15

Размышления о стандартной библиотеке JavaScript. Core.js

Время на прочтение64 мин
Количество просмотров103K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии40

Google будет помечать мобильные сайты в результатах поиска

Время на прочтение2 мин
Количество просмотров61K
Уровень подготовки веб-мастера: любой

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

Чтобы предупредить возможные неудобства пользователей мобильных устройств при просмотре сайтов, мы станем помечать в результатах нашего поиска страницы, оптимизированные для смартфонов и планшетов.
Отметка “Для мобильных” в результатах поиска
Отметка «Для мобильных» в результатах поиска
Для мобильных
Всего голосов 32: ↑27 и ↓5+22
Комментарии32

7 ключевых трендов веб-дизайна на 2015 год

Время на прочтение5 мин
Количество просмотров89K
Оглядываясь на 2014, можно отметить некоторые впечатляющие тенденции, появившиеся в веб-дизайне: платформы для проектирования «без кода», параллакс, одностраничные веб-сайты и многое другое.

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

Чтобы узнать, какие тенденции будут процветать в течение следующего года, я обратился к членам проектной команды Webydo, разработчикам веб-дизайн платформы, чтобы они рассказали, какими будут по их мнению топ 7 главных трендов в веб-дизайне на 2015 год.
Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии38

Учить Swift теперь стало проще

Время на прочтение1 мин
Количество просмотров27K
После того, как Apple представила абсолютно новый язык программирования Swift, он не перестает быть предметом активного обсуждения на форумах разработчиков и в курилках dev-конференций. Учить язык можно уже сейчас — Apple соорудила подробный мануал по своему детищу. Правда, только на английском.

Недавно к нам обратился клиент, который хотел исправить этот недостаток и перевести документацию по Swift на русский язык. Благо переводчикам в Alconost не привыкать к задачам по техническому переводу с обилием IT-шной терминологии. Результат порадовал и нас, и клиента: первые главы уже ждут читателей по этой ссылке, вэлкам!

Мы надеемся, что наши усилия по переводу будут востребованы разработчиками. Да и хаб по Swift не зря на Хабре появился. И все же интересно узнать ваше мнение:
Всего голосов 41: ↑31 и ↓10+21
Комментарии18

Как дряхлеют большие конторы

Время на прочтение3 мин
Количество просмотров45K
Небольшое наблюдение на тему как растут, развивается, взрослеют, дряхлеют и умирают компании. С вопросами (как отсрочить дряхлость?) и советами (молодым манагерам).

Рождение

Удачная идея, стартовый капитал, сплоченная команда – вот и родился стартап. Тот самый из 5%, которые мы назовём «удачными». Продукт/сервис действительно нужен рынку. Команда мотивирована успехом, признанием, и деньгами. Очень мало внутренних процессов и иерархии. Все друг друга знают и помогают. Каждый находит себе занятие по вкусу: кто-то инженерит, кто-то больше отдается планированию, кто-то больше общается с клиентами, но все чувствуют себе большой семьёй равных между собой.

Размер конторы – до сотни человек
Читать дальше →
Всего голосов 44: ↑27 и ↓17+10
Комментарии28
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность