Pull to refresh
42
0
beono @beono

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

Send message

База по шардированию базы

Reading time10 min
Views24K

Возможность горизонтального масштабирования это одно из важнейших нефункциональных требований индустрии в последнее время. Рост бизнеса со стороны IT выглядит чаще всего как рост нагрузки и цены отказа системы. Нам всем хочется создавать такие приложения, которые будут одинаково быстро и стабильно работать как с сотней, так и с сотней тысяч клиентов. Для этого необходимо еще на стадии проектирования закладывать потенциал для масштабирования, одним из способов которого является шардирование.

Мы на пальцах рассмотрим что такое шардирование, как оно помогает в масштабировании и даже рассмотрим тот самый этап «роста».

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

Микрооптимизация кода на Go на примере простого веб-сервиса

Reading time15 min
Views15K


Привет, Хабр! Я работаю старшим Go-разработчиком в «Лаборатории Касперского». Сегодня хочу поговорить о том, как искать узкие места и оптимизировать код на Go. Разберу процесс профилирования и оптимизации на примере простого веб-сервиса — покажу, с помощью каких встроенных инструментов искать функции, активнее всего использующие CPU и память. Расскажу, какие можно применять подходы, чтобы повысить производительность. Хотя речь пойдет о микрооптимизации, в моем примере шаг за шагом производительность удалось поднять в 5 раз!

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments13

Как в восемь раз уменьшить количество DNS-запросов в Go

Reading time6 min
Views12K

Привет, Хабр. Меня зовут Рустам. Я работаю в Ozon: админю Kubernetes и пишу на Go.

У нас очень много сервисов на Go — их количество исчисляется тысячами. Запускаются они внутри кластеров Kubernetes. А я плотно работаю с Kubernetes и заметил, что при запуске кода внутри Kubernetes для резолва одного адреса делается до десяти DNS-запросов. Это, конечно, влияет на производительность.

Я решил разобраться, как Go делает DNS-запросы. В результате мне удалось уменьшить их количество в наших проектах до одного-двух. Как у меня это получилось и можно ли использовать мой опыт в вашем проекте, я расскажу в статье.

Узнать больше про Go+DNS
Total votes 91: ↑71 and ↓20+51
Comments9

Случайные числа. Take Two

Reading time3 min
Views31K
Недавно вышла замечательнейшая работа про атаки на генератор случайных чисел в PHP, однако в ней никаких практических примеров представлено не было. Мы провели собственное исследование данной темы, которое вылилось в создание набора инструментов для реализации подобного рода атак.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments40

Разделяй и властвуй: как мы реализовывали разделение сессий на портале Mail.Ru

Reading time7 min
Views41K


Mail.Ru — огромный портал, существующий более 15-ти лет. За это время мы прошли путь от небольшого веб-проекта до самого посещаемого сайта рунета. В состав портала входит огромное количество сервисов, у каждого из которых своя судьба, и над каждым из которых работает отдельная команда. Разработчикам пришлось как следует потрудиться, чтобы на всех проектах — и новых, и старых, и тех, которые присоединились к порталу по мере его развития, — использовалась единая система авторизации. А через много лет перед нами встала фактически обратная задача: разделить пользовательские сессии. О том, зачем мы это делали, какие трудности нас ожидали и как мы их обошли, я расскажу в этом посте.
Читать дальше →
Total votes 142: ↑125 and ↓17+108
Comments31

Moscow Django Meetup №27: как это было

Reading time2 min
Views5.8K
Приветствую, коллеги! Несколько недель назад состоялся 27-й Moscow Django Meetup, а всего через три дня, в эту среду, состоится 28-й. В этом топике я расскажу что интересного было на предыдущем митапе и что будет на следующем. Участие — бесплатное, площадка Фрии City Hall в центре Москвы ждет вас!

Слайды, видео и позитив под катом
Total votes 23: ↑22 and ↓1+21
Comments3

Почему вы никогда не должны говорить «никогда»

Reading time7 min
Views56K
Эта моя публикация чуть более чем полностью является ответом на перевод статьи «Почему вы никогда не должны использовать MongoDB». Статья, которая, по сути, рекомендует держаться подальше от MongoDB, является самой заплюсованной в хабе. И это звучит как приговор. Поэтому логично либо хаб закрыть и больше никогда не читать, либо написать ещё более рейтинговое опровержение. Конечно же, я выбрал второй вариант, рискуя своим рейтингом и кармой (ввиду крайней холиварности в комментах).

image
Картинка самоиронии

Читать дальше →
Total votes 136: ↑106 and ↓30+76
Comments211

Pantech Burst — андроидфон по приятной цене

Reading time4 min
Views94K
    Какой более-менее вменяемый смартфон сегодня можно приобрести за сумму чуть более чем $100? Вот и я не так давно задался этим вопросом и начал поиск.

    Покупать китайского товарища совсем не хотелось, решил изучить рынки Европы и США на предмет такого устройства, т.к. часто «у них» можно найти выдающиеся аппараты практически за копейки. Два года назад хитом был Orange San Francisco (ZTE Blade) ценой в £99, но для сегодняшнего времени конечно он уже прилично устарел. Чем же его можно заменить?

    Вашему вниманию хочу представить достойную замену на место старичка — Pantech Burst ценой примерно в $120!
Читать дальше →
Total votes 48: ↑33 and ↓15+18
Comments37

Layout страницы за 5 секунд

Reading time1 min
Views1.7K
www.layzilla.com

Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

Можно создавать основу страницы проекта любой сложности.

В будущем сделаем поддержку HTML5.

Мануал для любителей почитать.
Total votes 105: ↑98 and ↓7+91
Comments40

Встроенный серийный номер помог найти украденную фотокамеру

Reading time1 min
Views22K
Аппарат фотографа Джона Хеллера, стоимостью в $9,000, был украден на съемках в Голливуде. После того как тот потерял всякую надежду вернуть свой Nikon D3, он решил воспользоваться сайтом GadgetTrak который сканирует Flickr и другие фото сайты на наличие фотографий с данным серийным номером.

За несколько секунд он нашел фотографии сделанные своим аппаратом. При помощи полицейских он вернул свой аппарат и теперь сервис для слежения стал любимым сайтом для полиции Лос Анджелеса для поиска украденных фотокамер.

Хотите попробовать? Можете поискать бесплатно. там содержится 10 млн серийных номера и он проверяет такие сайты как 500px.com и Flickr на недавние снимки. также учтите что вам придется записать серийный номер своей камеры как можно скорее чтобы все сработало.
Total votes 64: ↑49 and ↓15+34
Comments61

Музыкальные студии под iPhone и iPad

Reading time2 min
Views59K
Технологии идут вперед. Наконец-то настала очередь и музыкальных программ. В современно мире имея iPhone или iPad можно писать музыку практически в любом месте. Лишь бы хватило батареи! В подтверждение этому мой пост, в котором я познакомлю тебя %username% с некоторыми виртуальными музыкальными студиями.

Виртуальная студия NanoStudio для iPhone


Для IPhone разработали и создали виртуальную студию NanoStudio, которая относится к полноценным программам-секвенсорам и включает в себя: синтезаторы, drum-машину, секвенсор, набор эффектов и прочие детали.

В NanoStudio можно с нуля создать композицию (полифония студии 48 голосов), отредактировать партию инструмента (как в midi дорожке), наложить эффекты, записать свои звуки с микрофона IPhone и всё это свести при помощи главного микшера в полноценный трек с качеством CD, а так же произвести финальную обработку трека при помощи готовых алгоритмов обработки типа: Normalize, Fade In, Fade Out …


Читать дальше →
Total votes 48: ↑37 and ↓11+26
Comments30

Поддержка акселерометра в сайтах

Reading time1 min
Views455
Пол года назад мы сделали себе на главной странице игрушку. Арканойд из элементов интерфейса.

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



На его сайте можно поиграть.
Total votes 23: ↑21 and ↓2+19
Comments18

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views190K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Интернет магазин — 15000 евро за первый месяц

Reading time6 min
Views90K
В народе есть известная поговорка „Первый Блин Комом“, чего не могу сказать о своём свежем опыте интернет торговли. Скорее всего, это просто исключение подтверждающее правило, но, тем не менее, хочется рассказать о тех небольших выводах, что я сделал за последний месяц.

Итак, небольшая история о том, как можно довольно легко заработать за один месяц минимум 15 000 евро.

Мой профессиональный род деятельности — веб-разработка. Занимаюсь R&D в одной небольшой IT компании, пишу «навороченные» приложения для корпоративных интранетов и, в принципе, на жизнь не жалуюсь. Конечно, при таком раскладе хочется параллельно вести какой-нибудь интересный проект, чем неоднократно занимался в мире Open Source. Со временем, правда, захотелось на побочных проектах так же как-то зарабатывать, что с Open Source оказалось не так просто, как может показаться из статей на Хабре :) Потому и решил попробовать для себя что-то принципиально новое — открыть интернет магазин.

Читать дальше →
Total votes 517: ↑493 and ↓24+469
Comments389

Git для загрузки обновленых файлов на сайт

Reading time1 min
Views1.1K
Не знаю чем вы пользуетесь чтобы залить измененные файлы на сайт, а я раньше делал все вручную. Нудная и дурацкая работа кончено, и в какой-то момент лень, как двигатель прогресса взяла свое. Благо к этому времени я начал разбираться с рельсами, а вместе с ними и с другими прелестями адекватной разработки веб-приложений, в том числе и с VCS. В какой-то момент меня осенило — ведь в Git (Сайт проекта, Википедия) уже есть все для отслеживания изменений, почему бы не начать использовать его для заливки. Все что нужно — SSH и промежуточный репозиторий на том же сервере, недоступный веб-серверу.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments22

Обзор сами-знаете-чего от Engadget

Reading time17 min
Views19K
image

Apple iPad. Слово — не воробей, особенно когда это бренд. Бренд — больше чем просто устройство, это идея, постулат с претензией на ключевую роль в мире потребительской электроники. До момента «икс» iPad называли по-разному: Apple Tablet, the Slate, Canvas и много-много других. Хотя история клубка слухов, окутывающих планшет, превышает уже 10 лет, некоторые из них все-же реализовались. После большого анонса 27 января, Apple стала готовиться к одному из самых громких шагов в истории — становлению (или разрушению) целого класса потребительской техники. iPad — устройство, занимающее свое место между монументальным iPhone и успешным MacBook, захватчик трона нетбуков, предтеча совершенно нового вида устройств персональной электроники… при условии, что Apple сдержит свои обещания. А обещания огого-какие. Компания говорила о «волшебстве» и «революции», описывая то, чего не видно за «просто большим айподом». Но вдруг что-до действительно есть? Есть ли еще надежда, что все обещания эволюции идеи «человек-машина» не окажутся маркетинговым ходом? Действительно ли перед нами будущее персональной ЭВМ?
Все ответы под катом. Только следи за траффиком, %username% — они проиллюстрированы. И буков много.
Внимание — топик зла!
Читать дальше →
Total votes 520: ↑363 and ↓157+206
Comments172

Паттерны проектирования

Reading time2 min
Views48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments29

Посвящение Ту-154

Reading time1 min
Views1.2K
В 2009 году «Аэрофлот» вывел из эксплуатации все самолеты Ту-154М. 31 декабря 2009 года лайнер совершил свой заключительный рейс (Источник).



Кто застал в детстве кусочек СССР и кто любит авиацию — обязательно посмотрите. Честно — слезы навернулись.

P.S. Ролик в этом блоге, потому что «тушка» — один из символов нашей науки.

Спасибо letchikleha за ссылку!

Update. И вот еще дополнение от первого лица (КВС) — про безопасность полетов, про ситуацию с отечественным авиапарком и про причины замены самолетов.
Total votes 134: ↑109 and ↓25+84
Comments125

Облегчение жизни пользователю Safari на iPhone

Reading time3 min
Views8.8K
Облегчение жизни пользователю Safari на iPhone.

В моей прошлой статье, мы разбирали, как за короткий промежуток времени возможно изготовить версию сайта, адаптированную для Apple iPhone.Сегодня я продолжаю свою статью. Сейчас мы рассмотрим некоторые мета теги (и не только), которые облегчат жизнь не только посетителю сайта, но и разработчику веб-проекта.



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

Читать дальше →
Total votes 92: ↑83 and ↓9+74
Comments43
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity