Pull to refresh
  • by relevance
  • by date
  • by rating

Браузер Brave автоматически добавляет свои партнёрские коды в URL

ITSumma corporate blog Firefox Information Security *Open source *Browsers
Браузер Brave уличили в том, что в отдельных случаях он подменяет URL в адресной строке, добавляя свою реферальную ссылку. В частности, это происходит при вводе адреса криптобиржи binance.com или binance.us.



Подобные действия особенно удручают с учётом того, что Brave позиционирует себя как приватная альтернатива Google Chrome. Создатели утверждают, что Brave «блокирует трекеры сайтов и удаляет навязчивую интернет-рекламу, повышает уровень приватности в интернете и уменьшает количество передаваемых о потребителях рекламы данных».
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views 9.1K
Comments 17

Консольные хитрости Питон: история команд + автодополнение

Python *
Если вы разрабатываете программы на Питоне, то, уверен, вы хорошо знакомы с работой с ним в интерактивном режиме. Это самый простой и удобный способ проверить пришедшую в голову идею, запустить библиотечную функцию, пошагово прогнать какой-то алгоритм и т.п. без создания лишних мусорных файлов. Вобщем питоновская консоль — очень мощная и удобная вещь. У меня постоянно напрашивается сравнение с юникс-шеллом в языке. Если бы не две ложки дегтя в этой бочке меда: команду каждый раз приходится набирать заново, вместо того, чтобы просто нажать стрелку вверх и подправить команду, а также приходится писать много лишнего, что только добавляет опечаток и необходимости повторного набора. Вобщем я хочу как в баше: история + автодополнение.
Я удивлен почему это еще не сделано по умолчанию. Кстати, очень может быть, что это уже реализовано в вашей системе, и вам это совершенно неактуально — тогда можете совершенно смело пропустить эту статью. Возможно это пригодится кому-то другому. На попавшихся мне Macos, Freebsd, Debian и Fedora этого не было.

К счастью, это легко исправить.
Total votes 50: ↑46 and ↓4 +42
Views 17K
Comments 34

JetBrains WebIDE — третья публичная сборка

PHP *
Вышла третья предварительная сборка (номер 445) новой среды разработки для PHP — JetBrains Web IDE PHP developers edition.
В этой версии мы приняли во внимания пожелания пользователей (в том числе и фидбэк с хабра:) и добавили несколько новых функций — YAML, дополнение членов объявленных через теги PHPDOC @property и method, а также усовершенствовали дебаггер. Исправлено множество различных ошибок и серьезно улучшена производительность автодополнения в редакторе.

Загрузка новой версии с официальной страницы «программы ранней доступности» Web IDE.
Детальный список изменений — в блоге Web IDE.

UPD: Напоминаю всем что это даже не бета — мы просто демонстрируем над чем работаем. Вы главное пишите чего ВАМ в вашем любимом IDE не хватает и что вы больше всего цените — а мы позаботимся чтобы появилась достойная альтернатива!

YAML + structure PHPDOC completion
Total votes 36: ↑32 and ↓4 +28
Views 2.9K
Comments 220

JetBrains WebIDE — четвертая публичная сборка (#470)

PHP *
Мы продолжаем нашу борьбу за идеальное IDE для PHP ^) Анонс предыдущей сборки на хабре подарил нам огромное количество информации и указал основные направляния для совершенствования. В этот раз мы сосредоточились на выведении типов, (авто)дополнении и производительности. Под «выведением типов» подразумевается определение типов переменных, выражений и функции на основе анализа кода (а не PHPDOC @аннотаций)

В этой сборке мы добавили:
— автоматическое выведение типов возвращаемых значений функций на основе анализа операторов return
— автоматическое определение фактических свойств класса и их типов путем анализа кода конструктора (см. скриншоты)
анализ функций
анализ конструктора
— автоопределение типов глобальных переменных без аннонаций
— полную поддержку аннотаций var и global
— автовызов дополнения после $ и ->
— дополние внутри PHPDOC @тегов (частично), $переменных (из следующей декларации) и видимых типов
— сокрытие __magic() методы при первом вызове (если есть другие члены класса)
— ограничили дополение внутри catch() подклассами Exception

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

Скачать Анонс Подробный список изменений

Приглашаем всех пробовать и продолжать дискуссию :)

UPD: в этом билде был найден серьезный баг — дополнение часто не срабатывает для классов не из текущего файла :((( уже исправлено — будет доступно на следующей неделе.
Total votes 71: ↑63 and ↓8 +55
Views 1.3K
Comments 197

JetBrains WebIDE — публичная сборка #500

PHP *
Квест «идеальное IDE для PHP» продолжается :) За прошедшую с предыдущей сборки неделю стали доступны две наиболее востребованые фичи — PHPUnit и FTP, ну и конечно мы постарались исправить как можно больше ошибок.

IDE
— начальная версия поддержки удаленных хостов — пока что только FTP upload. (Планируется: открытие удаленного проекта, автосинхронизация, SFTP/SSL/всякие cloud storage). Находится в меню Settings — Deploy&Run.
— Новые удобные закладки (F11)

PHP
— начальная версия поддержки PHPUnit (пока только локальный запуск)
— добавлено выведение типов для переменной в «foreach(...)», элемента массива «array[...]» и тернарного оператора "?:"
— добавлены поиск использований (Ctrl-Alt-F7) и переименование (Shift-F6) для глобальных переменных
— исправлены поиск использований и переименование для статических членов класса
— исправлены различные ошибки форматирования кода и комментариев

Загрузка Анонс

FTP PHPUnit
Total votes 51: ↑41 and ↓10 +31
Views 1.1K
Comments 117

JetBrains WebIDE — публичная сборка #701 / немного о ZendCon'09 / кое что о неочевидных возможностях

PHP *
И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.



Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 1.2K
Comments 200

JetBrains PhpStorm (AKA WebIDE) — публичная сборка 94.335

PHP *
В этой сборке вас ждут:

Новое имя. Два варианта Web IDE получили свои официальные названия: JetBrains WebStorm и JetBrains PhpStorm. Брендинг еще не закончен так что вы увидите знакомые белые сплэши и иконки WI в самых разных местах. Цель разработки остается прежней — идеальный инструмент для PHP/JS разработчиков и веб-дизайнеров.

Полностью настраиваемый PHP formatter – эта фича получила наибольшее количество голосов в трекере.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 3.2K
Comments 108

TypeScript: статический анализ, автодополнение и немножко ES6 для JavaScript

JavaScript *TypeScript *
Sandbox
image Такие web приложения как почта, карты, текстовые процессоры, инструменты для совместной работы, стали неотъемлемой частью нашей жизни. Язык программирования TypeScript был разработан для удовлетворения потребностей разработчиков подобных приложений. Он облегчает определение интерфейсов между программными компонентами, помогает изучать поведение существующих JavaScript библиотек, снижает риск конфликта имен посредством организации кода в динамично подгружаемые модули. Система типов TypeScript (которая кстати необязательна) позволяет использовать такие высокопроизводительные инструменты и техники разработки как статический анализ, символьная навигация, автодополнение и рефакторинг кода.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views 11K
Comments 21

Автодополнение SQL кода прямо в редакторе PHPStorm

Website development *PHP *SQL *
Tutorial
В PHPStorm есть встроенная возможность подключения автодополнения имен таблиц и полей в редакторе кода, однако не все об этом знают.



Если у вас код отображается примерно так, то прошу под кат.
Читать дальше →
Total votes 54: ↑47 and ↓7 +40
Views 29K
Comments 30

Jedi — библиотека автодополнения для Python

Python *VIM *Emacs *
Вот, набрел на просторах гитхаба на интересную библиотеку (GitHub). Дальше следует немного слов от автора.
Jedi — это инструмент, который можно использовать для автодополнения кода Python в IDE/редакторах. Jedi работает. Jedi быстр. Он понимает все основные элементы синтаксиса Python, в том числе встроенные функции.
Кроме того, Jedi поддерживает две разные goto функции и имеет поддержку переименования, а также поддерживает Pydoc и другие фишки IDE.
Jedi использует очень простой API, чтобы соединиться с IDE. Основная реализация — это VIM-плагин, использующий автозавершение Jedi. Я призываю использовать Jedi в ваших IDE. Это очень просто. Если возникнут проблемы (в том числе с лицензированием) — свяжитесь со мной.
Jedi можно использовать с такими редакторами:
Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Views 32K
Comments 19

DaData.ru подсказывает email и определяет город по IP

HFLabs corporate blog Website development *API *
DaData.ru — сервис автоматической проверки и исправления контактных данных (ФИО, адресов, телефонов, email). Плюс javascript-виджет и API подсказок при вводе адреса, ФИО и организации.

С предыдущего выпуска Дадата научилась:
  • подсказывать email при вводе,
  • определять город по IP-адресу,
  • распознавать модели автомобилей.

Фичи доступны через пользовательский интерфейс и HTTP API.
Интересно, что там у вас
Total votes 18: ↑16 and ↓2 +14
Views 14K
Comments 26

Dadata.ru проверяет документы и знает все банки

HFLabs corporate blog Website development *API *
DaData.ru — сервис автоматической проверки и исправления контактных данных (ФИО, адресов, телефонов, email, паспортов). Плюс javascript-виджет и API подсказок при вводе адреса, ФИО, организации и банковских реквизитов.

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

Свежие подробности
Total votes 30: ↑26 and ↓4 +22
Views 15K
Comments 52

Дайджест: Чему мы научили поиск за это лето

Google Developers corporate blog Search engines *Development for iOS *Development for Android *
Привет, Хабр! Цыплят, как известно, по осени считают. Осень в самом разгаре, давайте смотреть, чему мы научили поиск Google за это лето.



Развитие поиска происходит в двух направлениях. Одно из них вы не видите — это внутренние изменения, тайна за семью печатями, святая святых и всё такое. Именно там творится магия, распознаются слова, обрабатываются голосовые запросы, ищутся и находятся картинки, видео и музыка.

Второе же направление — пользовательские интерфейсы и инструменты взаимодействия с поисковым сервисом Google вы можете наблюдать лично. Об этих улучшениях сегодня и поговорим, вдруг кто что пропустил?
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Views 16K
Comments 1

Sublime Text: валидация синтаксиса, автодополнение (v.1.1)

JavaScript *
UPD: по совету комментаторов, заменил jsl на более новый eslint

Заметил у себя на работе, что многие JS-разработчики до сих пор используют «голый» Sublime Text, матерясь и чертыхаясь после каждой пропущенной запятой, непарной скобочки или еще какой опечатки. Поэтому написал краткий гайд по исправлению этого недоразумения, которым с вами и делюсь. Итак:
Читать дальше →
Total votes 28: ↑17 and ↓11 +6
Views 28K
Comments 9

Автоматическое дополнение JS-кода из базы Stack Overflow

Website development *JavaScript *
Пару недель назад Stack Overflow выложил в открытый доступ дамп всего контента, опубликованного на сайтах в сети Stack Exchange за 2014-2016 гг, в формате XML. Там все вопросы и ответы, комментарии и оценки: всего 33,8 ГБ в архиве.

Разработчик веб-приложений Эмиль Шутте (Emil Schutte) нашёл полезное применение этому дампу. Он извлёк оттуда фрагменты кода, которые соответствуют критериям (одобренные ответы с более 50 голосов и тегом "javascript") и проиндексировал их.



Так появилась программка Autocomplete from Stack Overflow. Если написать что-то в форме, то она ищет подходящий фрагмент в базе Stack Overflow — и автоматически его предлагает.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Views 24K
Comments 36

Kite: контекстные подсказки и автодополнение при написании кода

Python *Programming *


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

Kite интегрируется в редактор кода и консоль.
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Views 19K
Comments 8

Code Completion. Часть 2: зачем тут машинное обучение?

JetBrains corporate blog Machine learning *

В первой части мы сформулировали, из каких компонентов состоит система автодополнения, обсудили способы ее использования и требования к качеству. Теперь давайте разберемся, зачем там нужно машинное обучение.

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

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

Как на самом деле работают подсказки
Total votes 16: ↑16 and ↓0 +16
Views 1.8K
Comments 3

Как мы добавили поддержку языка Frege в IDEA. Часть 2

Питерская Вышка corporate blog Java *Perfect code *Functional Programming *Studying in IT

Привет! Это вторая часть рассказа о том, как мы поддерживали язык Frege в IntelliJ IDEA. Первую часть читайте здесь. Сейчас мы поделимся, как сделали автодополнение, систему сборки, интерпретатор и систему типов. И как все это тестировали.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 1.7K
Comments 1

Code Completion. Часть 3: где взять данные для обучения?

JetBrains corporate blog Machine learning *

В предыдущей статье цикла мы установили, что современной системе автодополнения нужно машинное обучение — чтобы ранжировать варианты подсказок.

Машине, как и человеку, для обучения нужны данные. Мы используем подход «обучение с учителем». Он предполагает, что мы показываем алгоритму примеры задач, для которых нам заранее известно правильное решение. Алгоритм извлекает из этих примеров закономерности и учится принимать правильные решения даже в тех ситуациях, которых он раньше не видел.

Результат обучения критическим образом зависит от качества и объема этих примеров. И именно здесь у нас возникают трудности.

С одной стороны, собирать базу на основе кода наших пользователей нельзя: результат вашего труда остается только у вас, на серверы JetBrains он не попадает.

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

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

А потому что они «готовые»
Total votes 14: ↑13 and ↓1 +12
Views 941
Comments 0

Code Completion. Часть 4: обучение модели

JetBrains corporate blog Machine learning *

Хотим поделиться специфическими проблемами, возникшими у нас при обучении модели, и решениями, которые мы для этих проблем придумали.

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

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

Например
Total votes 7: ↑7 and ↓0 +7
Views 511
Comments 2