Pull to refresh
0
0
Антон @durik

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

Send message

Самостоятельное изучение схемотехники

Reading time2 min
Views235K
Я решил написать ряд статей, которые должны помочь разобраться самостоятельно в предмете схемотехники. Первая часть вводная, в ней рассказывается об основных дисциплинах, которые стоит изучить для понимания принципов конструктирования и построения электрических схем. Если эта статья вам понравится, тема будет развиваться, внимание будет фокусироваться на нюансах и примерах.

Image #851653, 113.3 KB
Читать дальше →

Гомоморфное шифрование/ (Fully) Homomorphic Encryption

Reading time2 min
Views7.1K
Так и подмывало озаглавить тему: «Закат компании Гугл близок!», но все-таки слишком уж «желто» было бы.

Теперь к делу. Что такое «гомоморфное шифрование» и причем тут Гугл?

Гомоморфным шифрованием называют такую криптосистему, которая позволяет совершать некоторые математические действия с открытым текстом путем произведения операций с зашифрованным (возможно другое математическое действие или даже ряд операций). Например, RSA гомоморфна для операции умножения (тривиально из самого шифрования).

Удивительно, но до недавних пор не существовало криптосистемы гомоморфной для операций умножения и суммирования одновременно, так называемого полностью гомоморфного шифрования (fully homomorphic encryption), т.к. суммы и умножения хватит, чтобы выразить любую математическую функцию. Главная проблема с предыдущими схемами была в том, что каждая операция добавляет некоторый «шум» в криптотекст (посмотрите на формулу RSA и вспомните определение mod), поэтому через некоторое количество шагов накопленный шум делает расшифровку невозможной. Насколько я помню из презентации, говорилось, что подобные схему все же существуют, но они экспоненциональны по «эффективности».

Крэйг Гэнтри (Craig Gentry, PhD Stanford, IBM Research) опубликовал пример первой такой функции в своей PhD диссертации. Не вдаваясь в подробности (да и не буду делать вид, что на 100% понял все математические выкладки), смысл его решения заключается в том, что он использует двойное шифрование. Т.е. через определенное количество шагов он «снимает верхний слой» (первое шифрование) и «убирает» накопившийся «шум».

Как это работает, я расскажу общими словами и примерами, которые он сам использовал в своей презентации. Кому интересна математика и более формальное объяснение — читать диссертацию.
Остальным под кат

Работа с базами данных в Qt

Reading time6 min
Views211K
Qt дает возможность создания платформо-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает «родные» драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Qt включает специфичные для баз данных виджеты, а также поддерживает расширение для работы с базами данных любых встроенных или отдельно написанных виджетов.
Читать дальше →

Несколько фишек для изучающих английский язык

Reading time1 min
Views48K
1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm

Надеюсь каждый нашел для себя что-то полезное:)

Типовой шаблон технического задания на разработку сайта

Reading time2 min
Views450K
ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

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

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

Выборка произвольных записей в MySQL

Reading time4 min
Views108K
Есть вроде бы обычные задачи, которые можно решить сразу и не задумываясь, но при интенсивном использовании таких решений возникают проблемы, причем не маленькие. Об одной из таких задач я и хочу рассказать.
Почитать интересную статью

Разработка на Qt для Symbian S60 официально доступна

Reading time2 min
Views4.9K
Очень долго ждал официального релиза Qt 4.6.0, так как Тролли обещали поддержать официально разработку под S60 на Qt. Пока существовал Developer Preview — разработчик мог писать приложения для S60, но не существовало никаких механизмов для предоставления приложений конечному потребителю (то-есть пользователю).
image
image
На момент выхода релиза 4.6.0 обещали эту ситуацию поправить, и в форумах и в переписке тролли отвечали на вопросы касающиеся «deploy»'у (очень не нравится мне русский аналог этого слова: «развертывание» ) приложений на устройства так: «В пред релизе этого нет, ждите официального релиза. Там всё будет!».

Что же изменилось с выходом официального релиза?
Читать дальше →

Hello World! как ему следует быть на C в Linux

Reading time3 min
Views52K
Очень многие начинающие программисты думают, что знают, как написать Hello World. Естественно, с этого примера ведь и начинается большинство учебников.
А давайте посмотрим, как это делается.
Обычно в учебнике по C эта программа выглядит примерно так:
#include <stdio.h>
void main()
{
    printf("Hello world\n");
}

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

Серия скринкастов по VIM

Reading time1 min
Views5.8K
Если вы хотели начать работать с VIM, но вас что-то останавливало, то перед вами прекрасная возможность начать снова.

Ну а если вы уже продвинутый Vimmer то для вас тоже найдётся что посмотреть.

TeX-like разметка на Javascript

Reading time2 min
Views2.4K
При написании console-like форума был задан вопрос: «какую разметку лучше использовать?». Среди вариантов были стандартный бб-код ([b]bold[/b]), вики-разметка(*bold*), или TeX-like разметка (\b{bold}). После недолгого совещания выбор был остановлен именно на TeX-like. Была написана небольшая библиотека, которая, по моему мнению, достаточно интересна, расширяема и гибка. Желающие посмотреть пример могут перейти по ссылке freecr.ru/TeX
Под хабракатом у меня исходный код под лицензией LGPL, объяснение возможностей, принципов и примеры написания плагинов.

FreeCR — консольный форум

Reading time1 min
Views1.7K
Автор проекта и топика — TheShock, карму и благодарности слать ему.

Хочу представить вам альфа-версию нового проекта – console-like форума.

Комментариев будет мало — проект говорит сам за себя.

Адрес: http://freecr.ru/

Надеюсь, всем, здесь присутствующим, не составит труда разобраться в нем.

image
(по ссылке скриншот полностью)



P.S. Не забывайте, что это альфа-версия и потому возможна не совсем корректная работа.

Структуры данных: бинарные деревья. Часть 1

Reading time6 min
Views377K

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

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

Миссия невыполнима

Reading time8 min
Views9K
image
Пожалуй наиболее известной надписью в Центральном Разведывательном Управлении США, штаб-квартира которого располагается, как мы все знаем, в Ленгли — штат Вирджиния, являются библейские слова выщербленные в мраморе главного холла: «And ye shall know the truth, and the truth shall make you free» (И да узришь ты истину, и истина сделает тебя свободным, Иоанн 8:32) Однако в последние годы, другой текст стал предметом всеобщего ажиотажа и интереса; текст, являющийся квинтэссенцией всего происходящего в стенах ЦРУ — это 865 символов кажущихся абсолютной бессмыслицей, выдавленной в медном листе толщиной 1,3 см.

Инсталляция Kryptos, созданная человеком по имени Джеймс Санборн (James Sanborn), обосновалась при дворе ЦРУ в уже далеком 1988, когда за основным зданием началась постройка нового и более современного офиса. Агентству нужна была уличная скульптура между двумя постройками, поэтому выбор пал на образец искусства «для всех», который на самом деле никто и никогда не сможет «увидеть». Санборн не просто так назвал свое творение греческим словом «скрытый», ведь эта работа — ярчайшая иллюстрация скрытности, тайности, интимности и иллюзорности человеческой жизни, текст которой является одним из самых идеальных кодов на сегодняшний день.
Читать дальше →

Оптимизация Drupal

Reading time17 min
Views30K
Вступление
Drupal – довольная распространённая CMS и это отложило на неё свой отпечаток – базовая поставка Drupal является не готовым решением для определённого вида сайта, а фундаментом для его создания. Существуют “сборки” на базе Drupal специализированные под определённые виды сайтов, например: новостные сайты. Но подобные сборки в данный момент мало распространены и плохо поддерживаются. В связи с этим при создании Интернет сайта на основе стандартной поставки Drupal используется большое количество готовых дополнительные модулей и тем оформления для Drupal, либо разрабатываются новые модули и темы специально для создаваемого Интернет сайта. Последним этапом работ по созданию сайта является его оптимизация, которую условно можно разбить на 4 шага:
  • встроенная оптимизация Drupal;
  • оптимизация Drupal с помощью модулей;
  • оптимизация конфигурации и обслуживания Drupal;
  • оптимизация сервера.

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

Лучшее видео, которое я видел сегодня, заставит вас улыбаться

Reading time1 min
Views2.4K
Если это видео не заставляет вас улыбаться на оставшуюся часть дня, то вы ублюдок (перевод от слова bastard, не принимайте близко к сердцу, это не оскорбление) с холодным сердцем. Смотрите его от начала до конца и вы не пожалеете об этом.


Это сингл Stand By Me был записан неизвестными уличными музыкантами со всего мира при помощи виртуальной студии. Все началось с базового трек-вокала и гитары, записанных на улице Санта-Моника, Калифорния, уличным музыкантом Роджером Ридли. Базовая дорожка была затем отправлена в Нью-Орлеан, штат Луизиана, где слепой дед Эллиот (певец из французского квартала) добавил уже свой вокал и гитару, слушая записанный Ридли трек через наушники. В том же городе были добавлены звуки стиральной доски Чаза.

После этого данный трек был провезен через многие страны Европы, Африки и Южной Америки. Везде добавлялись множественные семплы инструментов и вокала, которые были собраны в окончательном варианте, который вы видите сейчас. Все делалось при помощи обычных ноутбука и микрофонов.

Взято отсюда, Оригинал сообщения.
UPDATE: Перенесено в блог «Звук и музыка»
UPDATE: Сайт всего проекта — www.playingforchange.com (спасибо xabk)

Vim как IDE для веб-разработки, и не только.

Reading time12 min
Views102K
В данной статье рассматриваются мощные плагины, позволяющие повысить удобство разработки в VIM, а также даются ценные указания по их доработке и использованию. В том числе, используемых команд и горячих клавиш.

Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

Кого-то VIM оттолкнет, показавшись поначалу слишком сложным или неудобным. Однако не стоит недооценивать его гибкость и возможность настройки себя, ведь из VIM можно буквально вылепить идеальный редактор/IDE, таким, каким вы представляете его себе.

Надеюсь, что эта статья поможет читателю убедиться в этом. Безусловно, она ориентирована, в первую очередь, на опытных пользователей Vim'а, но и новички смогут почерпнуть из нее немало полезного.

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


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

Современная отладка JavaScript

Reading time12 min
Views26K
В связи с достаточно широким выбором неплохих отладчиков, JavaScript-программисты могут получить достаточно много пользы, изучая то как их можно использовать. Их пользовательские интерфейсы становятся все более совершенными, более стандартизированными между собой и более легкими в использовании, что делает их полезными как для экспертов так и новичков в отладке JS. В этой статье мы обсудим передовые методы отладки для диагностики и анализа ошибок, используя типичное веб-приложение.

В настоящее время средства отладки доступны для всех основных браузеров.
  • Firefox имеет хорошо известное расширение Firebug
  • IE8 выпускается со встроенными Developer Tools
  • Опера 9.5+ поддердивает отладчик Dragonfly
  • У Safari есть JS-отладчик Drosera и DOM-вьювер WebInspector. В более свежих версиях отладчик интегрирован в WebInspector.

На данный момент Firebug и Dragonfly наиболее стабильны. Утилиты IE8 иногда игнорируют контрольные точки, а во время написания этой статьи WebInspector имеет некоторые проблемы совмстимости с последними билдами Webkit.

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

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

Система разделения прав доступа в веб-приложении

Reading time14 min
Views70K
В этой статье мы пройдём с вами полный цикл от идеи, проектирования БД, написания PHP-Кода, и завершающей оптимизации. Постараюсь рассказать обо всем, как можно проще. Использовать для примеров буду PHP и Mysql. Заодно потренирую новичков :).

В этой статье я коснусь вопросов:
  1. Идея ACL
  2. Проектирование БД
  3. Нормализация БД
  4. Рефакторинг кода
  5. Оптимизация рабочего кода

Статья является ответом на Бинарное распределение прав доступа в CMS. Пока автором пишется практическая часть, я хочу предоставить мой вариант, который я использую довольно давно.
То, что я сейчас расскажу, похоже на ACL.

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

Кроссбраузерная одноцветная полупрозрачность

Reading time3 min
Views13K
В этой статье я рассмотрю метод создания блоков с одноцветным полупрозрачным фоном.
Например, таких:


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

Иерархические структуры данных и производительность

Reading time14 min
Views23K

Введение



В своей предыдущей статье я дал краткий обзор основных моделей хранения иерархических структур в реляционных БД. Как и положено тому быть, у многих читателей стал вопрос ребром о производительности представленных алгоритмов.

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

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

Information

Rating
Does not participate
Location
Ярославская обл., Россия
Registered
Activity