Как стать автором
Поиск
Написать публикацию
Обновить
0
0

Пользователь

Отправить сообщение

Алгоритм Диффи — Хеллмана

Время на прочтение1 мин
Количество просмотров166K
Одна из фундаментальных проблем криптографии – безопасное общение по прослушиваемому каналу. Сообщения нужно зашифровывать и расшифровывать, но для этого обеим сторонам нужно иметь общий ключ. Если этот ключ передавать по тому же каналу, то прослушивающая сторона тоже получит его, и смысл шифрования исчезнет.

Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.

Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.

Руководство для дизайнера по DPI

Время на прочтение27 мин
Количество просмотров324K


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

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →

«My way» с MS Excel

Время на прочтение9 мин
Количество просмотров35K
В компании, где я работаю, пользователи работают с данными с помощью MS Excel. Основным хранилищем информации является БД Oracle. Отсюда требуется:

  • Представление отчетов из базы данных в формате Excel
  • Забирать информацию в виде Excel файлов и заливать её в Oracle

Проблематика:


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

28 ошибок стартапера в глазах инвестора. Опыт бизнес-ангела

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



Управляющий директор венчурного фонда Vantage Point Capital Partners Ричард Хэррок в своей жизни повидал немало элеватор-спитчей и, решив поделиться опытом, составил для Forbes список основных ошибок и поступков, которых стартапер должен избежать во время презентации своего продукта, если хочет обрести благосклонность бизнес-ангела или привлечь венчурные инвестиции.
Читать дальше →

25+ видеоуроков по Android для начинающих

Время на прочтение2 мин
Количество просмотров415K

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

Как подружить ежа и ужа: опыт использования PowerShell в web-приложениях

Время на прочтение10 мин
Количество просмотров26K
imageЭта статья не претендует на полноценное руководство по программированию на PowerShell или пошаговую инструкцию по разработке высоконагруженных сервисов .NET. Но в ней собраны полезные приемы и разъяснение некоторых особенностей интеграции PowerShell с .NET, которые пока сложно или даже невозможно найти в Сети.
Читать дальше →

Работа с данными в мобильных приложениях. Реализуем offline хранилище и синхронизацию данных используя Microsoft Azure и SQLite

Время на прочтение6 мин
Количество просмотров21K
image

Сейчас на рынке есть огромное количество приложений, которые не приспособлены для работы offline, что создает неудобства для пользователей.
Некоторое время назад, для разработчиков на C# стал доступен новый Microsoft Azure Mobile Services SQLiteStore SDK 1.0 alpha, который предоставляет API для создания приложения, работающих в условиях отсутствия интернета и берущий на себя все заботы о синхронизации данных между локальной базой данных и базой данных Azure. В качестве локальной базы данных создается и используется SQLite.
Читать дальше →

Android Studio для NDK под Windows

Время на прочтение25 мин
Количество просмотров225K


На днях я обнаружил, что версия Android Studio неуклонно стремится к единице, в связи с чем задумался об изучении этого инструмента. Чтобы не было скучно, я решил поделиться своим опытом и собранными граблями в виде статьи-туториала.

Сразу хочу оговориться, что я не являюсь гуру Android-разработки, поэтому каких-либо откровений в тексте вы не найдете. Зато тут есть пошаговая инструкция по установке и настройке Android Studio под Windows и созданию простейшего проекта с использованием Android NDK.

Также заранее предупреждаю: статья получилась большой и очень подробной (честно, сам не ожидал), даже несмотря на то, что я почти все скриншоты и некоторые листинги кода спрятал под спойлеры.
Читать дальше →

Безопасность магазина в рознице: основные атаки

Время на прочтение7 мин
Количество просмотров113K


Вынос товара


Тащат всё, даже ненужное. Кажется, из спортивного интереса, по привычке или просто потому, что получилось. Но есть и настоящие профи. В простом случае товар банально кладётся в карман, в более сложных — избавляется от меток для противокражных ворот либо экранируется специальной сумкой с аналогом решетки Фарадея в стенках (от этого страдают магазины одежды). Крутые дорогие противокражные ворота умеют отличать редкоземельные магниты и сумки с экранирующими камерами на входе — поэтому новым витком стали аналоги средств РЭБ, в частности, разные китайские глушилки. Но куда чаще несут в кармане, рукаве, штанах, за голенищем или в коробке другого товара.

DDoS-атака на магазин с воровством


Представьте, в магазин внезапно заходит человек 15. Например, цыганский табор. Уследить за товаром просто физически невозможно. Мера — сначала напоказ нажимается тревожная кнопка (ещё на момент входа). Иногда такую атаку пытаются предпринять школьники, заваливаясь целым классом, но их-то найти по школам довольно просто (лица есть на видеонаблюдении).
Читать дальше →

