Pull to refresh
11
Илья @technoread⁠-⁠only

User

Send message

Django ORM — медленный? Оптимизируем (хардкорно)

Reading time7 min
Views16K

Наступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.

Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments25

Оптимизация стоимости при работе с Amazon S3

Reading time3 min
Views23K
Amazon S3 удобно использовать для хранения файлов любых форматов. Кроме удобного API получаем практически безразмерное хранилище. Отличная доступность и невысокая стоимость делают S3 мегапривлекательной для молодых и небольших проектов.

Однако со временем файлов становится все больше. А платить придется не только за новые данные, но за всю историю. Кроме этого, Amazon дерет деньги за GET и POST запросы, а также за трафик.

Несмотря на низкую стоимость на старте, с ростом это решение будет обходиться все дороже.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments10

Подсчет себестоимости часа разработки программного обеспечения

Reading time4 min
Views149K
Сегодня я расскажу о больной теме как для покупателей программного обеспечения, так и для провайдера этой услуги – себестоимости разработки. Понятно, что сейчас не самое лучшее время для того, чтобы разбрасываться бюджетами. Только это не значит, что производители должны работать себе в убыток. Многие говорят о жадности предпринимателей, но я вам вот что скажу: нет ничего постыдного в том, чтобы делать честный бизнес и адекватно считать свои косты.

image
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments79

Записки iOS программиста о его молотках, кувалдах и микрометрах

Reading time20 min
Views32K
В один прекрасный момент, когда на собеседованиях меня уже убеждали, что я senior iOS developer — у меня возникло ощущение, что я уперся. Пишу похожий код, решаю задачи похожими способами и ощущение, что непонятно, куда развиваться дальше. Я думаю, с этой проблемой сталкивался не один я — нехваткой новых идей, концепций, направлений. Я бы хотел рассказать вам о тех инструментах и фреймворках, которые помогли преодолеть мне это ощущение.

Думаю, большинство из здесь присутствующих разработчиков читали таких ребят, как банду четырех. Все, хотя бы на собеседованиях, слышали слово паттерн, кто-то более (или менее) везучий слышал слова пострашнее — императивный, функциональный, монада, реактивность и другие ужасы. Вообще, довольно много ярких и интересных идей ходит в мире разработки ПО и, к счастью, далеко не все из них существуют только в виде словесных абстракций. Я бы хотел в этой статье немного рассказать не столько о прикладном инструментарии (хотя именно с ним мы и сталкиваемся большую часть рабочего времени), сколько о примерах инструментария, для использования которых нужно осмысление, которое существенно помогает в дальнейшем. Я бы хотел рассказать о том, как (и какие) инструменты изменяют сам процесс проектирования, написания кода, по крайней мере сделали это для меня.


Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments13

Ликбез: почему дома интернет по Wi-Fi тормозит

Reading time5 min
Views285K


Классическая схема включения услуг Интернет в многоквартирном жилом доме выглядит следующим образом: ТКД (точка коллективного доступа) — витая пара — роутер в квартире клиента, к которому подключены клиентские устройства по проводу и по Wi-Fi.

Характерные жалобы абонентов – скорость ниже тарифа, и возникают регулярные «замирания» при работе в интернете, что выражается долгим открыванием страниц в браузере, прерываниями видео, потерей связи с игровыми серверами и т.д. Данное поведение носит нерегулярный характер, а наиболее часто возникает в часы наибольшей пользовательской активности примерно с 18:00 до 23:00 в зависимости от города.

Есть несколько простых шагов, которые позволят определить возможную причину подобных проблем и решить 90% пользовательских ситуаций. Они ниже.
Читать дальше →
Total votes 87: ↑54 and ↓33+21
Comments164

Уменьшаем количество ошибок с помощью чек-листа Code Review

Reading time3 min
Views31K
В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments13

За один проход

Reading time7 min
Views156K
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:

Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Другие задачи
Total votes 73: ↑72 and ↓1+71
Comments56

Ежегодное награждение лучших на демосцене по мнению scene.org

Reading time2 min
Views2K
The 8th Annual Scene.org Award 2008.

Сразу скажу почему не 2009, потому что 2009 в процессе голосования. И вы можете сами принять в этом участие, отдав свой голос за понравившееся работы 2009го года. По поводу просмотра. Смотреть всё же желательно в реале, то есть запустить на своём компьютере (практически все демо под Windows). Для тех у кого нет такой возможности, я постарался найти видео в HD на youtube. Ну и звук это обязательно. Некоторые демо без звука вообще не смотрятся, как например Masagin.

И так что выбрали в 2008 году как лучшее.

Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments55

Великолепная подборка инди-игр*. Часть четвёртая

Reading time5 min
Views7.1K
*или чем занять все выходные на полгода вперёд.

Четвёртая часть, последняя на сегодня(а может быть и нет. Подробности — в конце поста). Я надеюсь, что кто-нибудь живой(после трёх частей-то!) до сюда доберётся :)

Часть первая.
Часть вторая.
Часть третья.

La Mulana

La MulanaДлинная платформенная игра в стиле Индианы Джонса, большей частью основанная на Maze of Galious от Konami и других играх компьютеров MSX. Она невероятно сложна, включает в себя зверские битвы с боссами и трудные головоломки, но благодаря этому заработала себе многочисленных поклонников(мазохистов).

Бесплатная.
Windows.


Mount & Blade

Mount & BladeСуществует много игр, действие которых разворачивается в средневековье, но лишь парочка из них тянет на звание «реалистичных симуляторов». Игра, в который кавалерийские баталии реализованы настолько по-живому, что прям-таки ощущаешь себя в шкуре воина, не могла не понравиться тысячам игроков по всему миру. Пользователь напрямую управляет только одним персонажем в игре, но может нанимать и тренировать солдат для помощи в битве. Игра печально известна своим открыто-незаконченным геймплеем, но тем не менее стоит того, чтобы с головой в неё уйти на несколько дней.

$30 на сайте разработчика. Официально издана в России компанией 1C.
Windows.

Читать дальше →
Total votes 89: ↑61 and ↓28+33
Comments29

Быстрая макросъемка на iPhone

Reading time1 min
Views4.6K
image

Однажды, в одном хабратопике я прочитал про маленький «лайфхак» — как при помощи старого\ненужного CD\DVD-Rom'а научить любой аппарат без автофокуса снимать в макрорежиме.

И вот что получилось
Total votes 110: ↑92 and ↓18+74
Comments63

Рекомендации тем, кто хочет переехать в Минск

Reading time8 min
Views72K
За последние месяцы на хабра-GT ресурсах проскакивало уже как минимум 2 статьи о том, как IT-специалисты переезжали в Минск в поисках лучшей доли. К каждой из статей я оставлял ряд комментариев и глядя на достаточно теплый прием сообщества подобных материалов, думаю, пора, все же, составить короткий мануал о переезде и жизни в БССР РБ от жителя столицы.

Под катом Вас ждет взгляд на вещи от минчанина, три «лайфхака» и одна плоская шутка.


Читать дальше →
Total votes 67: ↑58 and ↓9+49
Comments157

Youtube

Reading time1 min
Views223K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →
Total votes 205: ↑147 and ↓58+89
Comments179

Google Reader закрывают

Reading time1 min
Views234K


Google в официальном блоге, а также на самом сайте Google Reader объявил о закрытии сервиса.

Среди причин было названо желание сфокусироваться на основных продуктах и улучшить их.
Дата закрытия сервиса: 1го июля 2013.

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

P.S. Среди онлайн альтернатив сервиса могу назвать Яндекс.Ленту и NetVibes.
Предложите свою альтернативу в комментариях.

UPD: Вы можете подписать петицию Keep Google Reader Running
Total votes 243: ↑222 and ↓21+201
Comments475

Цукерберг в Москве. Подборка видео

Reading time1 min
Views30K
Приветствую всех!

В начале недели в Москву, как известно многим, приезжал Марк Цукерберг.

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

Ниже предлагаю подборку видео с его различных встреч.

Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments11

Много книг, хороших и разных

Reading time20 min
Views97K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments89

Простой способ обезопасить свою пластиковую карту

Reading time1 min
Views4.3K
С недавнего времени я стал ярым фанатом пластиковых карт. Это очень удобно — у тебя всегда с собой достаточная сумма денег, хотя кошелек не ломится от бумажных купюр. Я привык расплачиваться карточкой, как в магазинах, так и в ресторанах и кафешках.

На конференции UsereXperience 2009, я был на выступлении Марата Абасалиева из Payonlinesystem, на котором он рассказал про очень простой, но эффективный способ обезопасить себя от мошенников.
Читать дальше →
Total votes 163: ↑157 and ↓6+151
Comments369

Макрoсъемка на телeфон. DVD + K800i

Reading time1 min
Views6.8K
image

Какое психиатрическое нарушение констатировали бы у человека, произнесшего в 1991 году следующую фразу: «А давай я тебя на телефон сфотографирую»? ©


cnflikt опубликовал интересные фотографии снятые с помощью телефона SE k800i.
Деталь, необходимая для осуществления этих фоток, находятся внутри каждого DVD-проигрывателя. Все, что нам нужно — это объектив от лазера. Затем, его приклеиваем к картону, картон на телефон и все готово! Естественно, при условии, что мы имеем в распоряжении ненужный плеер.

Подо мной еще несколько фотографий
Total votes 52: ↑49 and ↓3+46
Comments40

50 действительно хороших инди игр

Reading time1 min
Views30K
Некоторое время назад здесь находился замечательный пост-перевод о 50 инди-играх, в которые действительно стоит сыграть. В настоящий момент он устарел, но ему на замену пришёл целый цикл постов об инди-играх — «Великолепная подборка инди-игр»:

Читать дальше →
Total votes 95: ↑90 and ↓5+85
Comments121

Песню группы Radiohead исполнили ZX Spectrum, принтер, сканер и жёсткие диски

Reading time2 min
Views3.2K
Группа Radiohead после выхода последнего альбома In Rainbows (который известен тем, что распространялся по Сети за произвольную стоимость) объявила о конкурсе ремиксов на песню Nude.

Джеймс Хьюстон (не имеющий отношения к группе) подошёл к делу творчески. Он синхронно запустил различные компьютерные (и не очень) устройства недавнего прошлого так, чтобы из их побочных шумов получилась та самая композиция Nude. Сначала около 70 секунд шума загрузки программы с плёнки, потом всё начнётся.


Подробности
Total votes 75: ↑69 and ↓6+63
Comments90
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity