Pull to refresh
4
0

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

Send message

84% сайтов на WordPress могут быть взломаны: что дальше?

Reading time2 min
Views46K
image

Если вы часто читаете IT-новости, то наверняка уже устали от страшилок об очередной уязвимости, которая нашлась в популярной OS / СУБД / CMS / кофеварке. Поэтому данный пост посвящен не самой уязвимости, а наблюдению за тем, как люди регируют на неё.

Однако сначала — несколько слов о «виновнице торжества». Критическая уязвимость популярном блоговом движке WordPress была найдена в сентябре финскими специалистами из компании с весёлым названием Klikki Oy. Используя эту дыру, хакер может вести в качестве комментария к блогу специальный код, который будет выполнен в браузере администратора сайта при чтении комментариев. Атака позволяет скрытно перехватить управление сайтом и делать разные неприятные вещи под админским доступом.
Читать дальше →

Postgres. Выборка N случайных записей

Reading time6 min
Views38K
При работе над одним проектом возникла необходимость написать некое подобие тестовой системы. Задача формулировалась примерно так:

  • из N записей в базе необходимо выбрать m (3-5) случайных строк в серии из k выборок (преимущественно k=2).

А теперь то же самое человеческим языком: из таблицы нужно два раза выбрать по 3-5 случайных записей. При этом не должно быть дубликатов и выборка должна происходить случайным образом.

Первое, что приходит в голову:

 SELECT *
  FROM data_set
  WHERE id NOT IN (1,2,3,4, 5)
  ORDER BY random()
  LIMIT 5;

И это даже будет работать. Вот только цена такого решения…
Читать дальше →

ASP.NET MVC. Урок 0. Вступление

Reading time2 min
Views784K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


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

Семь принципов создания современных веб-приложений

Reading time19 min
Views189K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

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

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →

Инъекция React JS в приложение на Angular JS или борьба за производительность

Reading time7 min
Views18K
Дорогие Хабролюбители, всем привет! Не откроем Америку если скажем, что существуют сотни плагинов и библиотек, которые облегчают специализированные задачи, связанные с построением современных web интерфейсов. Angular один из них, про его производительность писалось много и в большинстве случаев даются рекомендации чего не нужно делать, чтобы все было хорошо.

Основной аргумент сторонников — медленно работают неправильные приложения, а вот правильные не должны содержать более 2000-3000 элементов. Если содержит больше значит что-то не так. См. например http://iantonov.me/page/angularjs-osnovy.

Аргумент в общем вполне здравый, но всегда есть ситуации, когда нужно написать «неправильное» web приложение потому, что такие требования. В этой статье мы решили рассказать как раз про такую задачу, и как мы ее решили. На наш взгляд статья будет полезна в большей степени профессиональным веб разработчикам. Итак, наша задача была сделать календарь для системы бронирования для одного спортивного клуба. Календарь отображает семь 12–часовых блоков, каждый день из которых разделен на 15 минутные интервалы. В блоке может быть от 2-х до 10 DOM элементов. Вроде ничего не предвещало беды, верхняя граница ~3000.
Читать дальше →

Бесплатный курс по AngularJS от Codeschool

Reading time1 min
Views47K


Всем привет!

Пару дней назад мне на почту пришло письмо от Codeschool.com, в котором очень красочно (как можно заметить из картинки в шапке поста) представлялся новый курс по AngularJS. Т.к. платной подписки у меня сейчас нет, я решил отложить просмотр до лучших времён, а сегодня случайно узнал, что курс оказывается «Sponsored by Google», а соответственно бесплатный. Закончив работу над первым уровнем, я поспешил проверить наличие заметки об этом чудном событии на Хабре, но с удивлением обнаружил, что никто до сих пор не поделился этой новостью. Значит придётся взять всё в свои руки.
Читать дальше →

Ученым удалось снизить скорость света до 20 км/ч

Reading time1 min
Views45K


Как известно, ничто не может двигаться быстрее, чем свет. Во всяком случае, так считает современная наука. Но, оказывается, сам свет можно замедлить, снизив скорость света до неприлично малой величины в 20 километров в час.

Это звучит необычно, но это правда. Причем снижение скорости света — не теория, ученым удалось сделать это практически. Специалисты из Гарвардского университета смогли замедлить скорость света до 20 км/ч при помощи сверхохлажденной среды, известной как конденсат Бозе-Эйнштейна.

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

