Pull to refresh
0
0
Send message

Вся выдача Google теперь выглядит как реклама

Reading time3 min
Views53K

После редизайна органическая выдача Google (внизу) практически неотличима от рекламных объявлений

Начиная с 13 января 2020 года компания Google начала выкатывать новый дизайн поисковой выдачи для десктопов. Он практически стирает грань между органическими результатами поиска и рекламными объявлениями сверху.

Теперь единственное, что отличает рекламные ссылки от нормальных — это маленький чёрно-белый значок "Ad". Значок отформатирован так, чтобы совпадать по размеру с новыми фавиконами в результатах поиска.
Total votes 42: ↑39 and ↓3+47
Comments138

Ваш язык программирования — отстой

Reading time54 min
Views139K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →
Total votes 314: ↑167 and ↓147+20
Comments353

Регулятор расхода газа в 5 раз дешевле коммерческих решений

Reading time8 min
Views18K
image

Регуляторы расхода газа (РРГ) предназначены для поддержания заданного пользователем значения расхода. РРГ используются в промышленности и научно-исследовательских лабораториях для организации подачи газа из баллонов и магистралей. На рынке представлены устройства компаний Элточприбор, MKS, Bronkhorst и др. Стоимость таких приборов составляет 1000-2500 USD. Целью настоящей работы является создание регулятора расхода газа из более доступных компонентов. Идея состоит в организации системы с обратной связью, включающей в себя пропорциональный клапан и измеритель расхода. Ниже приведено краткое описание аппаратной и программной части системы, позволяющее воспроизвести ее всем, кто использует РРГ в своей деятельности. Все исходные коды доступны на GitHub.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments28

Конец эпохи Trident

Reading time27 min
Views37K
tl;dr Я бы сказал, что Microsoft на несколько световых лет опередила всех в разработке инструментов для проектирования сложных веб-сайтов. Сейчас эти технологии изобретают заново на руинах погибшей цивилизации.



Когда я был ребёнком, меня всегда завораживали истории о древних цивилизациях. Я зачитывался книгами об Атлантиде, об истории открытия Трои Генрихом Шлиманом, о греках, римлянах, империи инков и Древнем Египте. И меня всегда восхищали их продвинутые знания в области астрономии, математики и медицины, их невероятные достижения, возведение этих огромных монументов и построение высокофункциональных социальных систем. Что ещё более невероятно, так это то, что всё это было сделано за тысячи лет до появления христианской культуры!

Однако все эти высокоразвитые цивилизации в конце концов исчезли. Некоторые просто тихо вымерли, других вытеснили цивилизациями с лучшим вооружением. В большинстве случаев достижения побеждённых не передавались доминирующей группе, никак не обогащая победителей. Они просто исчезали. Что я всегда считал неудачным развитием событий.
Total votes 56: ↑52 and ↓4+68
Comments136

Исповедь docker хейтера

Reading time10 min
Views123K

Я должен признаться. Я ненавижу docker. Всей своей душой. Это самая ужасная софтина, которую я видел за последние 10 лет.


С одной стороны, я очень уважаю одноименную компанию. Ребята из Docker Inc. реально популяризировали контейнеризацию. Теперь о ней не знает только ленивый. С другой стороны, ничего принципиально нового они не изобрели — контейнеризация на момент, когда Docker "выстрелил", уже существовала более 30 лет (начиная от chroot, вспомним еще jails и zones, ну, и наконец-то — namespaces & cgroups).


Круто, что docker реально ускоряет разработку во множество раз. Если вести ее правильно, то даже без потери в качестве. В любом случае, docker здесь, от него не деться и приходится им пользоваться.


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


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

Читать дальше →
Total votes 220: ↑203 and ↓17+186
Comments539

Чистые тесты на PHP и PHPUnit

Reading time11 min
Views32K

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

Тесты — это особая разновидность документации. Как я ранее писал о TDD на PHP, тест всегда будет (или хотя бы должен) ясно говорить о том, в чём заключается задача конкретной части кода.

Если один тест не может выразить эту идею, то тест плохой.

Я подготовил набор методик, которые станут подспорьем для PHP-разработчиков в написании хороших, удобочитаемых и полезных тестов.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments23

Правила работы с динамическими массивами и пользовательскими классами коллекций

Reading time7 min
Views9K


Правила работы с динамическими массивами и пользовательскими классами коллекций
Здесь представлены правила, которых я придерживаюсь при работе с динамическими массивами. По сути, это руководство по проектированию массивов, но я не захотел помещать его в руководство по проектированию объектов, потому что не в каждом объектно-ориентированном языке есть динамические массивы. Примеры написаны на PHP, потому что он похож на Java (с которым вы, возможно, уже знакомы), однако с динамическими массивами вместо встроенных классов коллекций и интерфейсов.
Читать дальше →
Total votes 24: ↑19 and ↓5+26
Comments5

PHP-Дайджест № 172 (14 – 27 января 2020)

Reading time3 min
Views16K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.2 и другие релизы, Stringable RFC, обзор PHP 8, порция полезных инструментов, 4 ближайших митапа, видеозаписи с конференций, стримы и многое другое.

Приятного чтения!


Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments13

В 26 лет Яна Харлан руководит разработкой космического двигателя. В следующем году его планируют запустить

Reading time8 min
Views66K
imageЯна Харлан с макетом двигателя (1:1)

В 2017 году российские ученые из команды Avant Space занялись разработкой уникального геликонного сеточного двигателя для космических спутников. С ним бы они могли поддерживать орбиту и выполнять межорбитальные переходы.

«Это простое на первый взгляд устройство повелевает воистину сложными плазменными процессами и позволяет разгонять рабочее тело двигателя до скоростей в десятки километров в секунду. Базовая схема не нова — мы лишь постарались сделать максимально эффективным сам плазменный разряд с помощью возбуждения геликонных волн», — говорит со-основательница и гендиректор проекта Avant Space Яна Харлан.
Читать дальше →
Total votes 111: ↑97 and ↓14+124
Comments312

PHP-Дайджест № 170 (9 – 23 декабря 2019)

Reading time4 min
Views17K

Свежая подборка со ссылками на новости и материалы. В выпуске: CakePHP 4, Codeception 4, Phalcon 4 и другие релизы, порция полезных инструментов, подкасты, видео с прошедших митапов, и многое другое.

Приятного чтения!


Total votes 70: ↑70 and ↓0+70
Comments19

Решение типовых проблем с json_encode (PHP)

Reading time6 min
Views32K

Это краткая статья о наиболее вероятных проблемах с json_encode и их решениях. Иногда при кодировании данных в json, с помощью json_encode в php, мы получаем не тот результат который ожидаем. Я выделил три наиболее частые проблемы с которыми сталкиваются программисты:


  • доступ к полям
  • кодировка текстовых значений
  • цифровые значения
Читать дальше →
Total votes 36: ↑29 and ↓7+33
Comments55

PhpStorm 2019.3: поддержка PHP 7.4, PSR-12, WSL, MongoDB и многое другое

Reading time8 min
Views21K


Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году!
Под катом — подробный разбор всех заметных изменений и новых возможностей. Осторожно — очень много картинок.

Скачать новую версию можно на сайте или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также бесплатно — студенты и разработчики проектов с открытым исходным кодом.
Total votes 38: ↑37 and ↓1+47
Comments49

PHP-Дайджест № 171 (1 – 13 января 2020)

Reading time4 min
Views16K

Свежая подборка со ссылками на новости и материалы. В выпуске: 4 свежих RFC из PHP Internals и интересные пул-реквесты в PHP 8, порция полезных инструментов, подкасты, стримы и многое другое.

Приятного чтения!


Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments15

5 возможностей JavaScript, без которых я не мог бы писать код

Reading time6 min
Views13K
Доброго времени суток, друзья!

Прежде чем мы начнем, позвольте мне немного рассказать о коде, который я пишу. Почти весь мой код состоит из Javascript, плюс немного HTML и CSS. Я пишу как клиентский, так и серверный JS. Я тестирую свой код. Я создаю и распространяю библиотеки с открытым исходным кодом, которые используются тысячами разработчиков по всему миру. Для фронтенда я использую React, для бэкенда — Express или бессерверные вычисления.

Вот 5 особенностей JS, без которых я не мог бы писать код. В произвольном порядке. Разумеется, «без которых я не мог бы писать код» — это гипербола. Это «фичи», которые мне по-настоящему нравятся и используются мной постоянно.
Читать дальше →
Total votes 21: ↑14 and ↓7+15
Comments23

Почему задние фонари на Cadillac XLR могут стоить больше, чем подержанная Corolla

Reading time4 min
Views77K


Иногда огрехи в дизайне видны прямо сразу, и их неряшливое исполнение шлёпает вас по лицу, словно ломоть мокрой ветчины. Другие оказываются более коварными, и их проблемы скрываются под поверхностью. Задние фонари Cadillac XLR – пример из последней группы, и эти проблемы доставляют немало головной боли ещё существующим владельцам XLR, которая обходится им недёшево.

Если вы забыли, напомню, что Cadillac XLR был, по сути, Corvette в красивом костюме кадиллака и с улучшенным салоном. GM делала эти дорогие тачки с 2004 по 2009, у них было много инноваций – к примеру, это была первая машина от Cadillac с адаптивным круиз-контролем и сиденьями, которые умели и охладить, и подогреть ваши булки. А ещё у него были модные светодиодные задние фонари.

Всю жизнь я был фетишистом задних фонарей, и я уже замечал их и ранее, поскольку они выглядят смело и симпатично, но всю глубину их проблем я осознал, только заметив один твит от своего друга Bozi:
Total votes 115: ↑104 and ↓11+137
Comments633

История Vim и руководство по его эффективному использованию

Reading time14 min
Views49K
Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




Эта статья основана на исследовании истории Vim и прочтении его руководства пользователя от корки до корки. Надеюсь, эти заметки помогут вам открыть (или переоткрыть?) для себя основные функциональные возможности этого редактора, а также позволят отказаться от использования предупакованных файлов vimrc и более вдумчиво использовать плагины.



Список литературы


Чтобы выйти за границы привычных тем, я бы порекомендовал обзавестись бумажной копией этого руководства и емким карманным справочником. Я не смог найти печатную копию руководства пользователя для Vim, так что в итоге просто распечатал идущий вместе с редактором PDF-файл с помощью printme1.com. Он идет вместе с софтом в $VIMRUNTIME/doc/usr_??. В качестве удобного списка команд могу посоветовать справочник «Vi and Vim Editors Pocket».

Содержание

  • История
  • Иерархия конфигурации
  • Сторонние плагины
  • Бекапы и откаты
  • Include и path
  • Редактирование и компиляция цикла
  • Диффы и патчи
  • Буфер ввода / вывода
  • Типы файлов
  • Не забывайте про мышь
  • Разное

История


Рождение vi


Команды и функции Vi существуют уже более пятидесяти лет, начиная с редактора QED. Вот его таймлайн:
Читать дальше →
Total votes 36: ↑32 and ↓4+38
Comments14

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Views658K

Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.


Читать дальше →
Total votes 285: ↑280 and ↓5+365
Comments595

Клеим шпангоут для шхуны без регистрации и смс

Reading time9 min
Views18K
боковое сечение шхуны

В начале 2019 мои друзья из яхт-школы «Морские практики» решили, что для путешествий по высоким широтам насущно необходимо подходящее судно. Выбор пал на шхуну, подобную тем, на которых в конце 19 — начале 20 века в северных морях добывали рыбу и зверя русские и норвежские моряки. Поскольку у школы уже имелся успешный опыт строительства классического парусно-гребного поморского карбаса (под руководством опытного мастера), шхуну тоже решили строить своими силами. В России подобные суда уже не строят, но во время путешествия по Норвегии морские практики познакомились с норвежскими кораблестроителями, которые согласились поделиться опытом.

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

Если интересно, как из прямых двадцатимиллиметровых досок можно сделать криволинейную балку шпангоута сечением 175 миллиметров, что такое малковка и как считать и срезать угол малки — добро пожаловать под кат!
Читать дальше
Total votes 94: ↑94 and ↓0+94
Comments65

Почему я отказался от Google Maps API

Reading time7 min
Views38K
TL;DR Недавние изменения в модели ценообразования, мягко говоря, безумны.

Когда я в 2012 году запустил NUKEMAP, у Google Maps были просто потрясающие программные интерфейсы. Абсолютно лучшие API для создания картографических мэшапов на JavaScript, практически бесплатные, с активным сообществом разработчиков, которое регулярно добавляло новые функции. На самом деле создавалось впечатление, что компания заинтересована в людях, которые используют их продукт для создания крутых, полезных инструментов.


Старые версии NUKEMAP: слева оригинальная версия от марта 2005 года на скриншотах MapQuest (она была чрезвычайно ограничена и никогда не публиковалась), полностью на PHP. Я разработал её для личного пользования и обучения. Справа переделанный NUKEMAP от 2012 года на Google Maps API и Javascript.

Сегодня изменилось почти всё. В кодовую базу API практически перестали добавлять реально полезные функции (многие классные фичи были удалены или тихо устарели; добавляемые новые функции, как правило, инкрементальные или примитивные). Это действительно весьма примечательный факт, поскольку на свой собственный веб-сайт Google Maps они добавили много классных штук, например, режим 3D. Но в API их не портировали.
Читать дальше →
Total votes 67: ↑65 and ↓2+82
Comments45

Самое интересное в PHP 8

Reading time18 min
Views38K
PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор.

Все доклады Дмитрия только о тех технологиях и решениях, над которыми он работает лично. В лучших традициях Онтико под катом текстовая версия рассказа о самых интересных с точки зрения Дмитрия нововведениях PHP 8, которые могут открыть новые use-case-ы. В первую очередь JIT и FFI — не в ключе «потрясающих перспектив», а с подробностями реализации и подводными камнями.


Для справки: Дмитрий Стогов познакомился с программированием в 1984, когда еще далеко не все из читателей появились на свет, и успел внести существенный вклад в развитие инструментов разработки, и PHP в частности (хоть Дмитрий повышает производительность PHP не специально для российских разработчиков, они выразили свою благодарность в виде Премии HighLoad++). Дмитрий автор Turck MMCache для PHP (eAccelerator), майнтейнер Zend OPcache, лидер проекта PHPNG, легшего в основу PHP 7, и лидер разработки JIT для PHP.
Читать дальше →
Total votes 71: ↑70 and ↓1+96
Comments45

Information

Rating
Does not participate
Registered
Activity