Безопасность покупателя в рознице: что надо знать лично вам

Время на прочтение6 мин
Количество просмотров253K


Ценник должен быть с печатью или подписью. Он является документом и обязательно должен быть на товаре. Если вы видите что-то с ценником (неважно, где и как оно стоит), вы имеете право купить его по цене на нём.

Пример: вам говорят, что товар по акции кончился. Вы видите один в витрине в герметичном ящике под потолком, но с ценником. Вам не имеют права отказать в его продаже.

Второй пример: когда обновляются цены, в торговом зале может остаться ценник со старой ценой ниже. Цена в базе другая? Ну и что, вот ваш же документ. Если же вдруг ценник без печати-подписи, и на таком товаре нет правильного ценника — регистрируйте нарушение. Ценники обязательно должны быть хотя бы на одном товаре из пачки.
Читать дальше →

8 ловушек программирования

Время на прочтение13 мин
Количество просмотров224K


Эта статья содержит те ловушки программирования, в которые я попадал сам, продолжаю попадать и возможно никогда не прекращу, а также те, в которых я находил своих товарищей.

Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
Читать дальше →

Как определить язык по виду иероглифов/закорючек?

Время на прочтение1 мин
Количество просмотров194K
Вот, задался таким вопросом… С помощью гугл транслейта и такой-то матери, родилась такая блок-схемка:



картинка кликабельна

Кому нужен сорец (в .docx): тут

Как распознать кракозябры?

Время на прочтение1 мин
Количество просмотров433K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.

Samba4 в роли AD + файловый сервер

Время на прочтение5 мин
Количество просмотров158K
    В этой статье я рассмотрю по шагам подготовку к использованию Samba4 в роли контроллера домена вкупе с дополнительным файловым сервером так же на базе Samba4. Что в итоге мы получим? Два настроенных сервера с samba4, первый в роли domain controller, второй в роли member server с файлами пользователей. Функционирования этой связки я добивался около месяца, за сим, не поделится конечным рецептом просто не имею права…



    Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…
Читать дальше →

C#. Сортировка членов типа с помощью ReSharper

Время на прочтение6 мин
Количество просмотров15K

Существуют некоторые соглашения касаемые структуры класса, и того, в каком порядке должны располагаться его члены.
Вот, например, правила которые использует StyleCop, возможно, в вашей компании есть свои собственные.
Поддерживать структуру вручную довольно тяжело, скучно и отнимает много времени, особенно когда в классе довольно большое количество свойств, полей, методов и.т.д.
В этом посте речь пойдет о том, как с помощью ReSharper автоматизировать этот процесс.
Читать дальше →

Шпаргалка по типам и стандартам Ethernet 802.3

Время на прочтение3 мин
Количество просмотров364K

Когда я изучал CCNA больше всего меня напрягали стандарты IEEE из-за своего количества, типов и названий. И приходилось каждый раз искать и смотреть какому стандарту соответствует такой-то тип интерфейса. После многих часов работы я смог слепить до кучи таблицы по каждому типу Ethernet интерфейсов, которая включает год выпуска стандарта, тип интерфейса, скорость передачи данных соответствующего типа интерфейса, максимальную длину сегмента и тип используемого кабеля. Рад поделиться с читателями.
Читать дальше →

«Идеальный» кластер. Часть 2.1: Виртуальный кластер на hetzner

Время на прочтение7 мин
Количество просмотров40K


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


Арендуя очередной сервер в дата-центре, каждый задумывается о рациональности его использования.
Ведь ни для кого не секрет, что хорошо настроенный сервер не должен быть слишком нагружен и в нем должно быть достаточно ресурсов для выполнения другой работы. Кроме вышесказанного, важна отказоустойчивость и поэтому держать несколько копий одного и того же сервера в качестве hot swap, кажется отличной идеей.
Для решения этих задач и нужна виртуализация.

Сейчас я расскажу, как можно быстро сделать из одного сервера целый кластер серверов на базе linux и windows.
В дальнейших статьях я попытаюсь объяснить, как поднять безопасный web-кластер и использовать все прелести современных технологий виртуализации.
В этой инструкции речь пойдет о бесплатной системе виртуализации Proxmox, она находится в свободном доступе, но за поддержку требует плату. Мы попробуем обойтись без поддержки и коммерческого репозитория Proxmox. Вот что говорит о об этом продукте википедия

Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
В качестве гипервизоров использует KVM и OpenVZ. Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.
Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.

Ключевые возможности

  • Простое управление через веб-интерфейс;
  • Мониторинг нагрузки в реальном времени;
  • Библиотека установочных образов (в локальном или удаленном хранилище);
  • Подключение к «физической» консоли гостевых систем непосредственно из браузера (по VNC);
  • Объединение серверов в кластер с возможностью живой миграции виртуальных машин (без остановки гостевой системы);
  • Быстрое развертывание гостевых систем из шаблонов (доступно только для OpenVZ);
  • Автоматическое резервное копирование виртуальных машин.


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

Практика IPv6 — домашняя сеть

Время на прочтение17 мин
Количество просмотров275K
Abstract: Рассказ про некоторые возможности IPv6 на примере конфигурации сложной домашней IPv6-сети. Включает в себя описания мультикаста, подробности настройки и отладки router advertisement, stateless DHCP и т.д. Описано для linux-системы. Помимо самой конфигурации мы внимательно обсудим некоторые понятия IPv6 в теоретическом плане, а так же некоторые приёмы при работе с IPv6.

Зачем IPv6?


Вполне понятный вопрос: почему я ношусь с IPv6 сейчас, когда от него сейчас нет практически никакой пользы?

Сейчас с IPv6 можно возиться совершенно безопасно, без каких-либо негативных последствий. Можно мирно разбираться в граблях и особенностях, иметь его неработающим месяцами и nobody cares. Я не планирую в свои старшие годы становиться зашоренным коболистом-консерватором, который всю жизнь писал кобол и больше ничего, и все новинки для него «чушь и ерунда». А вот мой досточтимый воображаемый конкурент, когда IPv6 станет продакт-реальностью, будет либо мне не конкурентом, либо мучительно и в состоянии дистресса разбираться с DAD, RA, temporary dynamic addresses и прочими странными вещами, которым посвящено 30+ RFC. А что IPv6 станет основным протоколом ещё при моей жизни — это очевидно, так как альтернатив нет (даже если бы они были, их внедрение — это количество усилий бОльшее, чем завершение внедрения IPv6, то есть любая альтернатива всегда будет отставать). И что адреса таки заканчиваются видно, по тому, как процесс управления ими перешёл во вторую стадию — стадию вторичного рынка. Когда свободные резервы спекуляций и хомячаяния адресов закончится, начнётся этап суровой консолидации — то есть выкидывание всего неважного с адресов, перенос всех «на один адрес» и т.д. Примерно в это время IPv6 начнёт использоваться для реальной работы.

Впрочем, рассказ не про будущее IPv6, а про практику работы с ним. В Санкт-Петербурге есть такой провайдер — Tierа. И я их домашний пользователь. Это один из немногих провайдеров, или, может быть, единственный в городе, кто предоставляет IPv6 домашним пользователям. Пользователю выделяется один IPv6 адрес (для маршрутизатора или компьютера), плюс /64 сетка для всего остального (то есть в четыре миллиарда раз больше адресов, чем всего IPv4 адресов быть может — и всё это в одни руки). Я попробую не просто описать «как настроить IPv6», но разобрать базовые понятия протокола на практических примерах с теоретическими вставками.

Структура сети:

(Оригиналы картинок: github.com/amarao/dia_schemes)
  • 1, 2, 3 — устройства в локальной сети, работают по WiFi
  • 4 — WiFi-роутер, принужденный к работе в роле access point (bridge), то есть коммутатора между WiFi и LAN
  • 5 — eth3 сетевой интерфейс, который раздаёт интернет в локальной сети
  • 6 — мой домашний компьютер (основной) — desunote.ru, который раздачей интернета и занимается, то есть работает маршрутизатором
  • 7 — eth2, интерфейс подключения к сети Tiera

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

Что такое качество кода и зачем его измерять

Время на прочтение5 мин
Количество просмотров45K

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

Кросс-платформенная разработка на Xamarin

Время на прочтение12 мин
Количество просмотров20K
Добрый вечер, хабравчане! Сегодня хотелось бы написать о кросс-платформенной разработке в целом. Ведь по сути люди сейчас делят десктоп, сервер и мобильных клиентов и стараются искать кросс-платформенные тулы внутри каждого сектора, не заглядывая за рамки каждого из секторов. Это бывает по различным причинам. Одна из причин — Вася знает как делать десктоп на Java, а Петя — как делать приложеньки под iPhone на Objective-C. И никто даже догадаться не может что есть технологии, объединяющие все платформы воедино.

За катом много текста и статистики.


Мое выступление на Apps4All Forum. Выступление первое, все ошибки подачи материала уже намотал на ус.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность