• Работа с геолокациями в режиме highload

      При разработке ПО часто возникают интересные задачи. Одна из таких: работа с гео-координатами пользователей. Если вашим сервисом пользуются миллионы пользователей и запросы к РСУБД происходят часто, то выбор алгоритма играет важную роль. О том как оптимально обрабатывать большое количество запросов и искать ближайшие гео-позиции рассказано под катом.

      image
      Читать дальше →
    • Instant File Initialization

      • Tutorial
      Когда SQL Server резервирует новое место на диске, то он инициализирует его нулями. Данное поведение можно отключить и как следствие сократить время выполнения некоторых операций и снизить нагрузку на дисковую подсистему.

      Возможность резервирования места на диске без инициализации называется Instant File Initialization (мгновенная инициализация файлов).

      Фича эта не сильно известна, хотя ее использование стало возможным начиная с SQL Server 2005.

      Какие преимущества можно получить от Instant File Initialization:

      1. Ускорить создание новой базы данных
      2. Сократить задержки и уменьшить время необходимое для увеличения файлов данных
      3. Сократить время старта SQL Server, поскольку инициализация tempdb будет более быстрой
      4. Сократить время при восстановлении из резервной копии, поскольку перед восстановлением SQL Server резервирует место под файлы, а потом переносит в них информацию из бекапа.
      Подробнее
    • Научные мультфильмы, что показывать детям без вреда для них?

      image
      Объяснение закона гравитации из мультфильма «Физика для самых маленьких»

      У меня растет два очень любознательных сына в возрасте три и пять лет. Они очень любят научные мультики, особенно по физике и астрономии, как только в их руки попадает планшет, маленькие пальчики начинают быстро перебирать видеоролики из YouTube в поисках интересного контента. И что же они там находят? Поскольку я не только отец двоих детей, но еще и существенную часть жизни посвятил методике преподавания физики для маленьких детей, я знаю, что показывают детям учителя, а также заботливые родители и добрые бабушки. Скажу сразу, не все из этого стоит показывать детям.
      Осторожно! Под катом горькая правда
    • Достаточно Git-а, чтобы быть (менее) опасным

      imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

      Хорошие новости! Я написал тебе этот изумительный Интернет-пост. Я надеюсь, что смогу размазать достаточно Git-а по твоему лицу, чтобы понизить вероятность сделать что-то непоправимое, а так же уменьшить твой страх что-то сломать. Этого должно быть также достаточно, чтобы сделать документацию Git немного более понятной; она крайне тщательно и глубоко проработана и очень глупо, если ты все еще не прочитал половину.

      Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
      Но подожди! Там еще...
    • Мультиселект и автокомплит на AngularJS

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

        Та-дам! (и забавная история вконце)
        Читать дальше →
      • О некоторых стартаперах или Поиск клада на пляже

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

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


        Читать дальше →
      • Как успешно продать свой товар? Смотрите и учитесь

        • Translation


        Три недели назад директор по маркетингу одного из стартапов в Сан-Франциско, в который вложили средства известные инвесторы, написала мне по поводу своей презентации.

        «Презентации не хватает некой изюминки», – сказала она. – «Информации достаточно, слайды выглядят великолепно, но все это не складывается в захватывающую историю. Не мог бы ты помочь?»

        Я люблю помогать предпринимателям в создании лучших презентаций для сбора средств, продаж, привлечения нового персонала – да чего угодно. Я работал над другим проектом и не мог сразу же выполнить просьбу моей подруги, поэтому я просто отправил одну ссылку парню из маркетингового отдела по имени Зак, который создавал эту презентацию.
        Читать дальше →
        • +18
        • 15.1k
        • 2
      • С аниме дорога летит незаметно или что посмотреть по дороге в отпуск



          Август — закат лета и последняя возможность вырваться в отпуск (кстати, в августе особенно хороша Карелия). Самое время определяться с видом отдыха — в отеле, палатке или на даче — и собирать вещи, загружать полезные приложения, покупать всякие гаджеты. И чтобы не скучать в дороге, нужно озаботиться каким-то развлечением и пищей для ума. Например, взять с собой интересную книгу. Но иногда хочется отдохнуть от чтения и дать отдых мозгам. Обычно здесь рука тянется запустить очередной сериал или полнометражку, но всё же не торопитесь: на кинематографе свет клином не сошёлся. Есть ещё один жанр, который может подарить не меньше удовольствия — аниме.

          Поклонникам не надо объяснять, что это такое. Но если вы сейчас скривились и вспомнили «Сейлор Мун» и «Покемона», то не торопитесь осуждать: аниме столь же разнообразно, как и кинематограф. В этом жанре есть как очень глубокие и серьёзные полнометражные фильмы, и сериалы, так и совершенно бестолковые и проходные поделки. Просто по ТВ почти невозможно посмотреть хорошее и качественное аниме, поэтому у многих сформировалось предубеждение относительно японской мультипликации. И всё же мы рекомендуем поближе познакомиться с этим жанром по пути в жаркие страны, в горы или в деревню.
          Читать дальше →
        • Ускоряем angular.js или как не выстрелить себе в ногу



            Всем доброго времени суток. Релиз Angular.js 2.0 приближается, а проблемы с производительностью первой версии все еще остаются. Эта статья посвящена оптимизации Angular.js приложений и будет полезна как начинающим, так и тем, кто уже использует этот фреймворк, но еще не сталкивался с проблемами его производительности.
            Читать дальше →
          • 86 бесплатных площадок для продвижения стартапов на международном рынке

            • Translation


            Мы дополнили и адаптировали оригинальную подборку, выбрав исключительно бесплатные ресурсы для продвижения стартапов на международном рынке. Помимо этого мы переработали первоначальную классификацию, ввели ранжирование по потенциальному охвату аудитории (для площадок с обозначенным охватом) и распределили соответствующие ресурсы в тематические категории.
            Читать дальше →
            • +31
            • 86k
            • 9
          • Иностранные компании по-прежнему крупнейшие рекламодатели в России

              Издание Sostav.ru опубликовало очередной ежегодный рейтинг крупнейших рекламодателей в России, за 2014 год.

              Судя по данным, предоставленным исследовательской компанией TNS Russia, в ушедшем году иностранные компании оставались крупнейшими рекламодателями – изменилось лишь распределение позиций между крупнейшими из них. Также заметно усилилась область фармацевтики и других лекарственных производителей.
              Читать дальше →
            • Кевин Хейл: тонкости в работе с пользовательским опытом (часть 1)

              • Translation


              Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


              Первая часть курса
              Читать дальше →
              • +27
              • 16.6k
              • 3
            • Стартап шаг за шагом: будущее онлайн-образования



                Всем привет!

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

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

                В серии статей мы пройдем по шагам от идеи до реализации на нашем собственном примере. С чего начать, как найти единомышленников, где найти деньги, как построить бизнес-модель и т. д. Все это с точки зрения начинающих стартаперов. Также расскажем об ошибках и трудностях и дадим советы, исходя не из теории, а из полученного опыта.
                Читать дальше →
              • Не все комментарии одинаково полезны

                  Все животные равны, но некоторые животные равнее других. Скотный Двор, Джордж Оруэлл (оригинал).

                  Достаточно много статей на хабре набирает существенное количество комментариев, e.g. в статьях "лучшее за месяц" их, как правило, более сотни. За годы чтения хабра, создалось впечатление, что примерно в половине случаев для комментариев первого уровня получается вот такая вот картина

                  (картинка сделана на основе хабра-статьи «Список скептика»).

                  Под катом рассказ, какие бывают сортировки комментариев, где они применяются и краткое рассуждение о том, как вообще можно сортировать комментарии (и зачем).
                  Читать дальше →
                • Стартапу в помощь: инкубаторы и акселераторы России

                    Привет, Хабр!
                    Аккурат к инициативе поддержки стартапов, озвученной deniskin, мы в ФРИИ продолжаем знакомить сообщество с темой бизнес-инкубаторов и акселераторов. В прошлой статье мы детально разобрали, в чём различие между бизнес-инкубаторами и акселераторами. Сегодня — расскажем о том, куда же, собственно, идти.
                    Читать дальше →
                  • Когда регистрировать стартап?

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

                      image
                      Читать дальше →
                    • Под капотом у Dictionary и ConcurrentDictionary

                      Некоторое время назад, я решил, что хочу знать больше подробностей о работе многопоточности в .NET и что я уделял этому незаслуженно мало внимания в прошлом. Информации на эту тему великое множество (отправной точкой я для себя выбрал этот раздел книги «C# in a nutshell»), но, как оказалось, только малая часть ресурсов пытаются объяснить что-то в деталях.

                      Каждый мастер должен знать свои инструменты, а что может использоваться чаще коллекций? Поэтому я решил сделать небольшой обзор многопоточных коллекций и начать с ConcurrentDictionary (беглый обзор уже встречался здесь, но его там совсем мало). Вообще, я несколько удивился, что такой статьи для .NET еще нет (зато хватает по Java).

                      Итак, поехали.
                      Читать дальше →
                    • Локализация шаблонов на клиенте в AngularJS

                      image

                      При разработке мультиязычного веб-приложения на AngularJS вам скорее всего понадобится так или иначе решать вопрос с переводом. Сегодня я хотел бы поделиться одним из способов, с помощью которого это можно реализовать.
                      Читать дальше →
                      • +22
                      • 11.7k
                      • 8
                    • Понимание типов сервисов в AngularJS (constant, value, factory, service, provider)

                      • Translation
                      • Tutorial
                      Ангуляр поставляется с различными видами служб или сервисов, каждый из которых применяется в своей ситуации.
                      Имейте в виду, что сервисы, не зависимо от типа, это всегда синглтоны (одиночки).

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

                      Перейдем к типам сервисов
                      Читать дальше →
                    • HabraCitizen — новое android-приложение для Хабрахабра с темной темой и свайп навигацией



                        Здравствуй, Хабрасообщество. Сегодня ночью в Play Market было выложено мое первое android-приложение — HabraCitizen. Сабж представляет собой новую хабрачиталку со множеством возможностей и фич. Просили удобный хабра-клиент для android-устройств? Встречайте :)

                        Особенности приложения (из описания в маркете):
                        — Светлая и темная тема!
                        — Слайд-меню с возможностью настройки расположения (слева или справа);
                        — Свайп-навигация!
                        — Авторизация*;
                        — Авторизованные пользователи могут видеть количество новых комментариев к постам в списке постов, а также видеть новые комментарии в посте (комментарии подсвечиваются зеленым)*;
                        — Возможность загрузки постов для чтения в офлайне (с картинками!)*;
                        — Техника pull-to-refresh для обновления списков — чтобы обновить комментарии или список постов теперь достаточно потянуть сам список, а не нажимать кнопку;
                        — Полноэкранный режим чтения постов и вопросов;
                        — Настраиваемый отдельно шрифт в посте и в комментариях;
                        — Практически все возможные разделы сайта: посты лучшие (за сутки, неделю, месяц, все время), тематические и корпоративные (захабренные, новые, отхабренные), вопросы, события, хабы, профили компаний и пользователей (со списком опубликованных постов, вопросов, ответов и т.д),
                        лента*, избранное*;
                        — Полноценный поиск по ресурсу — посты, вопросы, хабы, пользователи, комментарии;
                        — Поддержка хабраката
                        — Просмотр полноразмерной версии картинок по тапу (с возможностью ресайза)!
                        — Запуск youtube-видео в youtube приложении прямо из постов и комментариев;
                        — Приложение не «теряет» позицию при чтении поста или комментариев при повороте экрана, а также способно восстановить загруженный пост с комментариями или список постов даже если приложение было «убито» в фоне
                        — Приложение способно «ловить» ссылки, ведущие на домен habrahabr.ru и открывать соответствующий раздел автоматически;

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

                        Ссылка на приложение в маркете: play.google.com/store/apps/details?id=com.allesad.HabraCitizen

                        Заинтересованы? Прошу под кат (осторожно, тонна картинок).

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