• Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

      На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


      Договор авторского заказа
    • Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

      • Tutorial
      Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
      Читать дальше →
    • PVS-Studio признаётся в любви к Linux

        PVS-Studio признаётся в любви к LinuxЭто заметка о любви. О любви статического анализатора кода PVS-Studio к замечательной открытой операционной системе Linux. Эта любовь молода, трогательная и ранима. Этой любви нужно помочь укрепиться. Вы поможете, если заранее запишитесь в добровольцы для тестирования beta-версии PVS-Studio for Linux.
        Читать дальше →
      • Был получен несанкционированный доступ к более чем 20 000 камерам видео-наблюдения Москвы (теперь вы тоже)

        Привет, Хабрахабр! Наверняка многие из вас помнят легендарный пост «Были получены исходники 3300 глобальных интернет-проектов», который долгое время был первым в рейтинге всех публикаций на сайте. Несмотря на схожий заголовок у моего поста, не претендую на первое место, но считаю, что вам стоит обратить внимание.


        Читать дальше →
      • HOWTO: свой бизнес в США из России

            Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

            В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
        Читать дальше →
      • Десять возможностей C++11, которые должен использовать каждый C++ разработчик

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

          Сегодня в программе:
          • auto
          • nullptr
          • range-based циклы
          • override и final
          • строго-типизированный enum
          • интеллектуальные указатели
          • лямбды
          • non-member begin() и end()
          • static_assert и классы свойств
          • семантика перемещения
          Читать дальше →
        • iПрезентация (The Presentation). Как Джобс готовил и проводил презентации

            Стив Джобс был лучшим в мире оратором и делал самые лучшие презентации продуктов, заставляя зрителей «сидеть на краешках стульев». Фокус в том, что за каждой из таких презентаций скрывается определённая подготовка и определённые приёмы. Кармин Галло (Karmine Gallo) изучил публичные выступления Стива Джобса и его подготовку к этим выступлениям. В результате мы можем прочесть книгу, которая поможет вам готовить хорошие презентации.



            Зачем эта статья? Да, эта статья не отменяет необходимости чтения первоисточника. Но лично мне она нужна как конспект: когда я в очередной раз буду готовиться к публичному выступлению, я вернусь к этой статье и быстро вспомню то, о чём написано в книге.
            Итак, приступим.
            Читать дальше →
            • +15
            • 31k
            • 3
          • Донор с необычной кровью спас 2 000 000 детей

              Вот уже более 60 лет австралиец Джеймс Харрисон (James Harrison) практически каждую неделю ходит сдавать плазму крови. Почётный донор давным-давно удостоился прозвища Человек с золотой рукой, и это не просто так. Своей правой рукой, куда ему более 1000 раз вставляли иглу аппарата для плазмофереза, за прошедшие годы он спас более двух миллионов человек!

              Ещё в юности Джеймс пережил серьёзную операцию на грудной клетке, ему удалили лёгкое. Это произошло в далёком 1951 году, когда нашему герою было 14 лет. Жизнь подростку удалось спасти благодаря неизвестным донорам, которые пожертвовали 13 единиц крови (6,5 л). Тогда Джеймс раз и навсегда решил, что он достаточно взрослый и тоже станет донором крови.

              Вскоре после того, как парень начал сдавать кровь, его вызвали к врачам для разговора.
              Читать дальше →
            • Почему вам НЕ стоит использовать AngularJs

                Много времени прошло с момента появления AngularJs (в масштабах веб-технологий конечно). Сейчас в интернетах есть огромное количество постов восхваляющих этот фреймворк до небес, что это манна небесная не иначе, а критики не так уж и много как он того заслуживает. Но такие статьи уже потихоньку начинают появляться, и меня это радует, надеюсь индустрия переболеет ангуляром так же, как переболела MooTools, Prototype, %какой-нибудь новый язык под JVM%, %другая-супер-революционная-технология%. Не знаю почему, но в IT-области такие революционные технологии, которые поднимают шум, а потом пропадают, появляются довольно часто. Хороший разработчик должен уметь отличать очередную модную технологию, от работающего инструмента. И для этого очень важно критически смотреть на вещи. Моя статья — это компиляция самых весомых выводов из других статей, и моих личных умозаключений. Ангуляр создает хороший вау-эффект, когда видишь его впервые: «ух ты, я написал ng-repeat, и реализовал эту логику одними тегами и все само обновляется!», но как только приходится реализовывать реальные приложения, а не очередной TODO-лист, то все становиться очень печально. Сразу хочу сказать, что фреймворк я знаю хорошо, даже больше чем мне хотелось бы его знать, я программировал на нем в течении 2 лет. И для следующего проекта я его точно не выберу, и это хорошо, все мы учимся на ошибках. Так что же не так с ангуляром? Тут нет однозначного ответа, слишком много разных недостатков, которые создают такой облик фреймворку. Если одним словом – непродуманная архитектура. Под катом я привожу конкретику, так что устраивайтесь поудобнее. ДА НАЧНЕТСЯ ХОЛЛИ ВАР!
                Читать дальше →
              • Олимпиады по программированию, взгляд из НГУ. Статья 1 — составление задач

                  Следующий год будет моим пятым и последним сезоном в ACM-олимпиадах. За эти годы накопилось много разных воспоминаний и знаний об олимпиадах, благо мой университет участвует в них весьма активно. Рассказывать только со стороны участника будет не совсем правильным, поскольку поучаствовать в олимпиадах могут многие, мне же довелось и быть в составе жюри (правда, школьных олимпиад). Расскажу немного интересных вещей изнутри, приоткрою чуть-чуть наше закулисье. Рассказ будет тесно связан с Открытой Всесибирской олимпиадой, поскольку с ней у меня общение самое тесное (да и проводится она нашим университетом).

                  Вторая статья — про тестирующие системы.
                  Третья статья — про работу оргкомитета.
                  Четвёртая статья — про тур непосредственно.

                  В первой статье я хочу рассказать о составлении задач к этим олимпиадам. Дело увлекательное, творческое, но порой весьма муторное.
                  Читать дальше →
                • Простая логическая загадка, демонстрирующая нелогичность людей

                  • Перевод
                  image
                  Питер Васон

                  В 60-х годах психолог Питер Васон придумал эксперимент-загадку, «Задача выбора Васона». Говорят, что это наиболее часто исследуемая задача в психологии принятия решений.

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

                  Одна из версий задачи звучит так – испытуемому (который был всегда один, ибо Васон избегал групповых тестов) предлагались четыре карты – с одной стороны у каждой было число, с другой – один из двух цветов. Допустим, вы – испытуемый. У первой и второй карт вы видите лицевую сторону с числами 5 и 8, у третьей и четвёртой – обратную сторону, у одной – голубую, у другой — зелёную.

                  Экспериментатор сообщает вам следующее утверждение: если у карты на лицевой стороне изображено чётное число, то её обратная сторона – голубая. Вопрос: какие карты необходимо перевернуть для проверки этого утверждения?
                  Читать дальше →
                • Психология ценообразования: 10 стратегий и 29 тактик

                  • Перевод


                  Добро пожаловать! Это длинный список стратегий ценообразования, учитывающих психологические факторы.

                  Неважно, запускаете ли вы новый продукт, продаете что-либо на eBay или же заключаете сделку о продаже дома – вы научитесь устанавливать цены, которые максимизируют вашу прибыль.
                  Читать дальше →
                  • +26
                  • 45,9k
                  • 5
                • Лекции Технопарка. 1 семестр. С/С++

                  • Tutorial
                  Мы продолжаем наши еженедельные публикации учебных материалов Технопарка. Предыдущие лекции были посвящены web-технологиям в целом, а также алгоритмам и структурам данных. В третьем блоке лекций рассказывается о языках С и С++.

                  Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти


                  Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.


                  Читать дальше →
                • Использовать наши программы весело

                  • Перевод
                  Эти два вымышленных парня сильно повлияли на меня в плане программирования:

                  image

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

                  image

                  Игры со странными дискетами от Братьев Бигл на компьютере Apple II в средней школе, и «шведский стол» всяческих программ, которые были написаны для них, стали для меня обрядом посвящения.
                  Читать дальше →
                • Что я рассказал бы себе о стартапах, если бы мог вернуться на 5 лет назад

                  • Перевод

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

                  1. Ничего не получится, если пытаться делать слишком много и сделать это слишком поздно. Старательно избегай этого.

                  2. Над этой же идеей прямо сейчас кто-то уже работает. И, в общем-то, это не так плохо.

                  3. Никогда не подписывай NDA, пока не услышишь о чём вообще речь.

                  4. Нравится тебе это или нет, но большинство социальных связей в Лондоне основаны на выпивке. Смирись и прими, сумев избежать постоянного похмелья.

                  5. Люди, которые действительно чего-то добились — это не те, кто постоянно бухает.

                  6. Линейный рост может быть хуже, чем вообще никакого роста.

                  7. Большинство людей, которые говорят о скором провале, этим вообще не занимаются.

                  8. Легко обманывать себя, будто ты «заботишься об интересах пользователей», хотя на самом деле ты пытаешься найти способ заставить их согласиться с тем, над чем ты сам хочешь работать.
                  Читать дальше →
                • Ещё один пост о сборке front-end проекта

                  • Tutorial
                  Js app starter

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

                  Что умеет делать сборщик:
                  • Собирать front-end проект для development & production окружений.
                  • Собирать по несколько js/css бандлов на проект.
                  • Использовать стиль CommonJS модулей в браузере.
                  • Использовать ES6-синтаксис.
                  • Спрайты, картинки и многое другое.

                  Читать дальше →
                • Самые нужные плагины для Gulp



                    Это пост можно сказать является дубликатом моей предыдущей подборки “Самые нужные плагины для Grunt”. Дело в том, что спустя много часов поиска я не нашел крутых плагинов для Gulp, которых нет для Grunt за исключением пары весьма специфичных утилит. Всё как раз наоборот, но проигнорировать множество пользователей Gulp я не мог. Все недостающие плагины я выделил, потому что Gulp умеет использовать их из Grunt, как и Grunt из Gulp.

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

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

                    А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.
                    Читать дальше →
                  • Как не терять деньги при оплате через PayPal

                      Часто платите через PayPal и хотите быть уверенным что не переплачиваете 1-2% от суммы платежей? Тогда загляните под кат. Пользователям PayPal «со стажем», возможно, это будет не интересно, но кто знает…
                      Все равно читать...