Архив за 28 августа 2014 - 4

Пару лет назад наткнулся на статью, в которой рассматривалась тема использования PIM в реальной жизни, с тех пор эта тема не покидает мои мысли. Прочитал и подумал: вот он Грааль личной эффективности. За это время прочитал достаточно много статей по этой интересной теме, но той единственной пока не нашел. Авторы статей размышляют на тему какой он, этот PIM, но четкого представления о том, что он из себя представляет, ни у кого нет, как нет и софта, который достаточно полно реализует идеи PIM.

Идеи в статьях на тему PIM:

1. PIM, как статичная, структурированная база материалов, интересующих пользователя.
2. Другие делают упор на организацию данных в виде MindMaps, на которых удобно отображать логические связи, генерировать идеи на основе отображенных данных.
3. PIM, как personal task manager, ориентированный чисто на реализацию принципов GTD.
4. PIM, как экспертная система, в которой накапливаются знания, которые получает пользователь в процессе своей профессиональной деятельности.
5. PIM, как дневник, в котором пользователь описывает свои идеи, ощущения. Такой «блог для себя самого».

Попробую сформулировать свои требования к «правильному» PIM, как я его представляю.
Читать полностью »

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

image

Читать полностью »

image

Повсеместно принято, что в «серьезных» CRUD приложениях база данных становится во главу угла. Ее проектируют самой первой, она обрастает хранимыми процедурами (stored procedures), с ней приходиться возиться больше всего. Но это не единственный путь! Для Entity Framework есть Code First подход, где главным становится код, а не база. Преимущества:

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

Есть и пара недостатков, но они скорее связаны с Entity Framework, а не с Code First подходом как таковым; о них чуть позже.

Ниже я покажу на примере, насколько просто разрабатывать с Code First подходом.
Читать полностью »

image

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

Понятное дело, хорошо, когда все задачи выполняются быстро и без проволочек.

Для ускорения выполнения задач желательно решить две проблемы:

  • Научить воркер не ждать выполнения каждого отдельного этапа задачи (асинхронность)
  • Научить воркер выполнять одновременно несколько задач (многопоточность) (disclaimer: на самом деле термин «многопоточность» тут используется в значении «многопроцессность»)

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

Образы Docker могуть быть очень большими. Многие превышают 1 Гб в размере. Как они становятся такими? Должны ли они быть такими? Можем ли мы сделать их меньше, не жертвуя функциональностью?

В CenturyLink Lab мы много работали над сборкой различных docker-образов в последнее время. Когда мы начали экспериментировать с их созданием, мы обнаружили, что наши сборки очень быстро раздуваются в объеме (обычным делом было собрать образ, который весит 1 Гб или больше). Размер, конечно, не столь важен, если мы говорим про образы по два гига, лежащие на локальной машине. Но это становится проблемой, когда вы начинаете постоянно скачивать/отправлять эти образы через интернет.

Я решил, что стоит копнуть поглубже и разобраться с тем, как работает процесс создания docker-образов, чтобы понять, что можно сделать для уменьшения размера наших сборок. Читать полностью »

Введение

MIDI-контроллер — устройство, преобразующее определённый физический процесс в набор цифровых команд формата MIDI. Физическим процессом может являться всё, что угодно — от нажатия пальцем на клавишу до поворота ручки громкости. Полученный поток команд передаётся посредством протокола MIDI другим устройствам — компьютеру, аппаратным семплерам, синтезаторам или внешним секвенсорам и расшифровывается там определённым образом. Наиболее распространённым типом MIDI-контроллера является MIDI-клавиатура — электронный аналог клавиатуры фортепиано. Также существует множество других типов контроллеров, среди которых — электронные ударные установки.
Читать полностью »

В свежем обновлении мобильного приложения "ВКонтакте" под Android появилась функция быстрого добавление в друзья человека, находящегося рядом. Об этом пишет сообщество Live Экспресс.

В раздел можно зайти из "Поиска друзей". Если приложение не может само найти пользователей поблизости, то другому пользователю нужно зайти в этот же раздел. Или можно воспользоваться камерой и распознать QR-код.

"ВКонтакте" научился добавлять в друзья людей, находящихся рядом "ВКонтакте" научился добавлять в друзья людей, находящихся рядомЧитать полностью »

Компания Samsung не стала откладывать премьеру своих новых умных часов до самого открытия выставки IFA 2014 — на официальном ресурсе уже опубликованы изображения и характеристики носимого устройства, названного Gear S. Новинка, напомним, стала первыми умными часами Samsung под управлением Tizen с поддержкой голосовой телефонии собственным силами.

Samsung Gear S

Читать полностью »

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

Предпочтения пользователей меняются в зависимости от страны и устройства, с которого они заходят на сайт. Очень близки к идеалу оказались банковские карты, популярность которых растет из года в год, в том числе и в России. Это не только один из самых распространенных способов оплаты, но и самый прибыльный из всех доступных на сайте Badoo, а их более 20.

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

Всем известно, что мне не нравится третья версия Python и то, в каком направлении развивается этот язык программирования. За последние несколько месяцев я получил много писем с вопросами о моём видении развития Python и решил поделиться своими мыслями с сообществом, чтобы, по возможности, дать пищу для размышлений будущим разработчикам языка :)

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

Я хочу начать наш разговор с одной странности интерпретатора (слоты) и закончить его самой большой ошибкой архитектуры языка. По сути, эта серия постов является исследованием решений, заложенных в архитектуре интерпретатора, и их влияния как на интерпретатор, так и на сам язык. Я считаю, что с точки зрения общего дизайна языка такие статьи будут выглядеть гораздо интереснее, чем просто высказывание мыслей по улучшению Python.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js