При ручной сборке PHP (в данном случае рассматриваю версию 7.0.7) необходимо запустить команду make test перед make install, которая прогоняет все тесты в папке tests, после чего можно из командной строки отправить результат. Если просмотреть данную папку, то в ней сразу бросаются в глаза папки с наименованием classes, func, basic и т.д… Почему это интересно?
Артём @FanAs
Веб-разработчик
Матрица прокрастинации (откладывания дел «на потом»)
14 min
144KTranslation
Для лучшего понимания этого поста, прочитайте сначала предыдущий пост про прокрастинацию.
Если бы, когда я учился в школе, вы спросили меня прокрастинатор ли я, я бы конечно ответил “да”. Учеников школы учат “держать темп” с крупными проектами. И я гордо держал темп больше чем кто-либо кого я знаю. Я никогда не пропускал дедлайн, но делал все ночью перед сроком сдачи работы. Я был прокрастинатором.
На самом деле я не был. Учебная программа в школе полна дедлайнов и коротких заданий. И даже долгие проекты состоят из промежуточных дедлайнов, которые не позволяют сильно расслабиться. Было всего несколько ужасных моментов, но в большинстве случаев, я все равно делал все в последнюю минуту, потому что знал, что все со мной будет хорошо, так почему бы нет.
Без всякого сомнения в моей голове была Обезьянка Немедленного Удовольствия, но она была милее всех на свете. С постоянно маячащими дедлайнами, Панический Монстр никогда не спал и Обезьянка знала об этом. Она конечно постоянно отвлекала, но не была за главного.
Мой мозг в школе:
Если бы, когда я учился в школе, вы спросили меня прокрастинатор ли я, я бы конечно ответил “да”. Учеников школы учат “держать темп” с крупными проектами. И я гордо держал темп больше чем кто-либо кого я знаю. Я никогда не пропускал дедлайн, но делал все ночью перед сроком сдачи работы. Я был прокрастинатором.
На самом деле я не был. Учебная программа в школе полна дедлайнов и коротких заданий. И даже долгие проекты состоят из промежуточных дедлайнов, которые не позволяют сильно расслабиться. Было всего несколько ужасных моментов, но в большинстве случаев, я все равно делал все в последнюю минуту, потому что знал, что все со мной будет хорошо, так почему бы нет.
Без всякого сомнения в моей голове была Обезьянка Немедленного Удовольствия, но она была милее всех на свете. С постоянно маячащими дедлайнами, Панический Монстр никогда не спал и Обезьянка знала об этом. Она конечно постоянно отвлекала, но не была за главного.
Мой мозг в школе:
+44
Ценность многошрифтового дизайна
15 min
18KTranslation
Я заметила, что одна из особенностей моего дизайнерского стиля — это готовность использовать, на первый взгляд, слишком большое количество разных гарнитур шрифтов. Я видела неисчислимое множество статей о сочетаниях и системах использования шрифтов, и почти везде рекомендуется использовать меньше шрифтов в любом дизайне. Я и к своей работе получала такие комментарии – дескать, работы приятные, несмотря на количество используемых шрифтов.
«Очень нравится сайт, потому что он не боится нарушать одно из первых правил шрифта – не использовать слишком много разных гарнитур. Используется четыре шрифта, два из семейства sans-serif и два из serif — Galaxie Copernicus, Interstate, Harriet и Nimbus Sans. Основной момент такого дизайна – последовательность, и сайт Бетани Хек последовательно использует каждый из шрифтов для своей цели.»
— Джеремия Шоаф, Typewolf
Расцениваю это, как вызов. Спасибо, Джеремия!
Хочу поспорить и рассказать о ценности эклектичных систем, и о том, как создать структуру проекта, чтобы эффективно использовать совместно несколько шрифтов.
Так почему же у нас есть правила насчёт количества используемых гарнитур?
+15
Как перенести центр разработки из России в Чехию
6 min
38KTutorial
I. Почему Чехия?
В начале 2015 года компания, в которой я работала инхаусом, решила перевезти часть своих российских разработчиков в Европу. Преследовалось несколько целей: мотивация российских разработчиков, упрощение найма инженеров из Евросоюза, удобство обслуживания зарубежных контрактов. Выбор пал на Чехию, а именно на Прагу. Почему?
+22
Сущность фотографии: умение видеть и творить
8 min
31KTranslation
Здравствуйте, дорогие читатели!
Если кто-то пока не заметил, напоминаем: у нас вышла роскошная книга легендарного американского фотографа Брюса Бэрнбаума "Сущность фотографии: умение видеть и творить"
Под катом — перевод вдумчивой и слегка многословной статьи господина Бэрнбаума о секретах фотографического творчества. Мы бы сказали, тизер к книге.
Всем приятного чтения
Если кто-то пока не заметил, напоминаем: у нас вышла роскошная книга легендарного американского фотографа Брюса Бэрнбаума "Сущность фотографии: умение видеть и творить"
Под катом — перевод вдумчивой и слегка многословной статьи господина Бэрнбаума о секретах фотографического творчества. Мы бы сказали, тизер к книге.
Всем приятного чтения
+8
Два по сто: самые читаемые статьи и авторы Хабра и ГТ
10 min
66KЕсли кто не знает, на Хабре, как и Гиктаймсе, всегда можно посмотреть все самые рейтинговые статьи за всё время. Но по просмотрам ни статьи, ни авторы никак не сортируются. Список ниже отражает почти полную правду о самых читаемых статьях «Хабра» и «Гиктаймса» за всё время. Почти — потому что, к сожалению, публичный счётчик был включён только 27 сентября 2012 года (примерная дата), поэтому если вам кажется, что какие-то ваши любимые тексты эпохи, когда Хабр был более торт, недосчитались просмотров — может, вы и правы. Впрочем, отчасти фактор неработавшего ранее счётчика нивелируется мощным хвостом в виде поискового траффика, так что действительно сильные тексты в любом случае должны были получить то, что им причитается — но об этом позже.
Итак, самые топ-100 самых читаемых постов за всё время на Хабре и ГТ в сумме. Megamozg included by default, т.к. данные собраны 21 мая, уже после обратного слияния с «Хабром»:
Итак, самые топ-100 самых читаемых постов за всё время на Хабре и ГТ в сумме. Megamozg included by default, т.к. данные собраны 21 мая, уже после обратного слияния с «Хабром»:
- «Скрытые смайлы в Skype», G0rDi — 1599K (2009)
- «Взломать Wi-Fi за… 3 секунды», ushanov90 — 1511K (2012)
- «Взломать Wi-Fi за 10 часов», gorl — 1181K (2012)
- «300 потрясающих бесплатных сервисов», shimapa23 — 1052K (2015)
- «Пишем своё первое приложение на Android», Hoorsh — 997K (2010)
- «Обновление с Windows 7/8.1 до Windows 10 TP через Windows Update», akibkalo — 840K (2015)
- «Простая стратегия игры 2048», WhatIsGTO — 820K (2014)
- «Откровенные фото Дженнифер Лоуренс и еще десятков знаменитостей утекли через iCloud», Akr0n — 795K (2014)
- «Подарок от Skype на новый год», gmikhail94 — 781K (2013)
- «Wi-Fi: неочевидные нюансы (на примере домашней сети)», apcsb — 757K (2012)
+60
Ломай меня полностью… разве это про Scrum?
4 min
16KНа мой взгляд самую коварную ошибку допустили создатели, когда сказали, что скрам это фрэймворк, который нужно адаптировать под себя. Я много раз слышал, как люди ссылаясь на это утверждение, оправдывали отсутствие или модификацию фундаментальных элементов скрама, таких как роль Product Owner, burndown диаграмма, цель спринта, демонстрация, готовый продукт в конце спринта и др. Для таких многочисленных «адаптаций» даже появился специальный термин «Скрамно» (ScrumBut).
В этой статье я поделюсь своим видением смысла и пользы некоторых элементов скрам. Я это сделаю в формате вопроса «почему этот элемент важен?». Это те почему, которые удалось мне выявить, путем проб и ошибок, а также внимательного наблюдения за процессами скрам в компаниях, где я работал.
В этой статье я поделюсь своим видением смысла и пользы некоторых элементов скрам. Я это сделаю в формате вопроса «почему этот элемент важен?». Это те почему, которые удалось мне выявить, путем проб и ошибок, а также внимательного наблюдения за процессами скрам в компаниях, где я работал.
+4
Светодиодный DIY-фонарь на 100000 люмен с водяным охлаждением
1 min
44KПользователь YouTube Samm Sheperd на днях выложил видеозапись с демонстрацией работы своего самодельного фонаря на 100000 люмен. Мощность системы — 800 Вт. Сделал он его самостоятельно, добавив самодельную же систему охлаждения из бутылки с водой, водяного насоса, ПВХ-трубок и радиатора с кулером.
В фонаре использованы светодиоды на 100 Вт каждый, плюс линзы (автор их приклеил эпоксидкой и убрал затем выступающие части). Светодиоды соединены параллельно, каждый снабжен керамическим резистором на 1 Ом. Корпус создан из алюминиевых планок и деревянной площадки. В процессе сборки использовалось большое количество суперклея и эпоксидки.
+19
Немного размышлений и советов по оптимизации кода на С++
13 min
67KЭту статью я написал достаточно давно для своего блога, который теперь заброшен. Мне кажется, в ней есть весьма полезная информация, поэтому не хотелось бы, чтобы она просто исчезла. Очень может быть, что-то уже устарело, буду благодарен, если мне на это укажут.
Как правило, язык C++ используют там, где требуется высокая скорость работы. Но на C++ без особых усилий можно получить код, работающий медленнее какого-нибудь Python/Ruby. Именно подобным кодом оперируют многочисленные сравнения Any-Lang vs C++.
Вообще, оптимизация бывает трех типов:
- Оптимизация уже готового, проверенного и работающего кода.
- Изначально написание оптимального кода.
- Просто использование оптимальных конструкций.
Специально заниматься оптимизацией готового кода следует только после того, как проект закончен и используется. Как правило, оптимизация потребуется только в небольшой части проекта. Поэтому сначала нужно найти места в коде, которые съедают большую часть процессорного времени. Ведь какой смысл ускорять код, пусть даже на 500%, если он отнимает только 1% машинного времени? И следует помнить, что, как правило, гораздо больший выигрыш в скорости дает оптимизация самих алгоритмов, а не кода. Именно про данный ее вид говорят: «преждевременная оптимизация — зло» (с).
Второй тип оптимизации — это изначальное проектирование кода с учетом требований к производительности. Такое проектирование не является ранней оптимизацией.
Третий тип даже не совсем оптимизация. Скорее это избегание неоптимальных языковых конструкций. Язык C++ довольно сложный, при его использовании частенько нужно знать, как реализован используемый код. Он достаточно низкоуровневый, чтобы программисту пришлось учитывать особенности работы процессоров и операционных систем.
+55
Fobo tire – устройство контроля давления в шинах авто
4 min
15KУ меня на старой зимней резине были некоторые проблемы. Раз в неделю, стабильно, нужно было подкачивать одно из колес, заодно я проверял и остальные и как правило еще одно слегка подкачивал. Когда я пропускал этот ритуал, то за пару недель наблюдалось уже пониженное давление в том проблемном колесе. Вроде как и заняться им нужно было, но с другой стороны раз в неделю подкачаешь и нормально. Ну а так как я привык к различным техническим решениям многих вопросов, то я стал интересоваться какие же устройства позволяют отслеживать давление в шинах без непосредственного участия человека.
К сожалению многие из них требовали установку внутрь камеры, что влекло к разборке колеса а значит дополнительным тратам. Про устройства устанавливаемые без разбортировки я не слышал, до того момента как ко мне в руки не попал Fobo Tire.
К сожалению многие из них требовали установку внутрь камеры, что влекло к разборке колеса а значит дополнительным тратам. Про устройства устанавливаемые без разбортировки я не слышал, до того момента как ко мне в руки не попал Fobo Tire.
+8
Собственный поисковик по раздачам The Pirate Bay
10 min
18KВ последнее время на хабре стало популярно делать собственные поисковики по RuTracker. Мне это показалось прекрасным поводом для того, чтобы отойти от скучной enterprise разработки и попробовать что-нибудь новое.
Итак, задача: реализовать на локалхосте поисковик по базе The Pirate Bay и попутно попробовать, что же такое frontend разработка и с чем её едят. Задача осложняется тем, что TPB не публикует своих дампов, в отличие от RuTracker, и для получения дампов требуется распарсить их сайт. В результате гугления и осмысления задачи я решил в качестве поисковика использовать Elasticsearch, для которого написать client-side only фронтенд на AngularJS. Для получения данных я решил написать собственный парсер сайта TPB и отдельный загружатель дампа в индекс, оба на Go. Пикантность выбору придавал тот факт, что ни к Elasticsearch, ни к AngularJS я до этого ни разу не прикасался и именно их опробывание было моей настоящей целью.
Итак, задача: реализовать на локалхосте поисковик по базе The Pirate Bay и попутно попробовать, что же такое frontend разработка и с чем её едят. Задача осложняется тем, что TPB не публикует своих дампов, в отличие от RuTracker, и для получения дампов требуется распарсить их сайт. В результате гугления и осмысления задачи я решил в качестве поисковика использовать Elasticsearch, для которого написать client-side only фронтенд на AngularJS. Для получения данных я решил написать собственный парсер сайта TPB и отдельный загружатель дампа в индекс, оба на Go. Пикантность выбору придавал тот факт, что ни к Elasticsearch, ни к AngularJS я до этого ни разу не прикасался и именно их опробывание было моей настоящей целью.
+19
Новогодний релиз PVS-Studio 6.00: проверяем Roslyn
16 min
11KНастало долгожданное событие. Мы выпустили релизную версию статического анализатора кода PVS-Studio 6.00, поддерживающего проверку C#-проектов. Теперь осуществляется проверка кода, написанного на следующих языках: C, C++, C++/CLI, C++/CX, C#. К выпуску шестой версии анализатора мы приурочили проверку открытого проекта Roslyn. Именно благодаря Roslyn в анализаторе PVS-Studio появилась поддержка C#, и мы очень благодарны компании Microsoft за реализацию и развитие этого проекта.
+25
Handlebars. Руководство к действию
9 min
116KДанная статья содержит в себе описание основных возможностей шаблонизатора Handlebars и является свободным переводом его официальной документации. Итак, поехали…
+17
Scalding: повод перейти с Java на Scala
8 min
22KВ этой статье я расскажу о Twitter Scalding – фреймворке для описания процесса обработки данных в Apache Hadoop. Я начну издалека, с истории фреймворков поверх Hadoop. Потом дам обзор возможностей Scalding. В завершение покажу примеры кода, доступные для понимания тем, кто знает Java, но почти не знаком со Scala.
Интересно? Поехали!
+18
Памятка начинающего преподавателя, или почему нытикам не стоит работать в ВУЗах
7 min
25KЛюбопытно было бы почитать продолжение манифеста Автора «Часть 2. Памятка начинающего веб-разработчика или почему…».
Вставлю свои 5 копеек – ответ на манифест. Это не совсем хвалебная ода, но несколько осветлит профессию преподавателя и успокоит новоиспечённых ассистентов и доцентовкоторые, наверное, обновили свои резюмешки и накатили корвалола. На данный момент я являюсь ассистентом одного из российских ВУЗов, до этого почти 4 года работы на разных предприятиях, т.е. оцениваю с обеих сторон баррикад.
Вставлю свои 5 копеек – ответ на манифест. Это не совсем хвалебная ода, но несколько осветлит профессию преподавателя и успокоит новоиспечённых ассистентов и доцентов
+18
Квантовая физика: что на самом деле реально?
8 min
104KTranslation
По словам Оуэна Маруни, работающего физиком в Оксфордском университете, с момента появления квантовой теории в 1900-х годах все говорили о странности этой теории. Как она позволяет частицам и атомам двигаться в нескольких направлениях одновременно, или одновременно вращаться по часовой и против часовой стрелки. Но словами ничего не докажешь. «Если мы рассказываем общественности, что квантовая теория очень странная, нам необходимо проверить это утверждение экспериментально,- говорит Маруни. – А иначе мы не наукой занимаемся, а рассказываем про всякие закорючки на доске».
Именно это навело Маруни сотоварищи на мысль разработать новую серию экспериментов для раскрытия сути волновой функции – загадочной сущности, лежащей в основе квантовых странностей. На бумаге, волновая функция – просто математический объект, обозначаемый буквой пси (Ψ) (одна из тех самых закорючек), и используется для описания квантового поведения частиц. В зависимости от эксперимента, волновая функция позволяет учёным вычислять вероятность наблюдения электрона в каком-то конкретном месте, или шансы того, что его спин ориентирован вверх или вниз. Но математика не говорит о том, что на самом деле такое волновая функция. Это нечто физическое? Или просто вычислительный инструмент, позволяющий работать с невежественностью наблюдателя касательно реального мира?
+21
«Зачем платить больше?» или лайфхак по созданию полусферы для GoPro
3 min
23KВсем привет. Сегодня в рубрике «колхозим дома» мы узнаем как же делать такие чудесные фотографии с помощью Gopro. Думаю впервые, когда каждый из нас увидел такие фотки в интернете, сразу захотели себе GoPro!
Однако мы собрали денег, купили камеру, пошли купаться, но таких фоток так и не добились. «Опять маркетинговый ход наверное, и вообще это не GoPro» — подумали мы. Однако если разобраться в этом деле, то все довольно просто.
Однако мы собрали денег, купили камеру, пошли купаться, но таких фоток так и не добились. «Опять маркетинговый ход наверное, и вообще это не GoPro» — подумали мы. Однако если разобраться в этом деле, то все довольно просто.
+20
Коллекции в Java: о чём многие забывают
6 min
142KTutorial
Из опыта code-review и ответов на StackOverflow набралось немало моментов, касающихся Java Collections API, которые мне казались очевидными, но другие разработчики о них почему-то не знали или знали, но не чувствовали уверенности их применять. В этой статье я собираю в общую кучу всё, что накопилось.
Содержание:
- List.subList
- PriorityQueue
- EnumSet и EnumMap
- Set.add(E) и Set.remove(E) возвращают булево значение
- Map.put(K, V), Map.remove(K), List.set(idx, E), List.remove(idx) возвращают предыдущий элемент
- Map.keySet() и Map.values()
- Arrays.asList может быть ключом
- Collections.max
- LinkedList, Stack, Vector, Hashtable
+56
Как за 5233 человеко-часа создать софт для микротомографа
7 min
31KХочу поподробнее рассказать об интересном проекте компании Edison. Перед разработчиками поставили задачу написать софт для микротомографа, они с этим отлично справились, а потом запихивали в этот томограф семечки, болты, конденсаторы и моль. А серьезным дядям этот томограф нужен, чтобы проверять алмазы и не покупать дырявые.
А еще сегодня 16 декабря, день рождения Иоганна Радона, австрийского математика, ректора Венского университета, который в 1917 году ввел интегральное преобразование функции многих переменных, родственное преобразованию Фурье, используемое сегодня во всех томографах.
Иоганн Радон был профессором 6 университетов (а в одном из них даже без кафедры), был президентом Австрийского математического общества. В Австрии в честь него назвали «Институт вычислительной и прикладной математики» и медаль.
О том, как проходила разработка софта для томографа и какие задачи решались в процессе — под катом.
+56
Парсинг формул в 50 строк на Python
4 min
44KВдохновение — задача с собеседования Яндекса и статья «Парсинг формул в 40 строк».
Моей целью было посмотреть, как будет выглядеть «pythonic» решение этой задачи. Хотелось, чтобы решение было простым, код читаемым и разделённым. В итоге ещё получился и пример применения цепочки генераторов (generators pipeline).
Моей целью было посмотреть, как будет выглядеть «pythonic» решение этой задачи. Хотелось, чтобы решение было простым, код читаемым и разделённым. В итоге ещё получился и пример применения цепочки генераторов (generators pipeline).
+26
Information
- Rating
- Does not participate
- Location
- Praha, Hlavni Mesto Praha, Чехия
- Date of birth
- Registered
- Activity