Pull to refresh
-4
0
Send message

Зачем в Scala трамплины и как их использовать

Level of difficultyHard
Reading time11 min
Views3.3K

В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline).

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

Достигается это следующим образом: когда функция вызывает саму себя, то вместо этого вызова управление передаётся другой функции — трамплину. Эта функция-трамплин вызывает исходную функцию с нужными параметрами и, если нужно, передаёт управление другой функции-трамплину. Таким образом, при рекурсивных вызовах функций никакая информация не сохраняется на стеке, а управление всегда передаётся между функциями-трамплинами.

Чтобы вникнуть в детали, поясним ещё несколько моментов:

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments6

Как мошенники научились подтверждать личность в банке. Всё оказалось проще…

Reading time6 min
Views159K

Наступил 2024 год. Год технологий и новых мошеннических схем!

25 января

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

Читать далее
Total votes 255: ↑248 and ↓7+297
Comments788

Полиграф: проблемы найма и информационной безопасности

Level of difficultyEasy
Reading time6 min
Views6.4K

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

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

Само собеседование мне скорее понравилось, оно было 1 на 1 сразу с CTO, стандартные вопросы по java в стиле чему равно Integer.valueOf(10) == Integer.valueOf(10). Такие модно было спрашивать в 2008 году. Немного задач на ревью кода, немного на sql. Но собеседование затянулось на 2 часа, о чем меня конечно не предупредили, и из-за этого я пропустил рабочую встречу, мелочь, а неприятно. Так же на этом же собеседовании мне заявили, что необходимо пройти комплекс тестов на интеллект и психологию онлайн и полиграф. Тут бы уже стоило прекратить общение, но в силу того что времени поразмыслить обо всем этом у меня не было, а так же в силу природного любопытства - я согласился.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments58

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views147K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Total votes 50: ↑46 and ↓4+54
Comments186

Миф развенчан: распределённые транзакции можно масштабировать

Reading time9 min
Views5K

В сборнике VLDB'17 вышла такая статья. В ней представлена NAM-DB, масштабируемая распределённая система баз данных, использующая удалённый прямой доступ к памяти (RDMA) — в основном, однонаправленный вариант RDMA — и инновационную технологию диспетчера временных меток (timestamp oracle) для поддержки транзакций с изоляцией мгновенного снимка (SI). NAM в данном случае означает архитектуру с прикреплением памяти к сети (network-attached-memory), где благодаря активному использованию RDMA вычислительные узлы получают возможность напрямую общаться с пулом узлов памяти.

Читать далее
Total votes 12: ↑9 and ↓3+14
Comments4

Вот что такое искусственный интеллект по мнению изобретателя байесовских сетей

Level of difficultyEasy
Reading time8 min
Views8.8K

Искусственный интеллект во многом обязан своими достижениями Джуде Перлу. В 1980-х он руководил работами, которые позволили машинам развить способности к вероятностному рассуждению. Сегодня Джуда Перл — один из самых ярых критиков в этой области. В своей последней книге «Почему? Новая наука о причинно-следственной связи» (англ. The Book of Why)? он утверждает, что [настоящему] искусственному интеллекту препятствует неполное понимание того, что на самом деле представляет собой интеллект. За ответами — к старту флагманского курса по Data Science — приглашаем под кат.

Читать дальше →
Total votes 14: ↑11 and ↓3+9
Comments8

Information

Rating
Does not participate
Registered
Activity

Specialization

Specialist
Scala