Pull to refresh
1
0
Никита Бердников @Termos

User

Send message

15 тривиальных фактов о правильной работе с протоколом HTTP

Reading time7 min
Views233K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Total votes 191: ↑186 and ↓5+181
Comments120

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views685K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments45

Компьютеры Советской России с троичной сбалансированной системой счисления

Reading time7 min
Views56K

компьютер сетунь


"Возможно, самая красивая система счисления — это сбалансированная троичная" — Дональд Е. Кнут, Искусство программирования, Издание 2.

Многие знают, что компьютеры хранят данные и работают с ними с помощью двоичной системы счисления. Одно из главных объяснений этому можно найти в схеме современных компьютеров, которые состоят из миллиардов простых и массово производимых транзисторов и конденсаторов, которые могут вместе представлять два состояния: высокое напряжение (1) и низкое напряжение (0).


Такая конструкция сегодня настолько распространена, что трудно себе представить, как компьютеры могут работать иначе. Но, в Советской России 50-х годов они работали иначе. Если вы вдруг не слышали про такое, загуглите "Сетунь" — сбалансированный трехкомпонентный компьютер, разработанный в 1958 году небольшой группой во главе с Брусенцовым, в МГУ.


Перед тем, как говорить о Брусенцове и Сетуни, давайте я немного объясню вам троичную сбалансированную систему счисления.


Сбалансированная троичность


Тернарная или троичная — это система счисления, в которой есть три вероятных значения: 0, 1 и 2. В её сбалансированной версии существуют три вероятности -1, 0 и +1, часто упрощённые до -, 0 и + соответственно.

Читать дальше →
Total votes 80: ↑79 and ↓1+78
Comments40

Оригинальные тексты: Яндекс против копипаста

Reading time1 min
Views1.5K
Яндекс предложил вебмастерам альфа-версию нового инструмента. Новый сервис предназначен для тех сайтов, чьи тексты копируют другие сайты. При этом иногда сайты-помойки, ворующие контент, ухитряются делать это настолько успешно, что высоко ранжируются в результатах поиска, лучше индексируются и успевают первыми выдать поисковикам чужой контент.
Так что же предлагает Яндекс?
Total votes 77: ↑65 and ↓12+53
Comments99

Авторский контент: создание, легальное распространение, вознаграждение – теперь это реально!

Reading time2 min
Views3.8K
Добрый день всем, всех с праздником!

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

Мы представляем сервис по созданию, хранению и легальному распространению авторского и лицензионного контента с возможностью получения вознаграждения. Сервис носит название Content Placer.

Основные преимущества этого сервиса

1. Оригинальный авторский контент

На Content Placer можно публиковать только авторский контент, либо контент, на который есть права по распространению. Таким образом, при возникновении споров, с помощью Content Placer всегда возможно подтвердить авторство.

2. Виджет

Небольшое приложение, отображающее любой пост, созданный в Content Placer, на любом сайте в Интернете. Виджет поста, который вставляется на сайт, отображается в стиле дизайна этого сайта и ничем не отличается от «родного» поста.

Вот как это выглядит:



Читать дальше →
Total votes 36: ↑23 and ↓13+10
Comments36

Алгоритм для выявления сообществ в больших сетях

Reading time2 min
Views8.5K
В последнее время предпринимаются многочисленные попытки разработать эффективный алгоритм для выявления сообществ в социальных сетях из миллионов узлов, которые невозможно визуализировать или анализировать на уровне отдельных узлов.

Бельгийские разработчики представили новый алгоритм, который превосходит все существующие аналоги по вычислительной скорости. Вследствие этого его можно применять на базах беспрецедентного размера: анализ типичной сети из 2 млн нодов занимает 2 минуты. Он получил название Лувенский метод (Louvain Method), поскольку создан в то время, когда все разработчики трудились в Лувене (Бельгия).
Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments14

Как Facebook разрабатывает код

Reading time8 min
Views2.5K
Перевод оригинальной статьи.

Как Facebook разрабатывает код


Я очарован тем, как работает Facebook. Это очень уникальный социум, не легко воссоздаваемый (и их метод не работал бы для всех компаний, даже если бы они попытались). Это заметки, накопленные из разговоров со многими друзьями из Facebook о том, как компания разрабатывает и выпускает программные продукты.

Прошло более шести месяцев с момента, как я собрал эти наблюдение, и я уверен, что даже сейчас Facebook постоянно совершенствует свои методики разработки ПО. Так что эти заметки, возможно, немного устарели. А также, похоже, что культура Facebook, управляемая разработчиками, получает всё большее внимание общественности. Так что я чувствую себя теперь более комфортно, выпуская эти заметки… ОГРОМНОЕ спасибо многим людям, которые помогли собрать воедино это представление о Facebook изнутри! Также выражаю благодарности людям epries и fryfrog, которые внесли исправления и отредактировали.

UPD: перевод не является красочным литературным произведением, которое читается и захватывает дух. Поэтому, если есть возможность, лучше прочтите оригинал на английском.

Читать заметки
Total votes 112: ↑80 and ↓32+48
Comments44

История одного «нарушения» авторских прав. Часть 1

Reading time7 min
Views35K
В этом посте я расскажу про реальный случай уголовного преследования по статье 146 УК РФ, а заодно и по 273 (нарушение авторских прав и создание/распространение/использование вредоносного ПО). Я был непосредственным участником этой истории, сначала в качестве обвиняемого, а затем и подсудимого.
Читать дальше →
Total votes 269: ↑257 and ↓12+245
Comments172

Редизайн классики — бутылка Coca-Cola

Reading time1 min
Views1.1K
image Можно ли изменить, то что настолько привычно вошло в нашу жизнь, что кажется незыблемым и постоянным? Стоит ли изобретать колесо? Глядя на новую работу дизайнера Andrew Kim — мне кажется можно. И вполне успешно.
Читать дальше →
Total votes 160: ↑125 and ↓35+90
Comments166

Starcraft 2 запущен в оффлайне. Но играть пока не с кем

Reading time1 min
Views2K
Здравствуйте, игрозависимые хабралюди и им сочувствующие!
Согласно последним новостям из интернетов, народные умельцы запустили-таки Starcraft 2 в оффлайне! Правда, играть не с кем, AI не работает. Но уже сейчас можно попробовать потыкаться за разные расы :-)
Читать дальше →
Total votes 185: ↑167 and ↓18+149
Comments224

Jetpack для всех и каждого

Reading time1 min
Views1.8K
image

Ну почти. Компания Martin Aircraft разработала первый в мире «ракетный ранец», который поступит в серийное производство в этом году, после чего любой желающий сможет приобрести себе этот девайс. Что характерно, анонс устройства делался уже несколько раз, но конкретные даты и цифры появились только сейчас.
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments121

ChildCast #4: Изучаем устройство вселенной с WorldWideTelescope

Reading time1 min
Views933

В этом подкасте мы с Вики рассказываем про то, как мы изучаем устройство вселенной, а точнее солнечной системы. Начиная с бумажной детской энциклопедии, мы затем пользуемся программой WorldWideTelescope от Microsoft Research чтобы посмотреть «со стороны» на планеты солнечной системы, на созвездия, на планету Земля ночью (оказывается, освещённость разных участков зависит от благосостояния и от плотности населения!) и т.д. WorldWideTelescope содержит множество интерактивных туров, отталкиваясь от которых можно увидеть много интересного!

Оригинал видео на YouTube, подкаст на Russian Podcasting, RSS-лента
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments5

Первая программист Августа Ада Лавлейс

Reading time6 min
Views95K
10 декабря названо Днем программиста в честь родившейся также в этот день первой представительницы этой не слишком древней профессии.

Августа Ада Лавлейс родилась 10 декабря 1815 года. Она была единственной дочерью великого английского поэта Джорджа Гордона Байрона (1788 — 1824) и Аннабеллы Байрон, урождённой Милбэнк (1792 — 1860). «Она незаурядная женщина, поэтесса, математик, философ», — писал Байрон о своей будущей жене в 1813 году. Родители ее расстались, когда девочке было два месяца, и больше своего отца она не видела.

Ада унаследовала у матери любовь к математике и многие черты отца, в том числе, близкий по эмоциональному складу характер.
Байрон посвятил дочери несколько трогательных строк в «Паломничестве Чайльд Гарольда», но при этом в письме к своей кузине заранее беспокоился: «Надеюсь, что Бог наградит ее чем угодно, но только не поэтическим даром…
Ада получила прекрасное воспитание. Важное место в нём занимало изучение математики – в немалой степени под влиянием матери. Её учителем был известный английский математик и логик Август де Морган. К 1834 году относится ее первое знакомство с выдающимся математиком и изобретателем Чарльзом Бэбиджем, создателем первой цифровой вычислительной машины с программным управлением, названной им „аналитической“. Бэббидж, который был знаком с леди Байрон, поддерживал увлечение юной Ады математикой. Бэббидж постоянно следил за научными занятиями Ады, он подбирал и посылал ей статьи и книги, в первую очередь по математическим вопросам. Занятия Ады поощряли друзья её семьи – Август де Морган и его жена, супруги Соммервил и другие. Ада посещает публичные лекции Д.Ларднера о машине. Совместно с Соммервилем и другими она впервые посещает Бэббиджа и осматривает его мастерскую. После первого посещения Ада стала часто бывать у Бэббиджа, иногда в сопровождении миссис де Морган. В своих воспоминаниях де Морган так описала один из первых визитов: „Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения“
image
Семейная жизнь Августы Ады сложилась счастливо. В 1835 году Ада Байрон в возрасте девятнадцати лет вышла замуж за 29-летнего лорда Кинга, который впоследствии стал графом Лавлейс. Муж не имел ничего против научных занятий супруги и даже поощрял ее в них. Правда, высоко ценя ее умственные способности, он сокрушался: „Каким отличным генералом ты могла бы стать!“ Супруги Лавлейс вели светский образ жизни, регулярно устраивая приёмы и вечера в своём лондонском доме и загородном имении Окхат-Парк. Замужество Ады не отдалило её от Бэббиджа; их отношения стали ещё более сердечными. В начале знакомства Бэббиджа привлекли математические способности девушки. В дальнейшем Бэббидж нашёл в ней человека, который поддерживал все его смелые начинания. Ада была почти ровесницей его рано умершей дочери. Всё это привело к тёплому и искреннему отношению к Аде на долгие годы.

Читать дальше →
Total votes 86: ↑69 and ↓17+52
Comments44

Тестируем поддержку OpenID от Windows Live ID

Reading time1 min
Views1.3K

В ноябре прошлого года на конференции PDC Microsoft анонсировал поддержку OpenID со стороны Windows Live ID в ближайшее время и выпустил предварительную версию СТР для всех желающих. Финальная версия ожидается в 2009 году, а предварительную я и решил попробовать в действии.
Читать дальше →
Total votes 56: ↑41 and ↓15+26
Comments37

Сегодня (утром по московскому времени) поднялся в воздух российский истребитель пятого поколения (ПАК ФА)

Reading time1 min
Views785
Вот видеозаписи:



http://www.youtube.com/watch?v=mp0yd6no7B4
Если кто не знает, что такое ПАК ФА, то есть статья в Википедии.
Total votes 158: ↑118 and ↓40+78
Comments287

Спутник человека в каске – защищенный ноутбук Panasonic TOUGHBOOK CF-19

Reading time5 min
Views24K

Преамбула


В предыдущем обзоре мы познакомились с ноутбуком TOUGHBOOK CF-T8. Совокупность его начинки и оболочки определили востребованность у выездных бизнесменов. Читатели резонно заметили, что применённые в нём меры безопасности не являются пределом мечтаний. Это повод рассказать о модели TOUGHBOOK CF-19, имеющей полностью защищенное исполнение (fully-rugged), подтвержденное соответствием военным и промышленным стандартам.


Читать дальше →
Total votes 66: ↑56 and ↓10+46
Comments70

Wireless Mesh Network или стандарт IEEE 802.11s (версия 1.0)

Reading time3 min
Views22K
Wireless Mesh Network как альтернатива WiMAX

Введение:


Всем привет. Начну я с того, что эта статья является введением в тему WMN. Саму идею создания мне подкинул мой научный руководитель. Конечным результатом является создание ПО, позволяющего быстро развертывать WMN при помощи любого устройства с сетевым адаптером WiFi, поддерживающего стандарты b или g, а лучше всего стандарт n т.к. это уменьшит вероятность разрыва связи при переходе между зонами действия mesh узлов, и увеличит скорость передачи данных.

image
Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments73

Распознавание речи. Часть 3. Голосовой тракт, слуховой тракт

Reading time7 min
Views24K
Зачем нам это надо

Когда заходит разговор о распознавании речи, невозможно оставаться исключительно в сфере «анализа сигналов» (на то есть отдельные труды и отрасли науки). Всегда надо помнить, что при анализе речи мы работаем с особым видом сигнала, который воспроизводится определенной биологической системой. С одной стороны, она ограничена своими амплитудно-частотными характеристиками (АЧХ), а с другой стороны, самим языком и стандартным набором звуков, которые могут быть произнесены его носителем (например, при анализе русского языка мы не будем принимать во внимание возможность цоканья и свиста). Исходя из поставленной задачи, можно достаточно точно определить характеристики сигнала речи, и его основные свойства.
Тема урока
С другой стороны, для этого сигнала природой же разработан приемник, близкий к идеальному. Это наш слуховой тракт. Пока что не изобретено и не найдено ни одной другой системы, которая могла бы так же точно и качественно заниматься распознаванием речи. Было бы кощунством пренебречь возможностью поучиться этому у природы. Если познакомится с особенностями слухового тракта поближе, начинаешь понимать, что вейвлеты и преобразование Фурье в такие задачи пришли не с потолка. И системы, обеспечивающие разложение сигнала на частотный спектр, появились гораздо раньше первого наскального рисунка…
Урок по биологии: кто такая улитка, и чем она похожа на гребенку фильтров...
Total votes 44: ↑41 and ↓3+38
Comments24

Information

Rating
Does not participate
Location
Иркутская обл., Россия
Date of birth
Registered
Activity