Дайджест KolibriOS #8: дары весны

Автор: admin от 1-06-2015, 23:54, посмотрело: 510

Дайджест KolibriOS #8: дары весныВот и подходит к концу весна, готовясь передать свои полномочия лету. Ну а мы же хотим поведать вам о том, что за этот период было сделанно в КолибриОС

Категория: Операционные системы / iOS

 

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

Автор: admin от 1-06-2015, 19:50, посмотрело: 519

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

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

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


  • Миграция в на новые версии в mongodb

    • До версии 2.6

    • С 2.6 до 3.0 версии

    • Новое в PyMongo


  • Запросы сравнения и логические

  • Полнотекстовый поиск, regexp, индексы и пр.

  • Атомарные операторы (модифицирующие данные )

  • Немного о транзакциях в Mongodb

    • Уникальный индекс

    • Двухфазный коммит


  • Агрегационный фреймворк и JOIN-ы

  • Примеры

    • Деревья, комментарии

    • Теги, блоги

    • Е-commerce, фильтры


  • Небольшая песочница на Python

  • Категория: Программирование / Веб-разработка

     

    Тайм-менеджмент для разработчика

    Автор: admin от 1-06-2015, 19:43, посмотрело: 584

    Когда вы только начинаете работать, то у вас все ясно и понятно, задач не так много, вы представляете как с ними работать. Но со временем появляется мысль «у меня столько задач!!! что с ними делать? за что взяться?», либо просто приходит осознание, что задач накопилось очень много. В этом случае вам поможет тайм-менеджмент.

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

    Тайм-менеджмент по сути это совокупность действий по тренировке осознанного контроля над временем, посредством которого можно существенно увеличивать свою продуктивность и эффективность.

    Как правильно подойти к этому процессу? Мне нравится подход в гибких методологиях разработки. Чем же они так нравятся разработчикам? Думаю, что тем, что их можно подстраивать под себя. Главная идея, из которой я предлагаю исходить — это набор правил, при этом каждый может выбирать из них те, что подходят именно ему, может дополнять, исходя из своих потребностей.

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

    Для начала рассмотрим основную идею тайм-менеджмента. То есть возьмем то, что не напугает разработчика.

    Категория: Программирование / Веб-разработка

     

    Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

    Автор: admin от 1-06-2015, 19:09, посмотрело: 2 298

    Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

    Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.

    Категория: Системное администрирование / Windows / Linux

     

    В поисках идеального фреймворка для JavaScript

    Автор: admin от 1-06-2015, 18:09, посмотрело: 551

    В наше время для разработки фронтенда существует много фреймворков и библиотек. Есть хорошие, есть не очень. Часто нам нравится только какая-то концепция, модуль или синтакс. Универсальных инструментов не существует. В статье я описываю фреймворк будущего – такой, которого ещё нет. Я собрал достоинства и недостатки известных фреймворков и мечтаю об идеальном решении.

    Абстракция опасна


    Всем нравится простота. Сложность убивает. Она усложняет работу и приводит к крутой кривой обучения. Программистом нужно понимать, что как работает – иначе они чувствуют себя неуверенно. При работе со сложной системой есть большое расстояние между «я её использую» и «я знаю, как это работает». К примеру, следующий код прячет сложность:

    var page = Framework.createPage({
    	'type': 'home',
    	'visible': true
    });
    


    Допустим, это реальный фреймворк. createPage где-то создаёт новый класс Вида, загружающий html-шаблон home. Основываясь на параметре visible мы добавляем созданный DOM-элемент к дереву. С точки зрения разработчика мы не знаем, как это всё работает в деталях, потому, что это – абстракция.

    У некоторых фреймворков есть не один, а много уровней абстракции. Иногда нам нужно знать детали его работы. Абстракция – инструмент мощный, поскольку она делает обёртки для функциональностей, инкапсулирует решения по поводу дизайна. Но её надо использовать с умом, потому что она приводит к процессам, которые трудно отслеживать.

    Если мы поменяем пример на следующий:

    Категория: Программирование

     

    Проблемы, вызванные определением кортежей как функторов

    Автор: admin от 1-06-2015, 18:09, посмотрело: 385

    Очень удивительно (я бы даже сказал — внезапно!), но кортеж-пара в GHC является функтором. Это сложно понять, ведь функтор должен иметь только один параметр, а у пары их два. Можно восхищаться тем, как разработчики стандартной библиотеки GHC умудрились предоставить такую абстракцию, но мне кажется, полученное решение все же следует признать неудачным.

    Начнем с того, что оно интуитивно непонятно. Скажем, попробуйте вычислить вручную, не используя инструментов GHC, выражение (1+) `fmap` (2, 3). А после этого проверьте полученный результат, например, в ghci. У многих ли результат ручного вычисления совпал с тем, который выдала система? И если у вас результаты все же совпали, мне очень хотелось бы услышать хорошее объяснение того, как именно вам это удалось.

    Категория: Программирование

     

    PVS-Studio — приглашаем послушать и посмотреть

    Автор: admin от 1-06-2015, 17:47, посмотрело: 438

    PVS-Studio — приглашаем послушать и посмотреть
    Так получилась, что на днях Андрей Карпов принял участие в Positive Hack Days и выступил там с докладом. А Евгений Рыжков слал гостем SDCast'а и в результате чего получился 40 минтуный подкаст. В обоих случаях речь идёт о статическом анализе кода вообще, и анализаторе PVS-Studio в частности. Если Вам интересна эта тематика, то приглашаю под habracut, где можно узнать чуть больше деталей и увидеть ссылки на эти материалы.

    Категория: Программирование

     

    Программирование микроконтроллеров 1986ВЕ1Т в Qt Creator

    Автор: admin от 1-06-2015, 16:58, посмотрело: 2 444

    Хочу показать, как можно писать код и собирать hex-файлы для отечественных микроконтроллеров компании «Миландр» в удобной среде Qt Creator. Обычно для этих средств используются другие среды разработки, но с появлением системы QBS все несколько поменялось.

    Категория: Программирование

     

    Реализация погодных эффектов. Осадки

    Автор: admin от 1-06-2015, 16:53, посмотрело: 450

    Реализация погодных эффектов. Осадки

    Задача корректной симуляции погодных эффектов тянется практически с самого основания игровой индустрии. Погода – неотъемлемая часть нашей жизни, а значит, игры без погодных эффектов не совсем полноценны. Именно поэтому редкая игра обходится без хотя бы очень примитивной погодной симуляции. Поскольку задача весьма стара, то имеется множество устаревших решений, которые и сейчас продолжают использоваться, несмотря на очевидно низкую эффективность. И если с обычным туманом всё просто, то реализация осадков вызывает определенные трудности.

    Итак, что же такое дождь или снег в реальном мире?

    Категория: Программирование / Game Development

     

    Наибольшие малые многогранники: новые решения в комбинаторной геометрии

    Автор: admin от 1-06-2015, 15:55, посмотрело: 511

    Наибольшие малые многогранники: новые решения в комбинаторной геометрии

    Перевод поста Ed Pegg Jr."Biggest Little Polyhedron—New Solutions in Combinatorial Geometry".
    Скачать файл, содержащий текст статьи, интерактивные модели многогранников и код, приведенный в статье, можно здесь.
    Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.
    Во многих областях математики ответом будет единица 1. Возведение числа в квадрат, которое больше или меньше единицы, даст большее или меньшее число соответственно. Иногда для того, чтобы определить, является ли что-то «большим», необходимо выяснить, больше ли единицы наибольший размер этого объекта. К примеру, гигансткий гексагон Сатурна с длиной стороны в 13,800 км можно было-бы отнести к большим. «Малый многоугольник» — это тот, у которого максимальное расстояние между вершинами равно единице. В 1975 году Рон Грэм открыл наибольший малый шестиугольник, который, как показано ниже, имеет большую площадь, чем у правильного шестиугольника. Красные диагонали имеют единичную длину. Все остальные (непроведённые) диагонали имеют меньшую длину.

    Наибольшие малые многогранники: новые решения в комбинаторной геометрии

    Категория: Программирование

     
    Назад Вперед