Quotient filter

Reading time5 min
Views16K
Quotient filter — это вероятностная структура данных, позволяющая проверить принадлежность элемента множеству. Она описана в 2011 г. как замена фильтру Блума. Ответ может быть:
— элемент точно не принадлежит множеству;
— элемент возможно принадлежит множеству.

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

Шпаргалка по Redis

Reading time8 min
Views410K
Про Redis (официальный сайт, материалы на Хабре) написано много, но мне до сего дня не хватало материала, который послужил бы шпаргалкой по его практическому использованию, а так же справочником по базовым теоретическим моментам. Постараюсь заполнить этот пробел в богатой базе знаний Хабра.

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

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

Ключи


Redis — хранилище данных в формате «ключ-значение». Факты о ключах:
  • Ключи в Redis — бинарно-безопасные (binary safe) строки.
  • Слишком длинные ключи — плохая идея, не только из-за занимаемой памяти, но так же и в связи с увеличением времени поиска определенного ключа в множестве в связи с дорогостоящим сравнением.
  • Хорошая идея — придерживаться схемы при построении ключей: «object-type:id:field».


Типы данных Redis


  • Строки (strings). Базовый тип данных Redis. Строки в Redis бинарно-безопасны, могут использоваться так же как числа, ограничены размером 512 Мб.
  • Списки (lists). Классические списки строк, упорядоченные в порядке вставки, которая возможна как со стороны головы, так и со стороны хвоста списка. Максимальное количество элементов — 232 — 1.
  • Множества (sets). Множества строк в математическом понимании: не упорядочены, поддерживают операции вставки, проверки вхождения элемента, пересечения и разницы множеств. Максимальное количество элементов — 232 — 1.
  • Хеш-таблицы (hashes). Классические хеш-таблицы или ассоциативные массивы. Максимальное количество пар «ключ-значение» — 232 — 1.
  • Упорядоченные множества (sorted sets). Упорядоченное множество отличается от обычного тем, что его элементы упорядочены по особому параметру «score».

Про типы данных Redis есть отдельная хорошая статья: «Структуры данных, используемые в Redis».
Читать дальше →

5 популярных JavaScript-хаков

Reading time4 min
Views67K
Существует несколько JavaScript-хаков, которыми постоянно пользуются опытные программисты. Они не совсем очевидны, особенно для новичков. Эти хаки используют возможности языка, имеющие некоторые побочные эффекты. В этой статье я объясню, как работают 5 таких распространённых хаков.
Читать дальше →

Эй, НАСА, а черные дыры таки существуют!

Reading time7 min
Views188K
«Моя цель проста: полностью разобраться в устройстве Вселенной и понять, почему она такая и зачем она существует».
Стивен Хокинг

От переводчика. А ты, хабражитель, заметил, что тема космоса становится всё популярнее? Curiosity покоряет Марс, Virgin Galactic продает билеты на суборбитальные космические полеты, а Китай стал третьей страной, добравшейся до Луны. На самом деле, еще большие изменения происходят в космической теории. В этой статье с Medium речь пойдет о том, как изменилось представление ученых о черных дырах за последние пару лет. Я не физик, поэтому в переводе не исключены ляпы — пишите в личку или подробно (чтобы всем было понятно и интересно) в комментариях. Заранее большое спасибо и приятного чтения!
(Претензии на тему jpeg/png отправлять автору статьи.)

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

Большой Адронный Коллайдер своими глазами

Reading time4 min
Views148K
Большинство, конечно, знают о существовании Большого Адронного Коллайдера и видели его фотографии, но вот вероятность посмотреть на него своими глазами для обыкновенного человека, я думаю, меньше, чем вероятность появления бозона Хиггса на этом самом коллайдере. Поэтому, когда летом на элементах.ру появилась маленькая заметка о том, что CERN (Центр Европейских Ядерных Исследований) в конце сентября проводит день открытых дверей, у меня не было сомнений — надо ехать.
Читать дальше →

Сравнительная схема кораблей из научной фантастики

Reading time2 min
Views316K


DirkLoechel наконец-то закончил работу над самой большой в истории сравнительной схемой космических кораблей из научно-фантастических произведений: художественных фильмов, сериалов и игр. Star Trek, «Звёздные войны», EVE Online и многие другие (полный список под катом). Все культовые корабли — они тут. Открывайте оригинал изображения 4268 x 5690 пикселов — и погружайтесь.
Читать дальше →

Красота космоса или как я научно-популярную лекцию читал

Reading time6 min
Views70K


28 августа в уфимском антикафе «GoodZone» прошла научно-популярная лекция «Красота космоса». И я хочу представить вашему вниманию адаптацию лекции в Хабрапубликацию, а также небольшой рассказ о технических аспектах и софте, который использовался при подготовке и показе.
Читать дальше →

Gravity: реальный фотосет от NASA, в стиле одноименного фильма

Reading time1 min
Views122K


Думаю, многие представители хабрасообщества видели фильм «Gravity». Спецэффекты, использованные в нем, заслуживают уважения, равно, как игра актеров — все же не подвели тех, кто вкладывал в фильм деньги.

Так вот, NASA, Центр управления полетами имени Годдарда, выложили сет реальных фотографий в стиле «Гравитации». Никакой компьютерной графики и никаких спецэффектов — реальность превосходит все ожидания. Фотографии, использованные в сете, выбраны из многолетнего архива NASA.

Скорее бы космический туризм развивался, и цена на билеты на орбиту становилась бы не такой заоблачной — кому бы не хотелось все это увидеть своими глазами, правда?

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

Разбираем антипиратский закон по косточкам

Reading time12 min
Views115K
1 августа вступил в действие закон, который лично я называю законом «Об интернете» (хотя, пожалуй, теперь его стоит называть законом «О борьбе с пиратством»). Хотел бы сразу признать свою ошибку, допущенную в прошлой моей статье. Тогда в самой статье я уверял читателей, что наиболее одиозные пункты закона скорее всего будут из него выкинуты, а в комментариях предпологал, что наладившийся контакт законодателей и IT сообщества позволит создать удовлетворяющий все стороны проект. Но я не учел влияния третьей силы, а именно государственной думы. Как многие уже слышали, вся суть «проблемы» заключается в том, что в итоге законопроект, разрабатываемый Министерством Культуры, так и остался законопроектом, а реальную силу обрела совсем иная инициатива: исходившая от депутатов Госдумы В.В. Бортко, Е.Г.Драпеко, М.П. Максаковой-Игенбергс, М.А. Кожевниковой, Л.Л. Левина и Р.А. Шлегеля. В итоге депутаты не только нашли способ представить свой вариант проекта в обход минкультуры (по идее такие отраслевые законы, как этот, должны подготавливаться министерствами, но оказалось, что возможно все, особенно когда это «возможно» основано на Конституции), но и представили внешне крайне жесткий вариант решения вопроса. По сути, перед нами совершенно иной закон, нежели тот, о котором я писал ранее. И по идее и по содержанию. Мало того, многие нормы, им регулируемые, оказались не совсем понятные для обычных граждан, а поэтому я вновь хочу попробовать закрыть этот пробел, а заодно и объяснить, что на самом деле все не так страшно, как кажется. Сразу предупреждаю, что на этот раз будет много текста, а поэтому тем, кто читать не любит, статью не рекомендую.
Читать дальше →

Художественные и документальные фильмы о космонавтике

Reading time4 min
Views70K

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

Youtube

Reading time1 min
Views223K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →

Выжимаем максимум производительности из клавиатуры

Reading time7 min
Views255K
Чем вы занимаетесь большую часть своего рабочего дня? Скорее всего, создаёте или редактируете информацию. И у многих из вас эта информация — тексты: программный код, конфигурационные файлы, письма, строчки чатов и всё тому подобное.
Хотите создавать их быстрее и при этом расходовать на ввод текста меньше внимания? Я расскажу вам несколько эффективных способов увеличить производительность при работе с главным инструментом в этом деле — QWERTY-клавиатурой.

Сомневаетесь, стоит ли тратить на это время? Вспомните — за 30 лет в мире ПК изменилось всё, но клавиатура осталась такой же. Альтернативные способы ввода текста — распознавание речи, письма, жестов, «птичьих» языков (привет, граффити!), аккордные клавиатуры — не сработали и не стали популярными — и, вероятнее всего, ещё очень долго вы будете всё так же вводить тексты с клавиатуры.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity