Как стать автором
Обновить
10
0

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

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

Представление чисел суммой двух квадратов и эллиптические кривые

Время на прочтение10 мин
Количество просмотров44K
Пусть p — нечётное простое число. Довольно широко известно, что p представимо в виде суммы двух квадратов целых чисел p=a2+b2 тогда и только тогда, когда p при делении на 4 даёт остаток 1: 5=12+22, 13=32+22, 17=12+42, ...; 3, 7, 11,… непредставимы. Куда менее известно, что a и b можно записать красивой формулой, имеющей непосредственное отношение к одной эллиптической кривой. Об этом результате 1907 года за авторством немца по фамилии Jacobsthal и о связанных вещах мы сегодня и поговорим.

Совсем легко понять, почему 3, 7, 11 и прочие числа, дающие при делении на 4 остаток 3, непредставимы в виде a2+b2: квадрат чётного числа всегда делится на 4, квадрат нечётного числа всегда даёт остаток 1 при делении на 4, сумма двух квадратов при делении на 4 может давать остатки 0, 1 или 2, но никак не 3. Представимость простых чисел вида 4k+1 неочевидна (особенно если заметить, что простота существенна: число 21 хотя и имеет нужный остаток, но суммой двух квадратов не представляется).

Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии18

Entity Framework Code First — индексация полей и полнотекстовый поиск

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

По роду моей деятельности, мне часто приходится делать различные небольшие проекты, в основном, это сайты написанные на ASP.NET MVC. В любом современном проекте присутствуют данные, а значит и база данных, а значит с ней нужно как то работать.
Если отбросить все дискуссии про «за и против», то спешу сообщить, что мой выбор пал на Entity Framework Code First. Во время разработки проекта, я уделяю внимание исключительно бизнес-логике и не трачу время на проектирование базы данных и прочие шаблонные действия. Неприятным сюрпризом при использовании такого подхода для меня стало отсутствие возможности «из коробки» у Entity Framework возможности строить индекс по полям, а так же пользоваться удобным и современным механизмом полнотекстового поиска.

После многочасового гугления, опробовав десятки различных методов со StackOverflow и прочих подобных сайтов, я пришел к выводу, что очевидного и простого решения проблемы нет, поэтому решил сделать собственное, об этом и пойдет речь далее.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии24

Windows Store c точки зрения разработчика

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

Windows Store для Windows 8 достаточно молодой. Некоторые разработчики уже успели его попробовать в деле, другие еще не решились. Сегодня я хочу немного рассказать про то, как этот магазин приложений выглядит изнутри, а именно с точки зрения разработчика.

Как один из самих молодых магазинов приложений Windows Store, по идее, должен был бы впитать в себя самое лучшее из Google Play и App Store. Но на практике оказалось, что этого не случилось.

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

Налоговая декларация (Tax Profile)

Для того чтобы начать продавать платные приложения не обходимо заполнить налоговую декларацию. Форму можно заполнить в онлайн: отправлять обычной почтой или факсом ее никуда не нужно. Вся соль не в этом. После заполнения формы вы сможете увидеть следующий живописный вид:


Попробуйте догадаться, что означает надпись: «Ваша налоговая декларация заполнена неправильно. Пожалуйста, исправьте ошибки».

Читать правильный ответ
Всего голосов 73: ↑62 и ↓11+51
Комментарии32

Управление загрузкой изображений

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


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

Использование контейнера для каждого изображения


Простой способ, который можно применить к любому изображению на сайте. Заключается в том, что каждая картинка оборачивается в DIV, который предотвращает построчную загрузку:

<div class="img_wrapper">
    <img src="comicbookguy.jpg" alt=""/>
</div>

С помощью контейнера можно контролировать соотношение сторон картинки, а также использовать индикатор загрузки, что очень удобно, если изображения тяжелые.
Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии31

Шпаргалка по параллелизму в С++

Время на прочтение1 мин
Количество просмотров26K
Всего голосов 85: ↑78 и ↓7+71
Комментарии9

Релиз SDL 2.0

Время на прочтение2 мин
Количество просмотров27K
imageПосле нескольких лет разработки наконец-то состоялся релиз библиотеки SDL 2.0.0. Слухи о разработке второй версии SDL шли уже давно, но обширный список нововведений отчасти объясняет столь долгую разработку.

Библиотека SDL предоставляет такие средства, как быстрый вывод 2D-графики, обработку ввода, проигрывание звука, вывод 3D через OpenGL и другие операции, причем делает это кросплатформенно. Список платформ обширный: Linux, Windows, Windows CE, BeOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX и QNX — и вдобавок есть неофициальные порты на другие системы.

Сама библиотека написана на C и поддерживает C++, однако есть биндинги к большинству популярных языков. Автор libsdl был нанят компанией Valve, программные продукты которой активно используют библиотеку. К тому же, теперь библиотека выходит под лицензией zlib, а не LGPLv2, как было раньше, и SDL 2.0 можно использовать в любых своих приложениях — хотя вполне возможно, что сделано это было для того, чтобы Valve смогла включить ее в Steam для Linux.
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии23

Теорема Клини о неподвижной точке: квайны

Время на прочтение6 мин
Количество просмотров23K
Здравствуйте, хабралюди. В последнее время было много разговоров о квайнах, и даже некоторый теоретический спин-офф.
Повторю за автором только что упомянутого топика: если вы знакомы с CS, то далее читать нет смысла — все это
вы и так хорошо знаете. А статья будет ответом на вопрос — всегда ли можно написать квайн? Точнее, на любом ли языке?
Физики скажут, что на всех: раз можно написать и на компилируемом C, и на брейнфаке, а кто-то и на SQL пишет — опыт говорит, что ответ на вопрос да. Математика тоже говорит, что да.

Теорема 2
На любом алгоритмически полном языке программирования можно написать программу, печатающую свой код.
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии22

Технологии автомобильной промышленности. Взгляд на IT

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

Вступление


Эту статью я уже публиковал на другом ресурсе (autolynch.ru), но не могу не поделиться ею с сообществом Хабра. Когда я писал её, я выбрал такого автопроизводителя как Вольво и постарался собрать в одном посте по крупицам всю информацию о самых передовых технологиях, которые они придумали и будут внедрять в автомобили в ближайшие 10 лет.
К 2020 году ни один человек не погибнет в машине Вольво. Задумайтесь об этом на секунду. Даже для компании, которая ставит безопасность во главу угла, такой как Вольво, это практически невыполнимая задача. Но это то, к чему она стремится.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии30

На Яндекс.Картах теперь можно забронировать столик, записаться на стрижку или на приём к врачу

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

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



Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии22

Отдам библиотеку в хорошие руки

Время на прочтение3 мин
Количество просмотров25K
Давным давно, в 2008 году, когда я работал над своей диссертацией меня заинтересовала тема применения сверточных нейронных сетей для задач распознавания изображений. На тот момент они еще не были так популярны как сейчас и попытка найти готовые библиотеки ни к чему не привела — нашлась только реализация на Lush (языке созданном автором сверточных сетей, Яном ЛеКуном). Тогда я подумал, что можно было бы их реализовать на Матлабе используя Neural Network Toolbox. Но столкнулся с невозможностью реализации разделяемых весов в рамках этого тулбокса. И тогда было принято решение написать собственную реализацию.
Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии6

Морфология. Задачи и подходы к их решению

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

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

Для русского языка это несколько сотен тысяч слов. Может быть, это не экономично, зато дает нам очень много бонусов.

Во-первых, мы можем проверить, есть ли слово в словаре. С помощью правил, основанных на регулярных выражениях, мы не выясним, есть слово «мымымымыться» в русском языке. Окончание вполне подчиняется правилам русского языка, повторение слогов – тоже не исключительный случай. Регулярное выражение это слово пропустит, но на самом деле никакого «мымымымыться» в русском языке не существует.

Другая задача, которую решает словарь, хранимый в морфологии, – это исправление ошибок. Как только мы не находим в словаре какого-то слова, зато обнаруживаем там другое слово на коротком расстоянии Левенштейна до искомого, мы принимаем решение об исправлении.
Читать дальше →
Всего голосов 81: ↑78 и ↓3+75
Комментарии20

Интеграция дизайна с помощью Blend

Время на прочтение1 мин
Количество просмотров18K
Продолжаем публиковать e-Lectures — небольшие видеолекции от наших мобильных разработчиков.

Сегодня речь пойдет о работе с инструментом Blend для Visual Studio. Он помогает проектировать и создавать пользовательские интерфейсы, предоставляя точные средства и рабочую область конструирования, с помощью которых можно визуально создавать и изменять приложения.



Как быстро интегрировать макеты от дизайнера в приложение? Чего не хватает в визуальном редакторе XAML в Visual Studio? Почему иногда совершенно не обойтись без Blend? Как мы используем Blend в e-Legion? Об этом и о многом другом расскажет наш ведущий Windows-разработчик — Тимур garifzyanov Гарифзянов.
Всего голосов 37: ↑30 и ↓7+23
Комментарии15

Архитектура REST

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

Введение


В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

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

Читать дальше →
Всего голосов 85: ↑78 и ↓7+71
Комментарии75

Не паникуй (перевод главы книги «Passionate Programmer» by Chad Fowler)

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

Почему эта книга заслуживает перевода


Хочу поделиться своим мнением с хабрасообществом о книге «Passionate Programmer», перевод одной из глав которой представлен ниже. Книга вышла в 2009 году, но среди российских программистов она не очень широко известна, тем не менее многие, кто познакомился с ней, считают её очень достойной. Чад Фаулер (автор книги) выложился очень хорошо, чтобы передать читателям свой богатый опыт (на данный момент он CTO 6Wunderkinder, имеет более 20 лет стажа разработки и в виду своего большого опыта и круга интересов он желанный гость на Ruby- и IT-конференциях). Да, уже и не помню как нашёл эту книжку, но помню, что именно предисловие от Кента Бека (идейный вдохновитель Test Driven Development и Extreme Programming) послужило причиной прочитать её.

В этой книге нет описания конкретных технологий, алгоритмов и т.п., но есть просто куча советов, касательно того, с чем порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами; по большому счёту даётся масса наставлений, о том как сделать яркую карьеру программиста. Конечно, опытные разработчики могут найти некоторые его идеи достаточно очевидными, но для тех, кто только в самом начале своей карьеры, чтение данной книги, определённо, будет хорошим вложением времени. Большой плюс, что книга читается очень легко и, если вы достаточно хорошо владеете английским, её реально прочитать всего лишь за несколько дней. Просто интересно, почему наши издательства ещё не перевели её на русский язык?

После прочтения книги я заинтересовался Чадом. Нашёл его блог в сети. Как оказалось, он начал выкладывать в нём главы из своей книги (на данный момент опубликовано 2 главы из 53). Я спросил разрешения на перевод для хабра, он ответил, что это хорошая идея, но только сначала мне надо отправить ему письмо с тем, что конкретно я хочу переводить (видимо это пожелание было как-то связано с тем издательством, где была опубликована книга). После моего ответа неделю было молчание, я отправил повторное письмо — ответа снова не было. Потом я получил от него приглашение на Wunderlist (сервис, за который он отвечает на данный момент). В общем, я посчитал, что если явного запрета не было, а эти главы уже и так находятся в свободном доступе, и он ещё не совсем про меня забыл, то делать перевод можно. В общем, если перевод сообществу окажется полезным, я продолжу переводить другие главы. В тексте возможны ошибки (делал вычитку несколько раз, но всё же вдруг), поэтому заранее прошу прощения и прошу сообщать мне обо всех проблемах через личные сообщения.


Читать перевод
Всего голосов 87: ↑83 и ↓4+79
Комментарии24

Кратко и быстро разбираемся с C++ CLI

Время на прочтение7 мин
Количество просмотров112K
Так сложилось, что по мере рабочей необходимости мне приходится интенсивно использовать C++/CLI и, соответственно, довольно часто объяснять новичкам, что это, как работает, как использовать и, зачем вообще надо. Так что со временем появилось желание написать статью с обзором языка, ответами на некоторые распространенные вопросы и показать места, где могут удачно лечь грабли.

Что это?



Когда Microsoft создавала платформу .Net, то она решила дать программистам писать под нее на нескольких уже существующих языках, в синтаксис которых были внесены некоторые изменения — VB, C++. Речь пойдет именно о последнем. Точнее, если мне не изменяет память, в первой редакции язык назывался C++ with managed extensions. Название как бы само намекает на сущность — вот мы вам дали плюсы с расширениями и теперь вы сможете разрабатывать под .Net на уже известных C++, при этом оставив всю мощь исходного языка.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии16

dotPeek 1.1: обновление бесплатного декомпилятора от JetBrains

Время на прочтение2 мин
Количество просмотров14K
Давно мы не выпускали обновлений для декомпилятора.
А вчера выпустили: dotPeek 1.1 теперь доступен для широкой публики.

dotPeek 1.1: бесплатный .NET-декомпилятор от компании JetBrains

Напомним, dotPeek — это бесплатный декомпилятор .NET-сборок, который показывает результирующий код на языке C# и позволяет изучать его с помощью многообразных функций навигации и поиска, что знакомы и, будем надеяться, симпатичны пользователям другого нашего продукта, ReSharper. В частности, в dotPeek можно проводить поиск конкретного типа, символа или члена класса во всех загруженных сборках; переходить от деклараций символов к их использованиям и наоборот; анализировать иерархии наследования. Кроме того, при наличии файлов отладочной информации (.pdb) dotPeek показывает оригинальный исходный код сборок и дружит с серверами символов, такими как Microsoft Reference Source Center и SymbolSource.org, с которых при необходимости может скачивать исходный код различных библиотек.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии39

Bitmessage 0.3.5: Что нового?

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


Крипто мессенджер Bitmessage продолжает свое активное развитие, новая версия принесла следующие функции:
  • Поддержка русского языка
  • Полностью анонимные децентрализованные чаты
  • Огромное количество баг-фиксов

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии19

Роль морфологии в компьютерной лингвистике

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

Раньше автоматический перевод работал следующим образом:
  1. Анализировал формы слов в исходном предложении;
  2. Пытался подобрать одну из синтаксических схем исходного языка, в которую подошло бы предложение с найденными формами;
  3. Находил соответствующую синтаксическую схему для целевого языка;
  4. Находил перевод для каждой из словоформ в исходном предложении;
  5. Слова-переводы ставил в форму, необходимую для целевой синтаксической схемы.

Современные технологии пытаются пойти дальше.
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии31

Видео с дня открытых дверей JetBrains

Время на прочтение2 мин
Количество просмотров7.8K
Привет-привет, Хабр!

Как многие из вас читали, а кому-то даже повезло побывать, 28 июня в нашем новом уютном офисе прошел день открытых дверей. Было очень приятно, что огромное число разработчиков желало попасть на это событие, но к сожалению, мест было только на 200 счастливчиков. Мы постарались провести гостей по всем этажам нашего офиса, рассказать про то, как мы занимаемся разработкой и как это делать эффективнее с нашими инструментами, ну и на десерт гости услышали про новую VCS прямо от одного из основателей компании JetBrains – Валентина Кипяткова.

Приглашенные гости имели возможность не только посмотреть на офис и послушать презентации, но и также пообщаться с разработчиками из всех команд прямо в кабинетах офиса, где сидят соответствующие девелоперы. Было очень приятно услышать положительный фидбек от гостей равно, как и ценные замечания, которые мы конечно постараемся учесть в ближайших версиях продуктов. Кроме того, пришедшие разработчики, говорили, что контента хватило бы на целый «День JetBrains». И вот, мы спешим вас порадовать такой «день» действительно скоро состоится, 7 сентября. Правда, впервые он пройдет в шведском городе Мальмо. А возможно после этого, мы проведем его и в России.

Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии0

Эксперимент от Valve: Pipeline, или школа начинающих игровых разработчиков

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

В Valve мечтают работать многие, и это ни для кого не секрет. Если вам доводилось видеть их руководство для новых сотрудников ("Handbook for New Employees"), то вам определенно знаком уникальный дух работы в этой компании. Но команда, сделавшая такие игры, как Half-Life, Team Fortress 2, Left 4 Dead 2, DOTA 2 и Portal, обычно принимает в свой штат исключительно опытных и талантливых людей — в то время как школьникам и студентам остается только мечтать о работе там.

Что ж, и им сегодня улыбнулась удача: Valve запускает новый экспериментальный проект — Pipeline, разработанный для демонстрации школьникам старших классов того, как работает игровая индустрия — включая опыт и знания самой Valve.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии33

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность