Рубрика «Блог компании Edison» - 8

image

Это третья часть серии по веб-безопасности: вторая часть была «Web Security: введение в HTTP», первая "Как работают браузеры — введение в безопасность веб-приложений".

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

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

На YouTube много бесплатных обучающих и курсов и туториалов.

image

Я веду freeCodeCamp, YouTube канал без рекламы. У нас есть полные видеокурсы и учебные пособия по многим популярным языкам программирования и фреймворкам (включая JavaScript, Python, Java, Ruby, C, C ++, Angular и не только).

Есть и другие YouTube каналы с бесплатными уроками по программированию, которые ничуть не хуже, а иногда даже лучше, чем платные.

В этой статье я перечисляю десять YouTube каналов, которые можно посмотреть, чтоб прокачаться в программировании. Расположение каналов — случайное.

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

Есть много отличных каналов, для которых у меня не хватило места в этом списке. Поделитесь своими находками в комментах.
Читать полностью »

Если вкратце, то я бы посоветовал читать много книг, не имеющих отношения к информатике.

image

Важно понимать, какое место занимает понятие «science» в «Computer Science», и что означает «engineering» в «Software Engineering».

Современное понятие «науки» можно сформулировать так: это попытка перевести явления в модели, которые можно более-менее легко объяснить и предсказать. На эту тему можно прочесть «Sciences of the Artificial» (одна из важных книг Герберта Саймона). На это можно смотреть с такой точки зрения: если люди (особенно разработчики) строят мосты, то учёные могут объяснять эти явления, создавая модели. Самое интересное в этом то, что наука почти постоянно будет находить новые, лучшие способы наведения мостов, так что дружеские отношения между учеными и разработчиками вполне могут улучшаться с каждым годом.

Примером подобного из сферы Computer Science является Джон Маккарти, размышляющий о компьютерах в конце 50-х годов, то есть о невероятно большом спектре того, что они могут сделать (может быть, ИИ?), и создание модели вычислений, которая является языком, и может служить в качестве собственного метаязыка (Lisp). Моя любимая книга на эту тему — «The Lisp 1.5 Manual» от MIT Press (автор Маккарти с соавторами). Первая часть этой книги по-прежнему остается классикой того, как нужно думать в целом и об информационных технологиях в частности.
Читать полностью »

HTTP — вещь прекрасная: протокол, который просуществовал более 20 лет без особых изменений.

image

Это вторая часть серии по веб-безопасности: первая часть была «Как работают браузеры».

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

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

При обсуждении HTTP, тем не менее, мы всегда должны различать семантику и техническую реализацию, поскольку это два совершенно разных аспекта работы HTTP.
Читать полностью »

Исследуем эпичные провалы редизайна и мотаем на ус.

image

Менеджер по продукту заходит в отдел дизайна и заказывает редизайн сайта. «Наш сайт выглядит таким старым! У всех наших конкурентов есть более яркие сайты. Давайте перепроектируем его. Кнопки с разноцветными тенями — это будущее!»
Дизайнер: «Хорошо, давайте начнем с тестирования юзабилити»
ПМ: «У вас есть 3 недели, и я хочу, чтобы все цвета были заменены на ярко-розовый, ярко-синий или оранжевый».

Вот как вы убиваете свой коэффициент конверсии. Хотя приведенный выше сценарий может быть диким преувеличением, увидев количество компаний, радикально перерабатывающих свой бренд каждый год, то окажется что это не так. Просто посмотрите на Facebook, который выглядит как новый почти каждый раз, когда я открываю его. На Facebook есть целая группа, состоящая из 3 тысяч участников, которые отслеживают любую деталь, которую изменила компания.
Читать полностью »

image

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

Мы наивно составили неправдоподобный список технологических чудес, которые мы планировали создать, и смело заявили в пресс-релизе в январе 1993 года, что DOOM станет основным источником падения рабочих показателей во всем мире. Мы действительно верили в это и усердно работали в том году, чтобы это стало реальностью. Я не рекомендую писать пресс-релиз на старте вашего проекта, особенно такого.
Читать полностью »

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

image
Chrome и lynx

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

Хоть это и почти преступное упрощение, но пока это все, что нам нужно знать на данный момент.

  • Пользователь вводит адрес в строке ввода браузера.
  • Браузер загружает «документ» по этому URL и отображает его.

Читать полностью »

«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор

image

Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать полностью »

Сбалансированное слияние сверху-вниз и снизу-вверх - 1


В прошлой статье мы ознакомились с реликтовыми сортировками слияния (вызывающих прежде всего исторический интерес). А что в тренде сегодня?Читать полностью »

«Я бы прочитал книгу теолога о программировании.»
— Дональд Кнут

image

«3:16» — это книга, которая отличается от любой другой книги, которая когда-либо была написана. Я полагаю, что наконец-то созрел, чтобы написать такую книгу. Во всяком случае, 3:16 — это изучение Библии в другом ракурсе, не имеющее аналогов. Попробую пояснить.

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

72

Взяв интервью у тысячи человек, вы знаете, что думают миллионы людей. Я использую выборку при исследовании документов. Если кто-то дает мне курсовую, и у меня нет времени, чтобы прочитать все 50 страниц курсовой работы, я буду выбирать случайную страницу и делать соответствующие выводы. Студент не знает заранее, какую страницу я собираюсь проверить. Таким образом? отбор проб это то, чем занимается компьютерный ученый.

Однажды, в 70-е, я задался вопросом, а что если я таким образом «исследую» Библию?

(Прим. переводчика: пожалуйста, комменты по вашим рекомендациям перевода присылайте в личку, статья лежала 2 года в черновиках, вот решил доделать Кнута, так что помогайте, дедушка крайне непросто говорит)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js