Архив за 24 ноября 2013 - 5

Здравствуйте!

Сегодня я хочу рассказать, что я думал по-поводу «проблемы доверия в нашем проекте Свезёт ».
Это отходит от озвученного плана, но тема важная, и поэтому я решил описать ее досрочно.

Казалось бы,

ни что не укрепляет веру в людей так, как предоплата.

Но предоплата в интернете имеет много «подводных камней», а именно:

  1. Сама мысль засылать куда-то деньги ставит у людей в голове барьеры. А если идея проекта новая и выгода от нее сразу не очевидна, то «отказ» практически гарантирован.
  2. Не очевидный для многих «камень». Легализация этих самых платежей с точки зрения налоговой службы.

Остановимся на последнем пункте подробнее.
Предупреждение: сразу скажу: пост может быть интересен тем, кто подумывает о своем стартапе или почитать «для общего развития».
Он будет про бухгалтерию/налоги. Может быть крайне скучен. Но он объясняет почему так, а не иначе устроен наш проект.
Вторая часть будет поинтереснее.
Читать полностью »

В Сети появился слайд, рассказывающий о гибридных процессорах AMD Kaveri 2.0. Основой этих APU будет ядро SteamrollerB, превосходство которого по производительности над Richland будет достигать 20%. В конфигурацию Kaveri 2.0 будет входить до четырех ядер и до 4 МБ кэш-памяти второго уровня. Частота работы ядер будет регулироваться технологией Turbo Core с учетом их температуры.

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

На сайте KickStarter компания Electroninks собирает средства на выпуск ручки Circuit Scribe. Процесс идет весьма успешно. Хотя до окончания проекта остается еще 37 дней, разработчики Circuit Scribe уже собрали 218 тысяч долларов при первоначально намеченной сумме 85 тысяч.

Секрет шариковой ручки Circuit Scribe состоит в том, что она заправлена токопроводящими чернилами на основе серебра. Это позволяет использовать ручку для рисования проводников. По мнению создателей ручки, с ее помощью можно обучать основам электроники и быстро создавать прототипы электронных устройств.

в 6:47, , рубрики: Без рубрики

Введение

Роль алгоритмов в программированииПервый шаг к пониманию важности изучения и знания алгоритмов это дать точное определение тому, что понимается под алгоритмом. Согласно популярной книге Алгоритмы: построение и анализ (Кормен, Лейзерсон, Ривест, Штайн) «алгоритм (algorithm) — это любая корректно определенная вычислительная процедура, на вход (input) которой подается некоторая величина или набор величин, и результатом выполнения которой является выходная (output) величина или набор значений». Другими словами, алгоритмы похожи на дорожные карты для достижения четко определенной цели. Код, для вычисления членов последовательности Фибоначчи — это реализация конкретного алгоритма. Даже простая функция сложения двух чисел является алгоритмом, хотя и простым.

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

image

В своё время, когда я работал в интернет-агентстве, у нас был внутренний инструмент, наподобие надстройки над CRM, в котором мы вели учёт по всем клиентским доменам, коих насчитывалось чуть менее тысячи. Те времена давно ушли, и вот я уже в другой компании столкнулся с подобной проблемой.

Большое количество клиентских доменов создаёт массу проблем по их продлению. Ведь домен обычно зарегистрирован на клиента, и письма о необходимости продления приходят ему, на давно забытый ящик. И даже если письмо будет просмотрено, клиент скорее всего удалит его, так как он считает, что все проблемы с интернетом за него решает компания подрядчик.
Читать полностью »

Статья предназначена для людей пытающихся создать свою первую «таблицу» в БД Cassandra.

За посление несколько релизов Кассандры разработчики взяли правильный вектор направленный на простоту использования этой базы данных. Учитывая её достоинства, такие как скорость работы и отказоустойчиваость, её было сложно как администрировать, так и писать под неё. Сейчас же количество танцев с бубном, которые надо провести прежде чем запустить и начать разрабатывать, свели к минимуму — несколько комманд в bash или один .msi в Windows.
Более того, сильно облегчил жизнь разработчикам недавно обновлённый CQL (язык запросов), вытеснив бинарный и довольно сложный язык Thrift.
Лично я столкнулся с проблемой наличия отсуствия русскоязычных руководств по Кассандре. Самую, на мой взгляд, сложную тему мне бы хотелось поднять в этой статье. Как же дизайнить базу данных то?

  • Статья НЕ предназначена для людей, которые впервые видят слово Cassandra.
  • Статья НЕ служит как рекламный материал той или иной технологии.
  • Статья НЕ стремится доказать что-либо кому-либо.
  • Если скорость записи/чтения не так важна, и если «100% uptime» не сильно нужен, и если у вас всего лишь несколько миллионов записей, то, вероятно, эта статья, да и вся Cassandra в целом, — не то, что вам нужно.

Ликбез

  • Cassandra (далее C*) — распределённая NoSQL БД, поэтому все решения «почему так, а не вот так» всегда принимаются с оглядкой на кластеризацию.
  • CQL — это SQL-подобный язык. Аббревиатура от Cassandra Query Language.
  • Node (нода) — инстанс C*, или java процесс в терминах операционных систем. На одной машине можно запустить несколько нод, например.
  • Основная единица хранения — строка. Строка целиком хранится на нодах, т.е. нет ситуаций когда полстроки — на одной ноде, полстроки — на другой. Строка может динамически раширяться до 2 миллиардов колонок. Это важно.
  • cqlsh — коммандная строка для CQL. Все примеры ниже выполняются именно в ней. Является частью дистрибутива C*.

Основное правило моделирования данных в C*

Кассандра создавалась как распределённая БД с упором на максимальную скорость записи и чтения. Моделировать «таблицы» нужно в зависимости от SELECT запросов вашего приложения.
В SQL мы привыкли накидать таблиц, связей между ними, и потом уже SELECT ... JOIN ... чего хотим и как хотим. Именно JOIN-ы основная проблема с произвоидтельностью в RDBMS. Их нет в CQL.

Первый пример.

У нас есть сотрудники какой-то компании. Создадим таблицу (которые на самом деле называются Column Family, но для простоты перехода с SQL на CQL используют слово table) на CQL и заполним данными:

CREATE TABLE employees (
    name text,
    age int,
    role text,
    PRIMARY KEY (name)
);
INSERT INTO employees (name, age, role) VALUES ('john', 37, 'dev');
INSERT INTO employees (name, age, role) VALUES ('eric', 38, 'ceo');

Таблицы в C* обязаны иметь PRIMARY KEY. Он используется для поиска ноды, в которой хранится искомая строка.

Прочитаем данные:

SELECT * FROM employees;

Эта картинка — руками разукрашенный вывод cqlsh.
Моделирование данных в БД Cassandra 2.0 на CQL3

Выглядит как обычная таблица из реляционной БД. C* создаст две строки.
Моделирование данных в БД Cassandra 2.0 на CQL3
Внимание! Это две внутренние структуры строк, а не таблицы. Если чуть слукавить, то можно сказать, что каждая строка — это как маленькая таблица. Далее понятней.
Читать полностью »

АНБ заразило вирусами более 50.000 сетей по всему миру Голландская газета NRC Handelsblad публикует новую порцию документов от бывшего сотрудника АНБ Эдварда Сноудена. На слайде презентации АНБ от 2012 года, показаны пути получения информации со всего мира, в том числе с помощью т.н. Computer Network Exploitation (CNE — метод получения информации из закрытых компьютерных сетей с помощью заражения отдельных машин). Согласно информации на слайде, уже в 2012 году таким образом было скомпрометировано более 50 тысяч по всему миру, некоторые из которых, судя по представленной карте, расположены в России.

Для осуществления подобных компьютерных атак в АНБ создано специальное подразделение TAO (Tailored Access Operations). Согласно открытым источникам, в данном подразделении работают более тысячи профессиональных хакеров.
Читать полностью »

Ассортимент компании Team Group пополнили флэш-накопители M131 серии Mobile Storage, которые можно подключать к смартфонам и планшетам с поддержкой USB OTG, поскольку в комплект входит переходник с разъемом micro-USB. Для подключения к компьютерам используется полноразмерный разъем USB. Устройство оснащено интерфейсом USB 2.0

При габаритах 44 x 16,6 x 9,4 мм накопитель Team Group M131 весит 6,6 г

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

Компания Pioneer анонсировала продажи в Японии беспроводного дока APS-WF01J, который позволяет подключать к ПК устройства с интерфейсом USB, такие, как внешние накопители, принтеры, сканеры, акустические системы и т.п.

Стыковочная станция Pioneer APS-WF01J в Японии будет стоить $150

Читатели с хорошей зрительной памятью узнают в новинке стыковочную станцию, которой комплектуется Читать полностью »

Специалистами компании Sony разработан датчик изображения IMX124LQT, предназначенный для промышленного применения. Датчик типа CMOS с обратной засветкой имеет разрешение 3,21 Мп и характеризуется повышенной светочувствительностью. В зависимости от выбранного соотношения сторон кадра, его активная область имеет размер 6,46 мм по диагонали (QXGA, оптический формат 1/2,8 дюйма) или 5,56 мм (Full HD, 1/3,2 дюйма).

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


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