Pull to refresh
0
0

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

Send message

Моноиды, полугруппы и все-все-все

Reading time12 min
Views41K

Если ты на практике используешь ООП, то хорошо разбираешься в таких вещах, как «паттерны проектирования». А знаешь ли ты, что есть множество полезных паттернов, которые не укладываются в этот стандартный список? К сожалению, многие из них связаны с «функциональным программированием», которое, согласно легенде, сложное и заумное. Если десять раз сказать слово «моноид», можно вызвать Дьявола.


Mark Seeman расскажет о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell. Этот хабрапост — перевод самого начала цикла, первых трех статей, слитых воедино для удобства понимания.


Кроме того, с Марком можно пообщаться вживую, посетив конференцию DotNext 2017 Moscow, которая состоится 12-13 ноября 2017 г. в Москве, в «Славянская Рэдиссон». Марк прочитает доклад на тему «From dependency injection to dependency rejection». Билеты можно взять здесь.

Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments22

Двойная бюстгалтерия* глазами программиста

Reading time8 min
Views41K


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

Статья не академическая, а отражает сугубо мой упрощенный взгляд, и для тех кто уже осилил академические статьи — будет неинтересной. Тех же кому интересно понять такой простой и мощный инструмент как «двойная запись» — прошу под кат.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments266

5 правил работы с суммами

Reading time8 min
Views80K
В современном программном обеспечении очень часто возникает необходимость выполнять различные операции с всевозможными суммами денег. Однако до сих пор мне нигде не попадалось документации, в которой были бы сведены воедино основные правила представления сумм и реализации финансовых вычислений. В этой статье я попробую сформулировать те правила, которые составил сам на основании личного опыта.


Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments241

Jump Start в PowerShell (часть II)

Reading time10 min
Views172K
Кто, если не ты? Когда, если не сейчас?



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

В этой части мы разберёмся с переменными, узнаем, что они за типы и как к ним обращаться, как их сравнивать и выводить всевозможными способами. Обязательно разберёмся с циклами и напишем несколько функций.
Читать дальше →
Total votes 49: ↑31 and ↓18+13
Comments16

История предсказания переходов с 1 500 000 года до н.э. по 1995 год

Reading time18 min
Views42K
Это приблизительная расшифровка лекции о предсказании переходов (предсказании ветвлений) на localhost, новом цикле лекций, организованном RC. Выступление состоялось 22 августа 2017 года в Two Sigma Ventures.

Кто из вас использует ветвления в своём коде? Можете поднять руку, если применяете операторы if или сопоставление с образцом?

Большинство присутствующих в аудитории поднимают руки

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

Цель моего выступления — объяснить, как и почему процессоры осуществляют предсказание переходов, а затем вкратце объяснить классические алгоритмы предсказания переходов, о которых вы можете прочитать в современных статьях, чтобы у вас появилось общее понимание темы.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments77

Иллюзии мозга. Когнитивные искажения из-за переизбытка информации

Reading time9 min
Views115K


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

В работе с широкими массами профессионалы используют способы обхода механизма цензуры, который в мозге фильтрует информацию, поступающего из внешнего мира. Например, если усилить информацию эмоционально, то вербальное или невербальное послание легче пройдёт встроенные фильтры сознания и надолго сохранится в памяти потребителя информации.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments32

Когда интуиция нас подводит: о том, как одну олимпиадную задачу по физике десятилетиями решали неправильно

Reading time6 min
Views72K

«Имеются два одинаковых шарика, находящихся при одной и той же температуре. Один из них лежит на горизонтальной поверхности, другой подвешен на нити. Обоим шарикам сообщают одинаковое количество теплоты. Будут ли после этого температуры шариков одинаковыми или нет? (Любыми видами тепловых потерь можно пренебречь.)»

Такую задачу иногда можно встретить на олимпиадах по физике или в соцсетях. Общепринятый ответ интуитивно понятен: из-за затрат энергии на тепловое расширение при наличии силы тяжести шарик, лежащий на горизонтальной поверхности, окажется холоднее висящего на нити. В недавней статье было показано, что этот ответ неправильный. На самом деле, результат будет обратным: лежащий шарик окажется теплее висящего. Разберемся, почему традиционный метод решения этой задачи приводит к неправильному ответу, и почему интуиция в этом случае нас подводит.
Читать дальше →
Total votes 110: ↑105 and ↓5+100
Comments232

λ-исчисление. Часть первая: история и теория

Reading time6 min
Views155K
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

UPD: в текст внесены некоторые изменения с целью сделать его более понятным. Смысловая составляющая осталась прежней.

Вступление


Возможно, у этой системы найдутся приложения не только
в роли логического исчисления. (Алонзо Чёрч, 1932)


Вообще говоря, лямбда-исчисление не относится к предметам, которые «должен знать каждый уважающий себя программист». Это такая теоретическая штука, изучение которой необходимо, когда вы собираетесь заняться исследованием систем типов или хотите создать свой функциональный язык программирования. Тем не менее, если у вас есть желание разобраться в том, что лежит в основе Haskell, ML и им подобных, «сдвинуть точку сборки» на написание кода или просто расширить свой кругозор, то прошу под кат.
Читать дальше →
Total votes 64: ↑54 and ↓10+44
Comments34

Влияние ambient-музыки на процесс написания кода

Reading time7 min
Views57K
В данной статье я хотел бы поговорить о той музыке, под которую мы пишем код. О музыке «для программистов». А точнее, про такой специфический жанр музыки, как эмбиент.



Человек работающий и музыка


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

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

На том же Хабре есть масса отличных статей о том, как музыка влияет на рабочий климат офиса, на концентрацию работника и т.п. Но данный материал немного о другом.
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments133

Information

Rating
Does not participate
Registered
Activity