• Numphp — работа с числовыми векторными массивами и матрицами

      Сегодня я бы хотел продолжить рассказ про замечательную библиотеку для работы с числовыми массивами в php numphp. Ранее я уже делал краткий обзор на неё тут. С тех пор библиотека обросла функционалом, и, что самое главное, научилась работать с многомерными массивами или матрицами. Про них, в основном и будет идти речь.

      Без лишних вступлений сразу пример того, как можно создать матрицу 3 на 4, используя возможности numphp.

      $matrix = new np_array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]);
      
      // matrix
      [[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]]
      
      Читать дальше →
    • Numphp — библиотека для работы с числовыми массивами

        Привет.

        Я бы хотел представить мой первый open source проект, размещённый на github. Это библиотека предоставляющая удобный и совершенно новый опыт работы с числовыми массивами в php. Вдохновением для создания послужила библиотека numoy на языке Python, которая включает широкий спектр возможностей для манипулирования данными и инструментами линейной алгебры.

        Честно говоря, я был удивлён, когда обнаружил что на php до сих пор нет достойного аналога numpy. Конечно, некоторые попытки реализации можно найти на гитхабе, но они все крайне далеки от оригинала и не разделяют ту же идеологию. Моей целью было и есть создание похожей библиотеки, как минимум в отношении удобства использования и краткости синтаксиса. В дальнейших планах будет улучшение производительности.

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

        $list = [16, 22, -6, 23, -1, 13, 24, -23, 22];
        Читать дальше →
      • Разделить число на заданное количество кубиков

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

          Условие достаточно простое. Есть случайное число и заданное количество игровых кубиков. Значение каждого кубика может быть от 1 до 6. Нужно разбить число таким образом, чтобы на выходе получился массив значений для каждого кубика. Причём при каждом вызове значения этих кубиков должны быть случайными.
          Например:
          Число 18 и 4 кубика. Ответ: [6,3,5,4];

          Моё решение под катом и спойлером…
          Читать дальше →
        • Редизайн Twitter приложения для iOS7, но глобальные изменения ещё впереди

          • Перевод
          image

          В связи с предстоящим выходом на IPO, твиттер выпустил обновлённое приложение, включающее в себя несколько новых возможностей и, конечно, редизайн под 7 версию iOS. Но это мелочи по сравнению с тем, что собирается делать компания дальше для того, чтобы её продукт было более передовым и дружелюбным.

          В своём блоге компания, которая насчитывает около 200 миллионов пользователей, рассказала о запуске обновлённых приложений, отмечая то, как теперь эти приложения интергированы с iOS. К примеру, Siri теперь сможет искать в твитере людей и записи. Браузер Safari включает в себя так называемые "Коллективные ссылки", которые ведут на новости, которые обсуждаются в твиттере. Приложение Music будет отображать популярные песни из твиттера по тэгу #music.
          Читать дальше →
        • Ваша любопытная девушка может разблокировать ваш Iphone 5s с помощью вашего пальца, пока вы спите

          • Перевод
          image
          Блокировка телефона по коду доступа ещё жива. Доступ к Iphone 5 через систему распознавания отпечатков пальца может быть получен даже тогда, когда вы спите. Это значит что ревнивый партнёр может прижать ваш телефон к вашему пальцу пока вы спите и прочитать все ваши сообщения, просмотреть список звонков, email и так далее.

          Apple подтвердила информацию о том, что мёртвый палец не сработает. Усыпление жертвы, конечно, возможно, но интернациональным шпионам не удастся отрезать палец Примьер Министра для того чтобы получить доступ к его секретным и личным файлам. Apple также не хранит копии отпечатков пальцев на сервере, вместо этого сохраняет их в секретной зоне процессора А7, которая специально была разработана чтобы быть недоступной для хакеров и других приложений.
          Читать дальше →
        • Новый мобильный фреймворк для A/B тестирования от Facebook. Редизайн навигационной панели для iOS 5,6&7

          • Перевод
          image


          Facebook утратил возможность «move fast and break things» когда переключил свои приложения с HTML5 на нативные технологии. Но теперь смог вернуть её обратно. 18 сентября он анонсировал большой редизайн приложения под 7 iOS, одним из главных достоинств стал «tab bar» внизу экрана, разработанный с помощью современного нативного мобильного фреймворка тестирования (здесь и дальше под тестированием понимается A/B тестирование. — прим. переводчика). Facebook понял что нужно избавляться от «выдвижной» навигации, тестируя различные варианты интерфейса на группах по 10 миллионов пользователей.
          Читать дальше →
        • Проверить наличие цифр в строке

            На днях столкнулся с интересной задачей и решил поделиться ею с вами.
            Задача состоит в следующем: необходимо проверить наличие в строке цифр. Главное условие — не использовать регулярных выражений.

            Язык, в принципе любой, интересен именно подход к решению. Ну, и, конечно, желательно, оптимизированное решение.

            Вот моё
            function check_for_number($str)
            {
                $lenght = strlen($str); 
                for($i=0;$i<$lenght;)
                {
                    if (is_numeric($str[$i++]))
                    {
                        return true;
                    }
                }
                return false;
            }
          • Голос дороги — дорожные заметки Днепропетровска

              golosdorogi.dp.ua
              Идея проекта уже не новая, но всё ещё актуальна.
              Каждый участник дорожного движения может оставить свою заметку о дорожной ситуации, свидетелем которой он стал.
              Проект очень молодой, перспективный. Перспективный потому, что в Украине ещё нет аналогичного проекта. А данная тематика довольно популярна.

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

              Какие цели преследует сайт? Во-первых — выявление злостных нарушителей ПДД. Город у нас хоть и большой, но всё равно есть свои «герои». Во-вторых, как следствие первого пункта — повышение взаимного уважения на дорогах. Ну и конечно же, информирование водителей и пешеходов и будущих событиях, таких как плановый ремонт дорог или внеплановый приезд Президента и блокировка некоторых дорог города.

              В будущем планируется расширение и на другие города Украины. Но до этого ещё надо дожить.

              С вами был проект Голос дороги — дорожные заметки Днепропетровска.
              Спасибо за внимание.

              P.S. спасибо за вдохновение: drive.s13.ru, auto-imho.ru
            • Метод прогрессивного джипега

                Мне очень понравился метод, который когда-то давно описал Лебедев (может и не он придумал, не важно). Метод описывает принципиально другой подход к разработке проектов.
                image
                Заключается он в том, что проект создаётся таким образом, что бы в любую единицу времени можно было его показать заказчику. Это значит, что в самом начале работы следует заложить самый базовый функционал и потом, позже, добавлять мелкие детали и работать над ними.
                Это очень помогает во многих случаях. Например, если заказчик просит уже через неделю-две показать наработки по проекту или если сложно уложиться в заданные сроки. К тому же в этом случае можно будет сразу увидеть всю картинку целиком, и, возможно, окажется, что часть заложенного ранее функционала просто не нужна в этом проекте или в этом релизе.

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

                Что вы думаете по поводу метода прогрессивного джипега?
              • Особенность копейки и цента

                  Сегодня заметил одну интересную особенность. Причём если правильно и красиво сформулировать, то вопрос можно задать знатокам в программу Что? Где? Когда?
                  Итак.
                  Возьмём украинскую копейку в руки и перевернём её по горизонтали. Вот что у нас получится:
                  image
                  Т.е. изображение будет расположено верно.
                  А теперь возьмём в руки 1 американскую копейку. И перевернём по горизонтали. Вот что у нас получится:
                  image
                  Т.е. изображение стало перевёрнуто «вверх ногами».
                  Если не можете проверить, то просто поверьте мне, что это так. У меня дома есть 1 цент 2005 года выпуска. И я сам лично экспериментировал (правда фотография не моя — нет фотоаппарата под рукой).
                  И вот что интересно получается. Мы, когда хотим перевернуть монету, переворачиваем её по горизонтали. А американцы, судя по всему — по вертикали.
                  Спрашивается, почему?

                  UPD. Кстати, только что глянул на евроценты — они аналогичны нашим копейкам в этом плане.
                  image

                  UPD2. В комментариях выложили английский пенни. Примечательно, что переворачивается эта монета так же, как и наша.
                  image
                • Как не забыть мысли?

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

                    Вот у меня вопрос — как вы в таких случаях поступаете? Записываете мысли на бумагу? Или дома пытаетесь вспомнить, что же за мысль была?
                  • Как познакомить Jabra с телефоном

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

                      Инструкция по подключению Jabra к телефону


                      • Стереть bluetooth устройство «JABRA» из телефона.
                      • Выключить телефон, вынуть батарею.
                      • Подсоединить гарнитуру к сетевой зарядке, включить зарядку в сеть на 10 секунд (выполняет soft reset).
                      • Отключить зарядку.
                      • Нажать кнопку спаривания на гарнитуре, должен загореться (и гореть непрерывно) синий светодиод.
                      • Отложить гарнитуру и заняться процессом подключения гарнитуры на телефоне (поиск устройств, спаривание и т.д.)