Size: a a a

Physics.Math.Code

2019 September 20
Physics.Math.Code
Инкапсулируйте детали реализации

Когда абстракция нас покидает, на помощь приходит инкапсуляция. Абстракция говорит: «Вы можете рассмотреть объект с общей точки зрения». Инкапсуляция добавляет: «Более того, вы не можете рассмотреть объект с иной точки зрения».

Продолжим нашу аналогию: инкапсуляция позволяет вам смотреть на дом, но не дает подойти достаточно близко, чтобы узнать, из чего сделана дверь. Инкапсуляция позволяет вам знать о существовании двери, о том, открыта она или заперта, но при этом вы не можете узнать, из чего она сделана (из дерева, стекловолокна, стали или другого материала), и уж никак не сможете рассмотреть отдельные волокна древесины. Инкапсуляция помогает управлять сложностью, блокируя доступ к ней.
источник
Physics.Math.Code
🐸 Есть такая лягушка — ужасный листолаз (Phyllobates terribilis). Ее кожные железы содержат сильнейший яд. Достаточно просто прикоснуться к ней, чтобы получить смертельное отравление. Столь мощное средство защиты объясняется тем, что этими лягушками питаются определенные виды змей, выработавшие у себя невосприимчивость к яду. Постепенно яд лягушек становился все сильнее и сильнее. В результате такой совместной эволюции у ужасных листолазов не осталось других естественных врагов.

👨🏻‍💻Нечто подобное происходит и с хакерами. Придуманные ими техники давно известны, так что появление мер противодействия вполне естественно. В ответ хакеры ищут способы обойти и разрушить защитные механизмы, что приводит к созданию новых оборонительных техник.

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

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

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

Понятие «меры противодействия» довольно расплывчатое, под этими словами могут подразумеваться технические средства обеспечения безопасности, набор правил, программа или просто внимательный системный администратор. Меры противодействия условно делятся на две группы: пытающиеся обнаружить атаку и пытающиеся защитить уязвимость.
источник
Physics.Math.Code
🖥 Hardware: Общие советы 💻

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

Иногда помогает переустановка сетевых вилок в розетке на 180 градусов (чтобы поменять фазу и ноль местами). Часто причиной зависаний, перезагрузок или невключений является разряженная батарейка или старый аккумулятор питания CMOS. Некоторые материнские платы очень быстро «убивают» батарейку – этим прославились новые платы фирм MSI и Gigabyte. Компьютер будет нормально работать, если напряжение на 3-вольтовой литиевой батарейке составляет 3.3 В. Если значение ниже 3.1 В, то этого уже обычно недостаточно для питания CMOS и инициализации BIOS. (источник: журнал Железо)

Частые включения и выключения компьютера приводят к износу и преждевременному выходу из строя компонентов.

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

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

Если вы удалили из компьютера какую-нибудь плату адаптера, то обязательно закройте оставшееся после неё отверстие в задней стенке корпуса пластинкой-заглушкой. Дырка в корпусе нарушает внутреннюю циркуляцию воздуха, что может привести к повышенному нагреву некоторых компонентов.
источник
Physics.Math.Code
👨🏻‍💻На языке, в котором чего-то не хватает, программировать всегда проще, чем на языке, который богат своими возможностями. Одни языки создаются для решения задачи, другие – для доказательства той или иной точки зрения. Разумеется, приятно было бы сказать, что мы чувствовали и понимали, что создаем нечто, имеющее подлинную ценность. Hо, на самом деле, мы вовсе не считали, что творим “историю”, что наша работа окажется столь значимой.

© создатель языка программирования C и один из ключевых разработчиков операционной системы Unix. Обладатель Премии Тьюринга и медали “Пионер компьютерной техники” – Деннис Ритчи.

Ритчи говорил о своем изобретении:

Я хотел сделать что-то, что помогло бы мне и моим коллегам в работе, знаете, в духе “давайте сделаем что-нибудь полезное”. Об этом важно помнить, т.к. хотя UNIX, языки C/C++ занимают большое место в компьютерной науке, реальный мир технологий и приложений гораздо обширнее.

И часто шутил:

Cи имел мощь языка ассемблера и удобства … ассемблера.

В одном из интервью Ритчи задали вопрос о проблеме 2000 года и предсказаниях экспертов, на что он ответил:

Могу лишь сказать, что не собираюсь находиться в воздухе в 23:59 31 декабря 1999. За всю свою жизнь я ни разу не встречал Новый год в самолете. Hо это, вероятно, не имеет отношения к проблеме Y2K.

Друг и коллега Денниса Роб Пайк, с которым они 20 лет проработали в лаборатории Bell Labs, говорил о нем:

Практически все в веб создано на основе – Cи и UNIX. На языке Cи написаны браузеры. На ядре UNIX работает почти весь Интернет, и оно также написано на языке Си. Веб серверы – написаны на языке C. А если не на нем, то на Java или C++ . А эти языки производные от Си. Python и Ruby также базируются на Cи. Я ручаюсь за то, что все сетевое оборудование работает на программах, написанных на Си. Действительно трудно переоценить – сколько всего в современной информационной экономике основано на работе Денниса.

Деннис Ритчи ушел из жизни всего через несколько дней после того, как умер Стив Джобс. И многих поразило то, как общественность отреагировала на эти два события. (2011 год)

Когда умер Стив Джобс, полились многочисленные реки слез, и они были очень трогательными и обоснованными. Но Деннис оказал намного большее влияние, а народ даже не знает, кто он такой. (Роб Пайк)

Джобс был зримым королем, а Ритчи, преимущественно, незримым королем.

Гений Джобса состоит в том, что он имел вкус и создавал продукты, которыми люди хотели пользоваться. И он мог создавать вещи, которые, по- настоящему, нравились людям. Ритчи создал то, что технари смогли использовать для создания базовой инфраструктуры. Людям не обязательно ее видеть, несмотря на то, что они используют ее каждый день. (Мартин Ринард)

У Ньютона есть фраза о стоящих на плечах гигантов. Мы все стоим на плечах Денниса. (Брайан Керниган)
источник
Physics.Math.Code
Анализ [2 тома] [1972] Лоран Шварц
источник
Physics.Math.Code
Анализ [2 тома] [1972] Лоран Шварц

Имя Лорана Шварца - одного из крупнейших математиков современности - хорошо известно советским специалистам. Его двухтомный курс существенно отличается от всех имеющихся книг по анализу. Изложение характеризуется глубоким взаимопроникновением методов классического и функционального анализа, современной алгебры и топологии. Следует отметить также блестящий стиль курса, умение автора выделить основное, объяснить значение тех или иных идей.

Второй том посвящен дифференциальным уравнениям, внешним дифференциальным формам и функциям комплексного переменного.
Книга Л.Шравца, несомненно, заинтересует преподавателей математики, научных работников в области математики, физики и механики, а так же инженеров и будет весьма полезна студентам университетов, педагогических институтов и высших технических учебных заведений с углубленным изучением математики.
источник
Physics.Math.Code
источник
Physics.Math.Code
источник
Physics.Math.Code
Дифференциальное исчисление. Дифференциальные формы [1967] Картан Анри
источник
Physics.Math.Code
Дифференциальное исчисление. Дифференциальные формы [1967] Картан Анри

Эта книга, написанная выдающимся математиком Анри Картаном, содержит изложение его лекций по курсу "Математика II" в Парижском университете. В них входит дифференциальное исчисление, теория дифференциальных уравнений в банаховых пространствах, теория дифференциальных форм и построенная на ее основе теория многомерных интегралов, а также первоначальные сведения по вариационному исчислению и дифференциальной геометрии. Изложение элементарно, хотя и ведется на современном научном уровне.
источник
Physics.Math.Code
💡Главный Технический Императив Разработки ПО: управление сложностью

Чтобы лучше понять важность управления сложностью, обратимся к известной работе Фреда Брукса «No Silver Bullets: Essence and Accidents of Software Engineering» (Brooks, 1987). Брукс утверждает, что сложность разработки ПО объясняется существенными и несущественными проблемами. Используя два этих термина, Брукс опирается на философскую традицию, уходящую корнями к Аристотелю.

➡️Читать статью⬅️

#article #проектирование #программирование
источник
Physics.Math.Code
Эвристические принципы проектирования ПО

● Стремитесь к максимальной связности

Понятие связности (cohesion) возникло в области структурного проектирования и обычно обсуждается в том же контексте, что и сопряжение (coupling). Связность характеризует то, насколько хорошо все методы класса или все фрагменты метода соответствуют главной цели, — иначе говоря, насколько сфокусирован класс.

➡️Читать полностью⬅️
источник
Physics.Math.Code
5 ошибок, которые могут помешать вам стать программистом

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

➡️Читать полностью⬅️
источник
Physics.Math.Code
Quantitative Economics with Python [2019] Thomas J. Sargent

QuantEcon is a NumFOCUS fiscally sponsored project dedicated to development and documentation of modern open source computational tools for economics, econometrics, and decision making. We welcome contributions and collaboration from the economics community and other partner organizations.

This website presents a series of lectures on quantitative economic modeling, designed and written by Thomas J. Sargent and John Stachurski.

https://lectures.quantecon.org/py/
источник
2019 September 21
Physics.Math.Code
Обсуждение задачи:
https://vk.com/wall-51126445_43727

#задачи #логика
источник
Physics.Math.Code
Задача на логику для наших подписчиков 🌚

Обсуждение задачи:
https://vk.com/wall-51126445_43736

#задачи #логика
источник
Physics.Math.Code
Методика преподавания алгебры [1965] Барыбин
источник
Physics.Math.Code
Методика преподавания алгебры [1965] Барыбин

В предлагаемом пособии сделана попытка дать представление о способах преподавания алгебры в восьмилетней школе. В ней материал изложен так, что его можно использовать при подготовке к уроку. Часто приводятся наводящие вопросы, чтобы помочь учителю вести урок эвристически. В книге приводятся образцы, решения типовых упражнений, что может помочь начинающему учителю установить систему записи. Книга предназначена для начинающих учителей и студентов педвузов.
источник
Physics.Math.Code
Методика преподавания математики в восьмилетней школе [1965] Крельштейн, Ляпин
источник
Physics.Math.Code
Методика преподавания математики в восьмилетней школе [1965] Крельштейн, Ляпин

Книга рекомендована к изданию Учебно-методическим Советом Министерства просвещения РСФСР. Более полно в ней разобраны те разделы, которые являются для восьмилетней школы новыми, и те, которые потребовали нового освещения и методического подхода в связи с перестройкой школы. Авторы старались приблизить изложение всех вопросов преподавания математики к запросам учителя; в основу изложения некоторых вопросов положен опыт лучших учителей, получивший одобрение у широкой педагогической общественности.
Книга рассчитана в первую очередь на молодых учителей; она может служить также учебным пособием по методике преподавания математики для студентов педвузов.
источник