Pull to refresh
0
@i_lukyanovread⁠-⁠only

User

Send message

Минимализм в криптографии, или схема Even–Mansour

Reading time15 min
Views17K
image


Израильские ученые Шимон Ивэн (Shimon Even) и Ишай Мансур (Yishay Mansour) еще в 1997 году задались вопросом: насколько минимальной конструкцией может обладать стойкий блочный шифр? Под минимальностью они подразумевали число конструктивных элементов в схеме шифра, а под стойкостью — любую (формально верную) оценку снизу сложностей атак на этот шифр. Как говорится, под катом — описание минимального (и по сей день) блочного шифра с доказуемой стойкостью.
Каков же он?
Total votes 28: ↑27 and ↓1+26
Comments22

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

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

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



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

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

Делаем месенджер для параноиков на Webix и DataBoom

Reading time5 min
Views10K
Для тех, кто еще не запустил конвейер по производству веб-приложений, я покажу, насколько это просто и быстро.
Именно для скорости я взял «скоростную» связку webix+databoom.

С помощью webix мы будем разрабатывать наш фронт-энд, а databoom послужит бэк-эндом.

Что в итоге должно получиться? Приложеньице, с помощью которого два (или более?) пользователя смогут обмениваться информацией не подкармливая свою паранойю.

Набор элементов следующий:
  • Текстовое поле для сообщения
  • Поле для псевдонима
  • Кнопка отправки сообщения
  • Сам список сообщений
  • Дополнительные опции

Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments31

MSBuild — в Open Source на github

Reading time2 min
Views19K
Сегодня мы особенно рады сообщить что MSBuild (наверное, самая часто используемая и самая таинственная по документированности — прим. перев.) — теперь доступен на github и мы вносим его в список .NET Foundation! The Microsoft Build Engine (MSBuild) — это платформа для построения приложений. Вызывая msbuild на вашем проекте или решении, вы можете организовывать и собирать свои продукты в окружениях, где нет установленной MS Visual Studio. Например, MSBuild используется чтобы собирать такие Open Source проекты, как .NET Core Libraries и .NET Core Runtime.



Ядро, библиотеки, миграция на Mac/Linux, msbuild… Еще немного и я поверю в выход на github MS Visual Studio.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments17

Вычислите длину окружности

Reading time6 min
Views90K
«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float».

Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов.

Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
    return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет.
Читать дальше →
Total votes 155: ↑139 and ↓16+123
Comments141

Пишем с нуля квест на ASP.NET 5 (vNext) и Angular.js

Reading time8 min
Views47K
С выходом новой версии ASP.NET хочется попробовать, какая же она на практике. А для того, чтобы не писать еще один чатик\соц. сеть\блог..., для пилотного проекта выберем логический квест — и фреймворк посмотрим, и поиграть можно.
Результат:
сорсы на гитхабе для тех, кому интересно поиграться с новым ASP.NET
линк на квест для тех, кому интересно что получилось или потратить свое время на еще один логический квест.

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments35

Интересное по хабу .Net за 2014 год

Reading time2 min
Views26K
Мы с вами люди рабочие и зачастую не замечаем ничего что происходит за пределами нашей работы. Так и я, работая изо дня в день, знаю только про свой SpecFlow и смежные вопросы. Но ничего – по сторонам. Этим постом я хочу восполнить пробелы новостей в области .Net

Новости хаба .Net на Хабре занимают 33 страницы или 328 постов. Что говорит о том что новости появляются почти каждый день =) Посмотрим на самое интересное из них (на мой скромный взгляд). Ну и загляните под кат: до ката, конечно же, не все.

Доступен новый JIT: теперь с поддержкой SIMD
Как работает декомпиляция в .Net или Java на примере .Net
Microsoft раскрыла исходный код компилятора С#
Consulo: ~1000 коммитов, или как прошла осень
Под капотом у Stopwatch
Как тестировать код финализатора (c#). Послесловие: тест все-таки упал
Посмотреть на прочие статьи
Total votes 33: ↑27 and ↓6+21
Comments0

Быстрая настройка Grunt для комфортной разработки

Reading time7 min
Views25K
Быстрая настройка Grunt для комфортной разработки

Во время разработки нашего сервиса bitcalm.com, нам потребовалось организовать автоматическую сборку проекта. Перед нами стояла цель улучшить производительность frontend-части нашего приложения, а также оптимизировать процессы разработки и развертывания на сервере.

Основными задачами, которые требовалось решить, стали:
  1. Объединение и минификация скриптов
  2. Объединение и минификация стилей
  3. Сжатие png-изображений
  4. Создание спрайтов из всех изображений (с возможностью удобного использования и с поддержкой двух видов спрайтов для девайсов с разным PPI)
  5. Построение разных версий html-документов для разработки и для продакшна

Первые три пункта выглядят достаточно тривиальными, поэтому я постараюсь заострить внимание на работе со спрайтами и на обработке html.

Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments20

Работа для программиста в США: 5 простых шагов

Reading time5 min
Views292K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138

Кратко об идеальном 7-и портовом USB 3.0 хабе ORICO

Reading time2 min
Views227K
Давно ко мне не попадало железо, настолько соответствующее моим представлениям об идеале, что об этом хотелось написать на хабр. Речь пойдет о 7-и портовом USB 3.0 хабе ORICO. Чуть ранее я писал, что получается когда китайцы по привычке делают копии — сегодня мы увидим, что может получится, когда китайцы делают оригинальный продукт. И то, как хорошо все получилось — удивляет и немного пугает (в том плане, что бизнес-модель «разрабатываем на западе — делаем в Китае» может подойти к концу). Забегая вперед, фотография:

Подробности и внутренности...
Total votes 115: ↑111 and ↓4+107
Comments142

Идеальное собеседование айтишника

Reading time6 min
Views84K
– Папа, а идеальное собеседование существует?
– Нет, сынок, это фантастика.
(с)

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

Читать дальше →
Total votes 130: ↑102 and ↓28+74
Comments133

Опыт удаленного поиска работы в Лондоне

Reading time4 min
Views46K
Год назад мне позвонил агент из Лондона — они искали Javascript программистов для Badoo. Смутно помня, что для работы в UK требуется сложная рабочая виза, я сообщил им сразу, что гражданство у меня только российское. Агент сообщил, что это не обязательно беда, и что у Badoo есть несколько квот для людей без права работать в Британии. Позже он правда перезвонил, извинился, и сказал что квоты закончились.

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

  • К поиску работы стоит подходить как к игре. Есть правила игры, есть победившие и проигравшие, и всегда можно сыграть другую игру. Не стоит воспринимать весь процесс слишком всерьез.
  • Правила поведения в интервью, технические задания и вопросы с большей вероятностью не будут иметь отношения к реальным проектам. Точно также финальное впечатления от тебя командой может не иметь отношения к тому, что ты на самом деле можешь.
  • Стоит предельно четко выяснить для себя на какие позиции вам охота попасть. Это сэкономит кучу времени — можно быстро отсеивать все ненужное. Я начинал поиск как фронтенд девелопер, потом очертил круг как фулл-стек девелопер с перспективой выхода на project manager.
  • Скайп интервью — ок. Техническое задание на выходные — ок. Слетать в Лондон на первое интервью или первое техническое задание — не ок. Лететь имеет смысл только когда уже все друг другу нравятся, и у обоих сторон есть положительное представление о том, как все может сложиться. Или просто если хочется посмотреть город.

Читать дальше →
Total votes 79: ↑64 and ↓15+49
Comments54

Как накормить мозг программиста… или feed your brain

Reading time12 min
Views372K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Total votes 213: ↑163 and ↓50+113
Comments145

NemerleWeb — Уникальный веб-фреймворк

Reading time6 min
Views20K
NemerleWeb NemerleWeb — это фреймворк для создания одностраничных веб приложений (Single Page Application — SPA), который транслирует код написанный на Nemerle в смесь JavaScript и HTML, а также обеспечивает двустороннюю привязку данных, прозрачное дуплексное общение с сервером, статическую типизацию с настоящими подсказками и ещё много чего другого.

Как это работает?


Разработчик описывает логику моделей на компилируемом языке Nemerle.
Благодаря макросам, код на этом языке получается очень лаконичным, фактически мы только описываем логику приложения. Это выгодно отличает наше решение от библиотек на чистом JavaScript.
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments104

Разбираемся с монадами с помощью Javascript

Reading time11 min
Views44K
Оригинальная статья — Understanding Monads With JavaScript (Ionuț G. Stan).
Буду признателен за комментарии об ошибках/опечатках/неточностях перевода в личку

От автора


Последние несколько недель я пытаюсь понять монады. Я все еще изучаю Haskell, и, честно говоря, думал, что знаю, что это такое, но когда я захотел написать маленькую библиотечку — так, для тренировки — я обнаружил, что хотя и понимаю, как работают монадические bind (>>=) и return, но не представляю, откуда берется состояние. Так что, вероятно, я вообще не понимаю, как это все работает. В результате, я решил заново изучить монады на примере Javascript. План был тот же, когда я выводил Y Combinator: взял изначальную задачу (здесь это взаимодействие с неизменяемым явно состоянием), и проделал весь путь к решению, шаг за шагом изменяя изначальный код.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments18

Изменение кода системных сборок или «утечка» .Net Framework 5.0

Reading time17 min
Views36K
Здесь я продемонстрирую возможность, которая по своей сути — самый настоящий хак. Вопрос, зачем это может понадобиться? На самом деле целей для этого может быть огромное множество. Итак наша задача — изменить код библиотеки mscorlib таким образом, чтобы все программы, которые ей пользуются, получили эти изменения. Не рантайм, конечно, а во время старта (для runtime необходимо проделать другие вещи, и тут надо оговориться что изменения эти не должны поломать текущие состояния библиотеки). Mscorlib я взял как пример, потому что она есть у всех на компьютере. Но можно хакать любую другую.

Все мы знаем, что для того, чтобы не было «ада dll», Microsoft помимо обычных версий и названия библиотек, дали возможность подписывать сборки ключом, public key которой гарантирует что конкретная сборка «пришла» от конкретного разработчика, а не от какого-то другого. Поэтому, если мы хотим по какой-то вполне добросовестной причине изменить код существующей библиотеки т.о., чтобы она загрузилась в чужой процесс и при этом ключик public key остался тем же, у нас этого не получится. Потому что мы не сможем ее подписать, у нас нет закрытого ключа.

Наша мини цель, чтобы программа вывела на консоль текст:



Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments15

Здоровье через задницу: умная подушка вышла на Kickstarter

Reading time2 min
Views45K
Присаживайтесь поудобнее, на Кикстартере появилось кое-что, похоже, очень нам нужное: умная подушка Darma для тех, кто ведёт сидячий образ жизни. В отличие от многочисленных уже трекеров активности пользователя, это трекер неактивности, или, можно сказать, представитель нового класса smartass-устройств.



Внутри подушки — 6 сенсоров толщиной всего 1 мм, результат пяти лет разработки группы китайских инженеров. Они утверждают, что он фиксирует дыхание, пульс, уровень стресса (жаль, не поясняется — как) и позу сидящего точнее и эффективнее, чем любые другие устройства на рынке.
Читать дальше →
Total votes 60: ↑48 and ↓12+36
Comments78

Несколько интересностей и полезностей для веб-разработчика #29

Reading time4 min
Views54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

HumHub



Открытая социальная сеть, построенная на Yii — достойный аналог Diaspora. Разработчики вообще говорят, что это фреймворк, который предоставляет инструменты для лёгкой и продуктивной командной работы. Гибкая модульная система и ряд плагинов: заметки, таск-менеджер, календарь, голосование, рассылки и др. Еще HumHub — это очень красиво. Клевый современный интерфейс, асинхронность, всплывающие подсказки и прочие детали.

Читать дальше →
Total votes 73: ↑67 and ↓6+61
Comments21

Несколько интересностей и полезностей для веб-разработчика #28

Reading time5 min
Views47K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

roBrowser



roBrowser — open source клон клиента достаточно популярной MMORPG игры Ragnarok Online в браузере. Проект разрабатывается по последним стандартам W3C — WebGL, HTML5, File API, Javascript, Threads… Небольшой ролик с демонстрацией игры:


Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments14

Information

Rating
Does not participate
Registered
Activity