Как стать автором
Обновить
1
0
Святослав Вількович @SviatoslavVilkovych

Студент

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

13-я статья о типичных ошибках DBA MS SQL Server

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

Предисловие


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

Статья написана с целью неповторения данных ошибок. И, как говорится, отрицательный опыт — это тоже опыт и порой даже ценнее положительного.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии38

Повседневный C++: изолируем API в стиле C

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

Мы все ценим C++ за лёгкую интеграцию с кодом на C. И всё же, это два разных языка.


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

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии63

Интересные вопросы на знание C# и механизмов .NET

Время на прочтение4 мин
Количество просмотров35K
Предлагаю Вам ряд вопросов по C# и .NET в целом, которые могут пригодиться для проведения собеседования или просто помогут лучше понять, как работает платформа .NET. Здесь не будет обычных вопросов о том, чем отличаются ссылочные типы от значимых и тп. Я постарался выбрать самые интересные, над которыми стоит задуматься.
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии50

Парадокс доказательства

Время на прочтение12 мин
Количество просмотров248K
31 августа 2012 года японский математик Cинъити Мотидзуки опубликовал в интернете четыре статьи.

Заголовки были непостижимы. Объём был пугающим: 512 страниц в сумме. Посыл был дерзким: он заявил, что доказал abc-гипотезу, знаменитую, соблазнительно лёгкую числовую теорию, которая десятилетиями заводила математиков в тупик.

Затем Мотидзуки просто ушёл. Он не отправил свою работу в Annals of Mathematics. Он не оставил сообщение ни на одном сетевом форуме, которые часто посещают математики со всего мира. Он просто опубликовал статьи и ждал.

Два дня спустя, Джордан Элленберг, профессор математики в Висконсинского университета в Мадисоне, получил почтовое оповещение от Google Scholar, сервиса, который сканирует интернет в поисках статей по указанным темам. Второго сентября Google Scholar отправил ему статьи Мотидзуки: «Это может заинтересовать вас».

«А я такой: „Да, Гугл, мне это как бы интересно!“» – вспоминает Элленберг, – «Я запостил их в Фэйсбуке и в моём блоге, с пометкой: „Между прочим, похоже, что Мотидзуки доказал abc-гипотезу“».

Интернет взорвался. В течение дней даже далёкие от математики СМИ подхватили историю. «Решена сложнейшая в мире математическая теория», – объявила Telegraph. «Возможный прорыв в abc-гипотезе», – немного скромнее писала New York Times.

На математическом форуме MathOverflow математики со всего мира стали оспаривать и обсуждать заявление Мотидзуки. Вопрос, который быстро стал самым популярным на форуме был прост: «Кто-нибудь может объяснить философию его работы и прокомментировать почему она может пролить свет на abc-гипотезу?» – спросил Энди Путман, ассистент профессора в Университете Райса. Или, если перефразировать: «Я ничего не понял. Кто-нибудь понял?»

Проблема, с которой столкнулись многие математики, сбежавшиеся к сайту Мотидзуки, была в том, что доказательство было невозможно прочесть. Первая статья под заголовком «Интер-универсальная теория Тейхмюллера 1: Построение театров Ходжа», начинается с утверждения, что цель работы в «разработке арифметической версии теории Тейхмюллера для цифровых полей ограниченных эллиптической кривой… с помощью применения теории полуграфов анабелиоидов, фробениоидов, эталь тета-функций и логарифмических оболочек».

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

«Смотря на неё, ты чувствуешь будто читаешь статью из будущего или далёкого космоса», – написал Элленберг в своём блоге.

«Она очень, очень странная», – говорит профессор Колумбийского университета Йохан де Йонг, работающий в близких сферах математики.

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

Как профессор Мун Дучин из университета Тафтса выразила это: «Он воистину создал свой собственный мир».

Должно пройти долгое время прежде чем кто-нибудь будет способен понять работу Мотидзуки, тем более оценить верность доказательства. В последующие месяцы статьи лежали камнем на плечах математического сообщества. Горстка людей подобралась к ним и начала изучать. Другие пытались, но быстро сдались. Некоторые полностью игнорировали их, предпочитая наблюдать издалека. Что же до виновника беспокойства, человека, который заявил, что решил одну из величайших проблем математики – от него не было ни звука.
Читать дальше →
Всего голосов 356: ↑345 и ↓11+334
Комментарии404

Задачка: найти треугольник с меньшим периметром

Время на прочтение2 мин
Количество просмотров31K
Наткнулась на эту задачу совершенно случайно. У меня знакомая через год после окончания магистратуры снова решила учиться и начала готовиться к поступлению. А значит что-то нужно просто повторить и вспомнить, ну и разобраться с чем-то новым. Вот сидела она над какой-то задачей, я проходила мимо. Задача показалась весьма простой (школьного уровня), но надо немного подумать.

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

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии29

DIY: Световой меч со звуком

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

Всем привет! Мне с детства нравится вселенная Звездных Войн. Когда мне было 7 лет я столько раз пересматривал эпизоды 4-6, что мог в мельчайших подробностях пересказать их содержимое.

Бесспорно самые яркие впечатления от фильмов – битвы на световых мечах. Два года назад я наткнулся в интернете на краткую статью о выборе светового меча в подарок, заинтересовался и изучил эту тему в подробностях.

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

Под катом я поделюсь информацией о производителях световых мечей и расскажу о создании бюджетного меча со звуком на базе Arduino.
Всего голосов 35: ↑34 и ↓1+33
Комментарии30

10 грехов в системах навигации сайтов / приложений

Время на прочтение1 мин
Количество просмотров38K
Новый формат статьи: без текста, только схемы. Надеюсь, нарисовал понятно.


Читать дальше →
Всего голосов 106: ↑78 и ↓28+50
Комментарии416

Оптимизация анимаций в Unity3D

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

Использование покадровых анимаций в Unity3D


Наверняка вы заметили, что создав новую анимацию в Unity 5 сразу размещается ссылка на спрайт компонента SpriteRenderer. Unity так и зовёт выделить заготовленные кадры и перетащить их в окно Animation.



Пара движений мышкой и новая анимация украшает вашу игру. Но на 1 секунду ролика нужно 12 — 30 кадров. А если персонаж выполняет десяток различных движений: бегает, читает, сажает, поливает, играет, загорает, и т. д. то продолжительность всех анимаций переваливает за минуту, а кадров за тысячу. А персонаж не единственный анимированный объект на уровне. Вот мы и получили что не особо сложная сцена грузится дольше минуты, а Unity начинает слетать из-за перерасхода оперативной памяти. Да, конечно можно используя встроенный в Unity SpritePacker упаковать спрайты в атласы, но это даёт лишь незначительный результат и улучшение производительности на 10 — 20%.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии18

Графы для самых маленьких: BFS

Время на прочтение3 мин
Количество просмотров103K
В предыдущем посте рассказывалось об обходе графа в глубину. Сегодня я бы хотел рассказать о не менее важном алгоритме теории графов — об обходе в ширину.
В прошлый раз мы уже научились искать какой-нибудь путь сквозь лабиринт. Всех желающих найти кратчайший путь прошу под кат.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии2

Эффективный расчёт области видимости и линии взгляда в играх

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

В стратегических играх обычно требуется знать область видимости NPC, чтобы игрок мог продумывать стратегию и делать следующий ход. Мы рассмотрим математику и реализацию рациональной модели, не просаживающей скорость игры при большом количестве NPC на карте. Если вы хотите увидеть готовое интерактивное демо модели, перейдите сюда и играйте прямо в браузере! Вот скриншот демонстрации:

image

Имея параметры видимости наблюдателя (направление взгляда, расстояние видимости и угол поля зрения), нам нужно найти видимую для него область, т.е. определить область видимости (field of view, FoV). Если препятствия отсутствуют, это будет сектор круга, состоящий из двух граней (радиусов) и соединяющей их дуги (см. Рис. 1). Кроме того, имея заданную точку мира, мы должны быстро определить, видима ли она для наблюдателя, т.е. необходимо обрабатывать запросы линии взгляда (line of sight, LOS) для заданной точки. Обе эти операции можно выполнить достаточно эффективно для использования при рендеринге в реальном времени.
Читать дальше →
Всего голосов 130: ↑126 и ↓4+122
Комментарии27

«Во все тяжкие» или суровые реальности инди разработки Dark Forester

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

Я хочу сразу сказать, что в первой части будет мало о самой разработке, а больше именно истории, трудности, социальные аспекты, проблемы с которыми может столкнутся инди разработчик, а также я не могу не упомянуть Москву, покер и спорт — без которых эта история не была бы полной. Итак, прежде, чем я начну с легенды, для того чтобы немного заинтересовать читателя, за время разработки с 2013 года по 2015 год я потолстел на 22кг и превратился из спортивного парня в человека, который с трудом узнавал себя в зеркале, я выпивал в год около тысячи банок ред булла, все началось с одной-двух, сейчас уже бывает редко, чтобы я пил меньше трех. Я спал по пять, а то и четыре часа. В течении двух лет я вставал в будние дни в пять утра и ехал на работу в другой город на электричке, чтобы вечером оставалось время поработать над игрой. Я по глупости отказался от предложения в 250.000 евро на разработку игры. Вероятно итогом такой жизни стало тяжелое воспаление легких, суд с бывшим работодателем, а также серьезные проблемы со спиной из-за постоянно сидячего образа жизни. Ах ну и если этого мало, то я бросил университет и сам уволился с работы!

Что ж поехали…
Читать дальше →
Всего голосов 82: ↑79 и ↓3+76
Комментарии92

Осень на рынках инди-игр

Время на прочтение11 мин
Количество просмотров9.7K
image
Фото Розы Дик

Ах, осень. Время пожинать посеянное и созерцать смену времён года.

Если вы мелкий разработчик игр, вы, вероятно, заметили некоторые циклические изменения в процессе создания игр. Игры сейчас выглядят более красивыми, чем были когда-либо, не так ли? Планка качества поднимается на недостижимую высоту. Из-за увеличившегося объёма работы ваша команда расширяется. Теперь вам нужно кормить так много ртов, что кажется рискованным экспериментировать с новыми безумными игровыми механиками. К счастью, хорошо понятно, игры каких жанров станут прорывными хитами. К несчастью, есть избыток похожих игр: вероятно, вы не выдержите с ними конкуренции.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии41

Поиграл == покодил

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

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.
Всего голосов 57: ↑51 и ↓6+45
Комментарии41

Структуры данных для самых маленьких

Время на прочтение22 мин
Количество просмотров340K
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии51

2D магия в деталях. Часть первая. Свет

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

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

Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии25

Советы и рекомендации по работе с Unity3D

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


Я опубликовал первую статью «50 советов по работе с Unity» 4 года назад. Несмотря на то, что бóльшая её часть всё ещё актуальна, многое изменилось по следующим причинам:

  • Unity стал лучше. Например, теперь я могу доверять счётчику FPS. Возможность использования Property Drawers снизила необходимость написания пользовательских редакторов (Custom Editors). Способ работы с префабами стал меньше требовать заданных встроенных префабов (nested prefabs) и их альтернатив. Скриптуемые объекты стали более дружелюбными.

  • Улучшилась интеграция с Visual Studio, отладка стала намного проще и уменьшилась потребность в «обезьяньем» дебаггинге.

  • Стали лучше сторонние инструменты и библиотеки. В Asset Store появилось очень много ассетов, упрощающих такие аспекты, как визуальная отладка и логирование. Большая часть кода нашего собственного (бесплатного) плагина Extensions описана в моей первой статье (и многое из него описано здесь).

  • Усовершенствован контроль версий. (Но, может быть, я просто научился использовать его более эффективно). Например, теперь не нужно создавать множественные или резервные копии для префабов.

  • Я стал более опытным. За последние 4 года я поработал над многими проектами в Unity, в том числе над кучей прототипов игр, завершёнными играми, такими как Father.IO, и над нашим основным ассетом Unity Grids.

Эта статья является версией первоначальной статьи, переработанной с учётом всего вышеперечисленного.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии41

Делаем экран загрузки Android приложения правильно

Время на прочтение3 мин
Количество просмотров130K
Splash Screen (прим.: тут и далее — экран загрузки) просто отнимает ваше время, верно? Как Android разработчик, когда я вижу экран загрузки, я тут же представляю как некоторые плохие разработчики добавляют трехсекундную задержку в коде.

Я должен смотреть на какое-то изображение в течении нескольких секунд, и до тех пор я не могу использовать приложение. И я должен это делать каждый раз после запуска приложения. Я знаю какое приложение я запустил. Я знаю что оно делает. Просто позвольте мне использовать его!
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии17

Сжатие мобильной графики в формат ETC1 и открытая утилита

Время на прочтение9 мин
Количество просмотров17K
При развитии free-to-play мобильной игры вместе с новыми фичами регулярно добавляется и новая графика. Часть ее включается в дистрибутив, часть скачивается в ходе игры. Для возможности запуска приложения на устройствах с небольшим размером оперативной памяти разработчики применяют аппаратно сжатые текстуры.



Формат ETC1 обязателен к поддержке на всех Android-устройствах с OpenGL ES 2.0 и является хорошей отправной точкой оптимизации потребляемой оперативной памяти. По сравнению с форматами PNG, JPEG, WebP загрузка текстур ETC1 осуществляется без интенсивных расчетов обычным копированием памяти. Также улучшается производительность игры по причине меньших размеров данных текстур пересылаемых из медленной памяти в быструю.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии15

Авторизация с помощью Facebook и Vkontakte в одностраничном приложении на Backbonejs + Express

Время на прочтение12 мин
Количество просмотров33K
Привет Хабр! В данной статье я хочу рассказать о том, как реализовать авторизацию с помощью социальных сетей в одностраничном приложении на примере Backbonejs + Express.

Backbone.js

Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии21

Выясняем, как увеличить зону покрытия WiFi

Время на прочтение9 мин
Количество просмотров149K
Все мы время от времени сталкиваемся с проблемой недостаточного уровня сигнала роутера. Сигнал нестабилен в некоторых точках, часто пропадает или его нет вовсе. Это ощутимо в помещениях с большой площадью: на даче, в частном доме, на базе отдыха, в квартире, в которой больше одной комнаты. В этой статье мы опишем варианты решения этой проблемы.

image
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии90

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность