Search
Write a publication
Pull to refresh
62
0

Разработчик

Send message

Шпаргалка по mongodb: e-commerce, миграция, часто применяемые операции и немного о транзакциях

Reading time40 min
Views68K

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


Не хотелось бы, чтобы пост воспринимался в ключе холиваров на тему SQL vs. NOSQL И так понятно что везде есть свои плюсы и минусы, в данном случае это просто где-то немного справки, где-то немного примеров из того, с чем приходилось сталкиваться. Примеры на mongo shell и на python.


  1. Миграция в на новые версии в mongodb
  2. Запросы сравнения и логические
  3. Полнотекстовый поиск в Mongodb, regexp, индексы и пр.
  4. Атомарные операторы (модифицирующие данные )
  5. Немного о транзакциях в Mongodb
  6. Агрегационный фреймворк и JOIN-ы в Mongodb
  7. Примеры
  8. Небольшая песочница на Python

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

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Reading time3 min
Views133K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

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

Визуализация звука на лампе 6Е1П

Reading time9 min
Views115K
Решил поделиться опытом создания звукового индикатора на лампе 6Е1П. При создании лампового аудио усилителя для наушников было решено визуализировать аудио сигнал. Выбор пал именно на эту советскую лампу. Результатом работы стала маленькая печатная плата размером 30х33 мм. В данной статье приведена схема этой платы и описание алгоритма работы.


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

Макросы в InterSystems Caché

Reading time7 min
Views3.6K
Monet tulips in holland

Введение


Хочу рассказать про использование макросов в InterSystems Caché. Макрос — это символьное имя, заменяемое при компиляции исходного кода на последовательность программных инструкций. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов. Это может быть как статический код, так и результат выполнения COS. Рассмотрим, как их можно использовать в вашем приложении.
Читать дальше →

«Под капотом» Netflix: Анализ мирового кинематографа

Reading time3 min
Views34K


/ фото Brian Cantoni CC

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

Простая логическая загадка, демонстрирующая нелогичность людей

Reading time5 min
Views140K
image
Питер Васон

В 60-х годах психолог Питер Васон придумал эксперимент-загадку, «Задача выбора Васона». Говорят, что это наиболее часто исследуемая задача в психологии принятия решений.

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

Одна из версий задачи звучит так – испытуемому (который был всегда один, ибо Васон избегал групповых тестов) предлагались четыре карты – с одной стороны у каждой было число, с другой – один из двух цветов. Допустим, вы – испытуемый. У первой и второй карт вы видите лицевую сторону с числами 5 и 8, у третьей и четвёртой – обратную сторону, у одной – голубую, у другой — зелёную.

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

Забудьте САР теорему как более не актуальную

Reading time12 min
Views70K
или «Прекратите характеризовать хранилища данных как CP или AP»

capДжеф Ходжес в своем прекрасном посте «Заметки о распределенных системах для новичков» рекомендует использовать САР теорему для критики найденных решений. Многие, похоже, восприняли этот совет слишком близко к сердцу, описывая свои системы как «СР» (согласованность данных, но без постоянной доступности при сетевой распределенности), «АР» (доступность без согласованного состояния при сетевой распределенности), или иногда «СА» (означает «Я всё ещё не читал статью Коды (Coda Hale) почти 5-летней давности»).

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

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

САР использует слишком узкое определение


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

Пишем Бетховена на Javascript или немного о MIDI.js

Reading time7 min
Views23K
Как сыграть ноты в браузере? Как сократить любое длиннейшее произведение до 107 отдельных нот (которые можно еще и закэшировать) и килобайта-другого текста? Немного музыкальной теории, js-библиотеки и MIDI под катом.
Читать дальше →

Тест недорогих тепловизоров

Reading time8 min
Views58K
Здравствуйте.

Тепловизор — штука предельно полезная любому, кто любит что-то делать своими руками, что-то изучать и т.д. Но долгие годы они были недоступны по цене. К счастью, прогресс постепенно исправляет эту ситуацию.

Несколько месяцев назад я устраивал сравнительный тест недорогих тепловизоров Fluke VT04, FLIR TG165 и прототипа FLIR C2. Потом немного потестил серийный FLIR C2. Ну а сейчас подумал: а почему я до сих пор не написал про это на Geektimes?..

В принципе, все результаты тестов я тогда сразу же выкладывал на YouTube, так что те, кому лень читать, могут посмотреть видео. Но предупреждаю, там суммарно минут 40-45. Кому больше интересен текст — тем эта статья. Кому всё это скучно — для тех в конце статьи котики.
Читать дальше →

Что дизайнеру нужно знать о SVG: за и против

Reading time7 min
Views74K


Ранее в нашем блоге мы поднимали тему создания качественных веб-интерфейсов, в частности в одном из предыдущих топиков рассматривался вопрос правильного использования анимаций. В сегодняшнем материале речь пойдёт о технологии SVG, принципах работы с этой технологией, её плюсах и минусах. Кроме того, мы поинтересовались у отечественных дизайнеров, применяют ли они SVG, и если нет, то почему.
Читать дальше →

Прозрачность — наше всё, или Новые отчеты Jira в помощь менеджеру проекта

Reading time2 min
Views14K


Привет, Мегамозг!

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

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

И вы с коллегами (а может, даже и не вы, а кто-то до вас, как это было в моем случае) опираясь на богатый опыт, набрасываете план. План выглядит чудесно, и по нему все фичи ровно в срок, и burn rate в пределах клиентских ожиданий. Одним словом, не проект, а сказка, но проходит kick-off — и сказка начинает плавно превращаться в жизнь.
Читать дальше →

Мистерия марсианской воды ч.2

Reading time5 min
Views23K

Продолжение. Начало.

В 2005 году на орбиту Марса вышел новый современный космический аппарат — Mars Reconnaissance Orbiter. На его борту установлена камера высокого разрешения HiRise, гиперспектрометр CRISM, радар Sharad…

Камера HiRise снимает поверхность Марса с разрешением до 26 см на пиксель. Такое высокое разрешение обещало вывести исследование Красной планеты на новый уровень, и ожидания ученых оправдались. Поистине сенсационным наблюдением стали марсианские "ручьи", которые заметны на склонах кратеров в средних широтах.
Читать дальше →

Сравнение снимков «Столпов Творения», сделанных телескопом «Хаббл» в разное время

Reading time2 min
Views39K
Новости про телескоп Хаббл и просмотр потрясающих фотографий по теме приковали мой взгляд к двум его фотографиям, и сподвигли написать этот мини-пост, в котором я попытался передать восхищение и удивление.

Все хорошо знают знаменитые фото «Хаббла» — Столпы Творения.

image
Эти фотографии разделяет почти 20 лет

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

Итак, что же произошло на этом участке неба за 20 лет? Предлагаю полюбоваться, и сравнить эти две фотографии.

Под катом большой GIF.
Читать дальше →

В поисках справедливости: Очевидные принципы мотивации профессионалов, которые не сразу пришли в голову

Reading time14 min
Views29K


Привет, Мегамозг!

Сегодня мы хотели бы поделиться текстом Михаила Завилейского, генерального директора DataArt и автора другой замечательной статьи о менеджменте. Надеемся, вам понравится!

Disclaimer и благодарности

Хочется поделиться множеством мыслей, которые стали моими существенно позднее, чем мне хотелось бы и не пришли в мою голову «сами по себе». Просто довелось нечто услышать, увидеть, прочитать или получить совет, и в голове что-то «встало на место». Я бы хотел сказать спасибо всем поимённо, но не могу — помню только книжки Дэвида Майстера, пересказы семинаров Михаила Гринфельда и еще лица полудюжины умнейших людей, чьи имена я забыл… А скольких уже совсем не помню, но всё равно — всем спасибо! И вдруг еще кому-то пригодятся ваши идеи.
Читать дальше →

Почему существуют секс и разделение на мужчин и женщин?

Reading time5 min
Views62K
Казалось бы, было бы так просто и логично, если бы не было в природе деления на мужской и женский пол. Зачем вообще нужно половое размножение, если можно прекрасно делиться одному организму до скончания веков? Ведь, на поиски полового партнера нужны время и силы. А, если ты никому не понравишься, или, вообще, никого не найдешь, то ты не размножишься вообще.


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

Создано свободное государство Либерленд: «Живи и дай жить другим»

Reading time2 min
Views50K


В числе виртуальных государств (микронаций) пополнение. 13 апреля 2015 года образована новая страна Либерленд на ничейной территории площадью 6 км2 между Сербией и Хорватией (они не претендуют на этот кусочек леса). Похоже, уже начался ажиотаж среди граждан разных стран, которые хотят сменить место жительства. Только за вчерашний день подано около 1000 заявок на получение гражданства и получено более 6000 регистраций в сообществе Либерленд.
Читать дальше →

Леонардо да Винчи учит писать резюме

Reading time3 min
Views49K
До того, как стать знаменитым и написать Мону Лизу и Тайную Вечерю, Леонардо да Винчи разрабатывал оружие. В 1482 году в возрасте 30 лет Леонардо написал письмо Людовико Марии Сфорца, герцогу Милана, описав в нём свои возможности. Что мы в XXI веке сможем вынести из этого резюме?

Кликните на картинку и посмотрите оригинал в большом размере.
image
Читать дальше →

Красивые математические GIF-анимации

Reading time1 min
Views53K
У американского математика Клейтона Шонквилера (Clayton Shonkwiler) есть необычное хобби: он рисует GIF-анимации. Но не простые анимации, а научно выверенные, которые иллюстрируют красоту математики и геометрии. Некоторые из этих концепций можно даже использовать в дизайне.

У него уже накопилась немаленькая подборка.
18 МБ

Лекции Техносферы. 1 семестр. Методы использования СУБД в интернет-приложениях

Reading time4 min
Views31K


Сегодня мы предлагаем вашему вниманию очередную публикацию в рамках постоянной рубрики «Лекции Техносферы». В этот раз вы можете изучить материалы по курсу «Методы использования СУБД в интернет-приложениях». Цель курса — изучение топологии, многообразия и основных принципов функционирования систем хранения данных, а также алгоритмов, заложенных в основу как централизованных, так и распределённых систем, демонстрация фундаментальных компромиссов присущих тем или иным решениям. Преподаватели курса: Константин Осипов kostja, Евгений Блих bigbes, Роман Цисык.
Читать дальше →

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Registered
Activity