Search
Write a publication
Pull to refresh
4
0.2
Send message

Основы информационной безопасности. Часть 1: Виды угроз

Reading time6 min
Views218K


Безопасность виртуального сервера может быть рассмотрена только непосредственно как «информационная безопасность». Многие слышали это словосочетание, но не все понимают, что же это такое?

«Информационная безопасность» — это процесс обеспечения доступности, целостности и конфиденциальности информации.

Под «доступностью» понимается соответственно обеспечение доступа к информации. «Целостность» — это обеспечение достоверности и полноты информации. «Конфиденциальность» подразумевает под собой обеспечение доступа к информации только авторизованным пользователям.

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

Топ-10 распространенных ошибок в английском произношении, которые вы можете совершать

Reading time5 min
Views52K
Носители английского поголовно утверждают, что понять человека, который говорит с акцентом, можно. Правда, иногда это трудно. Английский язык разительно отличается от русского и в фонетическом, и в интонационном плане. Носителя любого другого языка всегда слышно сразу: не так произносятся гласные, не так выстроена интонация, отсутствуют нужные или присутствуют ненужные звуки в словах. Оговоримся сразу: без акцента вы не говорите даже по-русски. Но изучая иностранный язык, вы можете научиться неплохо имитировать носителей и говорить с минимальным и не режущим слух акцентом. А пока давайте изучим самые частые ошибки русских студентов, изучающих английский язык.

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

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть вторая)

Reading time21 min
Views16K
Продолжаю конспектировать книгу «Программист-прагматик» — настольный сборник рекомендаций на все случаи жизни. С первой частью конспекта можно ознакомиться тут.
Данный материал покрывает вторую половину текста: в этих главах речь идет о минимизации связывания, принципах тестирования, порядке работы над проектом, документации и взаимодействии внутри команды.


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

Domain Driven Design на практике

Reading time12 min
Views295K
Эванс написал хорошую книжку с хорошими идеями. Но этим идеям не хватает методологической основы. Опытным разработчикам и архитекторам на интуитивном уровне понятно, что надо быть как можно ближе к предметной области заказчика, что с заказчиком надо разговаривать. Но не понятно как оценить проект на соответствие Ubiquitous Language и реального языка заказчика? Как понять, что домен разделен на Bounded Context правильно? Как вообще определить используется DDD в проекте или нет?

Последний пункт особенно актуален. На одном из своих выступлений Грег Янг попросил поднять руки тех, кто практиукует DDD. А потом попросил опустить тех, кто создает классы с набором публичных геттеров и сеттеров, располагает логику в «сервисах» и «хелперах» и называет это DDD. По залу прошел смешок:)

Как же правильно структурировать бизнес-логику в DDD-стиле? Где хранить «поведение»: в сервисах, сущностях, extension-методах или везде по чуть-чуть? В статье я расскажу о том, как проектирую предметную область и какими правилами пользуюсь.
Читать дальше →

Мега-Учебник Flask Глава 1: Привет, мир! ( издание 2018 )

Reading time12 min
Views379K

blog.miguelgrinberg.com


Miguel Grinberg




>>> следующая глава >>>


Эта статья является переводом нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность.


Автор планирует завершить его выпуск в мае 2018. Я, со своей стороны, постараюсь не отставать с переводом.

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

Потеряла ли поп-музыка свою привлекательность?

Reading time5 min
Views12K
Часто можно услышать, как любители музыки, вышедшие из демографического среза, на который нацеливается поп-музыка, возмущаются по поводу того, что сегодняшняя музыка уже не та, что была раньше. Такие заявления звучали по поводу джаза ещё в 1920-х, когда музыкальный критик New York Evening Post Эрнст Ньюман сказал: «Это инструмент, на котором человечки могут сыграть немножечко музычки; но если бы любой приличный композитор попытался бы сыграть на нём свою мелодию, он вскоре рассыпался бы у того в руках». Похожую критику в 50-х годах нацеливали на рок-н-ролл, в 60-х — на музыку в стиле бит, и подобное продолжается и поныне.

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

1. Заявление: грустнее и медленнее



Машины состояний и разработка веб-приложений

Reading time17 min
Views59K
Настал 2018-й год, найдено множество замечательных способов создания приложений, но бесчисленные армии фронтенд-разработчиков всё ещё ведут борьбу за простоту и гибкость веб-проектов. Месяц за месяцем они проводят в попытках достигнуть заветной цели: найти программную архитектуру, свободную от ошибок, и помогающую им делать их работу быстро и качественно. Я — один из этих разработчиков. Мне удалось найти кое-что интересное, способное дать нам шанс на победу.


Инструменты вроде React и Redux позволили веб-разработке сделать большой шаг в правильном направлении. Однако, самих по себе их недостаточно для создания крупномасштабных приложений. Похоже, что ситуацию в разработке клиентских частей веб-приложений может значительно улучшить применение машин состояний. О них и пойдёт речь в этом материале. Кстати, возможно вы уже построили несколько таких машин, но пока ещё об этом не знаете.
Читать дальше →

Долой таблички! Как выучить английские времена

Reading time5 min
Views275K


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

Почему мне кажется, что студентов учат ООП неправильно

Reading time5 min
Views234K
Когда я учился в университете мне довольно тяжело было понять ООП (Объектно-ориентированное программирование), сейчас я понимаю, что просто нас учили ООП на не совсем ясных и правильных аналогиях и вообще, кажется, сами преподаватели не совсем понимали, в чем же суть ООП.

image

Вспомните, классические аналогии ООП, вот есть класс Домашние любимцы с методами «голос» и «есть», от него мы наследуем Кошку и Собаку и все хорошо.

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

Мы уже запутались, но Вовочка спрашивает: «а где в этом зоопарке статические методы, интерфейсы, абстрактные классы и чем отличается объект класса от самого класса?». Объяснить, несомненно, можно, но сложно. Понять, еще сложнее.

Или другой классический пример, вот есть прямоугольник, от которого так и хочется унаследовать квадрат (ну по логике, квадрат это частный случай прямоугольника), но у прямоугольника есть длина и ширина, а у квадрата только одна сторона. Что-то тут тоже запутано.

Теперь подумаем как объяснить ООП лучше?
Читать дальше →

Ричард Хэмминг: «Учитель должен готовить ученика к будущему ученика, а не к прошлому учителя»

Reading time7 min
Views25K
«В этих лекциях я пытаюсь передать студентам то, чего не передашь словами — суть стиля в науке и инженерном деле.»

imageПривет, Хабр.
Помните офигенную статью «Вы и ваша работа» (+219, 2041 в закладки, 328k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 3 главы (правда, в порядке субъективных интересов):


Сегодня — Предисловие и Введение.
(За перевод спасибо Savva Sumin, который откликнулся на мой призыв в «предыдущей главе».)

Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Предисловие


Спустя много лет давления и поддержки со стороны друзей, я решил изложить в форме записей содержание курса по инженерному делу, который я преподавал студентам Аспирантуры Университета Морской Пехоты в Монтеррее, Калифорния. В первую очередь, я сосредоточился на тех деталях, которые, по моему мнению, подлежали дальнейшей обработке, вместо того, чтобы оставить материал в виде несколько разобщённых лекций. В лектории содержание чаще следовало за интересом студентов, а многие из более поздних лекций стали результатом предложенных ими тем. Также, содержание лекций менялось от года к году, вместе с развитием соответствующих дисциплин. А нынешняя зависимость инженерного дела от связанных с ним научных областей склоняет меня к отождествлению этих терминов.
Читать дальше →

Вы и ваша работа *

Reading time40 min
Views823K
Длинный материал. Время чтения – около 40 минут.

image

Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
Читать дальше →

Подборка ресурсов для соискателя на вакансию программист

Reading time2 min
Views18K



Занимаясь с 2013 г. обучением Java и трудоустройством выпускников, я накопил достаточно большую коллекцию ссылок на темы составления резюме, онлайн тестов, подготовки к собеседованию и прохождения интервью, поиска работы и советов новичкам. Часть подходит всем кандидатам, часть (по подготовке) специфична для Java. Предлагаю Вашему вниманию эту подборку:

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

Git снизу вверх

Reading time27 min
Views132K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →

Рояль должен быть исчезнут: уровни профессионального развития и их оценка, у программистов

Reading time8 min
Views27K
У программистов не было ни гита, ни джетбрейнса, ни даже ноутпад++. Первую программу автор писал в дрянном редакторе бейсика. Мы думали, что крутость программиста зависит от того, с какой скоростью он печатает. Мы думали, что крутость компьютера можно измерить тем, сколько раз на него можно будет скопировать Syphon Filter.

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

Собеседование — это игра. Иногда игра бывает интересной и в чём-то продуктивной, иногда она превращается в фарс. Иногда оценивают прошлое, иногда — настоящее. Есть некоторое общее понимание того, что нужно спрашивать, и нет совершенно никакого материального обоснования, почему необходимо спрашивать именно это. «Потому что мы будем как Гугл», «потому что не ясно, что вообще делать», «ведь нужно что-то спрашивать».

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

Будет больно. Потому что будет правда.
Читать дальше →

Слои, Луковицы, Гексогоны, Порты и Адаптеры — всё это об одном

Reading time4 min
Views61K
Перевод статьи Mark Seemann о популярных архитектурах разработки ПО и о том, что между ними общего.

Один из моих читателей спросил меня:
Вернон, в своей книге «Implementing DDD» много говорит об архитектуре Порты и Адаптеры, как о более продвинутом уровне Слоистой Архитектуры. Хотелось бы услышать ваше мнение на этот счёт.
Если не вдаваться в детали, то в своей книге я описываю именно этот архитектурный паттерн, хотя никогда не называю его этим именем.

TL;DR Если применить принцип инверсии зависимостей к слоистой архитектуре, то в конечном счете получим Порты и Адаптеры.
Читать дальше →

Английские фразы, которые не стоит переводить буквально

Reading time4 min
Views246K


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

Повседневные фразы и инструкции


Тут сразу стоит отметить, что в английском довольно много фразовых глаголов, которые очень популярны, особенно в разговорной речи. Понятное дело, что sit down, stand up или come up уже никого не удивят, но есть другие интересные случаи, и не только с фразовыми глаголами.
Читать дальше →

Присвоение имён: руководство для программиста

Reading time4 min
Views16K
Перевод Naming 101: Programmer’s Guide on How to Name Things.

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

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

Ниже объясним важность хороших правил присвоения имён и поделимся полезными советами.
Читать дальше →

Цена JavaScript

Reading time7 min
Views17K
По мере того как наши сайты всё сильнее зависят от JavaScript, приходится расплачиваться за то, что мы отправляем пользователям. Иногда цена не видна с первого взгляда. В этой статье я объясню, почему полезно проявить немного дисциплины, если вы хотите ускорить загрузку и производительность на мобильных устройствах.

tl;dr: меньше кода = меньше парсинг/компиляция + меньше передача + меньше распаковка

Сеть


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



Это может стать проблемой даже в странах первого мира, поскольку эффективный тип сетевого соединения у пользователя необязательно 3G, 4G или WiFi. Вы можете сидеть в кафе с WiFi, но быть подключённым к хотспоту через сотовую связь со скоростью 2G.
Читать дальше →

Английский для начинающих: тексты и книги, чтобы прокачать навыки чтения

Reading time2 min
Views31K

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

Книги


PageTurners
Ценность:

  • адаптированные мини-книги;
  • озвучка;
  • разбивка по уровням и темам.
Читать дальше →

Путеводитель по JavaScript Promise для новичков

Reading time7 min
Views137K
image

Этот материал мы подготовили для JavaScript-программистов, которые только начинают разбираться с «Promise». Обещания (promises) в JavaScript – это новый инструмент для работы с отложенными или асинхронными вычислениями, добавленный в ECMAScript 2015 (6-я версия ECMA-262).
Читать дальше →

Information

Rating
3,573-rd
Registered
Activity