Pull to refresh
122
0
barbalion @barbalion

User

Send message

Пишем самую тупую на свете сортировку

Level of difficulty Medium
Reading time 7 min
Views 23K

И это не пузырьковая, а нечто гораздо более тупое.

Как-то после обеда, стоя за чашечкой кофе, мне пришла в голову мысль. Что ведь для того чтобы убедиться что массив отсортирован, надо сделать `n-1` сравнение. Например для массива длины 4 таких сравнения будет 3:

Дальше тупее
Total votes 87: ↑86 and ↓1 +85
Comments 45

Вакцина «Спутник V»: инструкция, как испортить хорошее дело

Reading time 9 min
Views 222K

Давайте на минуту отбросим все предубеждения и стереотипы об отечественной медицине и попробуем объективно разобраться в том, что сделано правильно, а что неправильно с "первой в мире вакциной от COVID" — Спутник V от «НИИ эпидемиологии и микробиологии им. Н. Гамалеи».


Поговорим о том, как устроена современная наука в целом и доказательная медицина в частности, и при чем тут пиар.


image

Читать дальше →
Total votes 392: ↑350 and ↓42 +308
Comments 606

Глубже в дебри ФП

Reading time 23 min
Views 9.7K

Прежде чем начать, зацените эту красоту! Это — игра "жизнь" на языке APL:



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


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


Расчехляйте свои абстрагаторы ...
Total votes 23: ↑22 and ↓1 +21
Comments 22

«Просто похудеть» — непросто

Reading time 15 min
Views 125K

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


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

Хакнуть свой мозг
Total votes 210: ↑188 and ↓22 +166
Comments 638

Почему функциональное программирование такое сложное

Reading time 15 min
Views 90K

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

Читать дальше →
Total votes 176: ↑157 and ↓19 +138
Comments 715

«Алгебраические эффекты» человеческим языком

Reading time 12 min
Views 12K
Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех.

Вы слышали об алгебраических эффектах?


Мои первые попытки выяснить, кто они такие и почему они должны меня волновать, оказались безуспешными. Я нашел несколько PDF-ов, но они еще больше меня запутали. (Я почему-то засыпаю во время чтения академических статей.)


Но мой коллега Себастьян продолжал называть их ментальной моделью некоторых вещей, которые мы делаем в React. (Себастьян работает в команде React и выдвигал немало идей, среди которых Hooks и Suspense.) В какой-то момент это стало локальным мемом в команде React, и многие наши разговоры заканчивались следующим:



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

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 46

Java теперь платная? Развенчиваем слухи (или нет?)

Reading time 2 min
Views 98K
Уже 2 дня как вступили в силу изменения лицензионной политики Oracle на распространение сборок Java SE. В среде разработчиков-слоупоков (я тоже в их числе) начали носиться кошмарные слухи.

Что произошло


В середине 2018 года Oracle объявил, что собирается изменить лицензионную политику. 16 апреля 2019 года изменение вступило в силу. Теперь все опубликованные после этой даты сборки Java SE можно использовать бесплатно только для личных нужд и с целью разработки. Для использования в коммерческих целях (в том числе для продакшена) надо оформить платную подписку у Oracle.

Что-а-а?


Oracle выстрелил себе в ногу и убивает Java? Нет, не убивает. Нет, не выстрелил. Но проблем халявщикамвсем нам подкинул. Давайте быстро разберемся, что это означает в практическом плане, без этих ваших GPL, BCL, WTF…
Разбираемся в режиме FAQ
Total votes 38: ↑34 and ↓4 +30
Comments 64

Как много разработчиков и как мало программистов…

Reading time 4 min
Views 6.5K

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


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

Читать дальше →
Total votes 39: ↑16 and ↓23 -7
Comments 18

Dotty уже на пороге

Reading time 2 min
Views 8.5K
Следующее поколение языка Scala, третью версию которой лично я жду с большим нетерпением, кажется уже не за горами. Новый компилятор и новый набор фич для Scala 3 .0 разрабатывается в рамках проекта Dotty. 17 месяцев назад Дотти отпраздновал небольшую победу — bootstrap, т.е. он смог скомпилировать сам себя. В планах на новые фичи было много вкусностей, которым были посвящены публикации на хабре (тыц — если кто не читал, то советую пройти по ссылке).

И вот пару дней назад на гитхабе проекта появился многообещающий коммит от Дмитрия Петрашко (один из ключевых разработчиков dotty), озаглавленный «Start writing release anouncement.», т.е. «Начинаем писать новость о выпуске».
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 0

Пора перестать сохранять

Reading time 4 min
Views 44K

Немного лирики


Как-то раз, примерно полгода назад, при переезде с одной квартиры на другую в одной из бесконечных коробок обнаружился архив аудиокассет — штук 30. Этот набор долёживал там свой век, хотя последний магнитофон, способный проигрывать кассеты, сломался года за три до этого.
Моя 9-летняя дочь, наткнувшись на эту коробку, взяла одну из этих кассет в руки, повертела и спросила: «Папа, а что это?».
Конечно, если задуматься, в этом нет ничего удивительного. Новое поколение, рожденное после 2000, уже не видело ни кассет, ни дискет.



И что-то мне подсказывает, что поколение, родившееся после 2020, не увидит уже и компакт дисков — все планомерно уходит на всевозможные флешки и карты памяти, а в перспективе и обмен, и хранение (благодаря «облакам»), и ритейл софта/фильмов/музыки (благодаря Стиву Джобсу) уйдут в «онлайн». Я и сам больше уже не записываю полюбившиеся фильмы на болванки.
И что с того?
Total votes 82: ↑63 and ↓19 +44
Comments 56

Когда просто отфильтровать параметры запроса недостаточно или о вреде универсальности

Reading time 2 min
Views 1.4K
У уважаемой компании «Российские Железные Дороги» есть замечательный сайт ticket.rzd.ru. Не смотря на некоторые шероховатости, сайт неплохо справляется со своей основной задачей — позволяет заказать и оплатить билеты он-лайн.

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

Что там интересного?
Total votes 70: ↑64 and ↓6 +58
Comments 44

Введение в многомерный анализ

Reading time 12 min
Views 170K

Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.



Выкладываю теперь это Введение в Общественное Достояние.



В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.



Итак, что же такое OLAP.
Total votes 63: ↑61 and ↓2 +59
Comments 12

Еще один тип спама под кризис

Reading time 2 min
Views 502
Замечен новый тип <социальной инженерии> в интернете. На днях на почту пришло письмо следующего содержания:

Александр добрый день!

Агентство по подбору персонала направило нам Ваше резюме.
В данный момент в нашей компании открыта новая вакансия CTO).
Оформление согласно ТК РФ, социальные гарантии, карьерный рост, зарплата будет зависеть от результатов собеседования.
Подробную информацию о нашей компании можно посмотреть на сайте:
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 4

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity