С 10 июня 2019 (а технически с ноября 2019), Яндекс прекратил поддержку анонимного использования сервисов JS API & HTTP Geocoder — тарифицируемые запросы к API (поиск, геокодирование, панорамы и т.д.) перестали работать. Но адекватного биллинга и трекинга запросов Яндекс — не предоставил. Если интересно как спихнуть счёт за геокодирование на гигантов рунета (перечисленных партнёров на заглавной странице сервиса), а так же — как трекинг запросов делается «по уму» — прошу под кат.
Александр @alexbljack
User
Платформо-независимые системы как философский принцип развития
3 min
1.9KRecovery Mode
(сказка на весь день)
Меня, как человека во многом старающегося быть независимым от внешних и внутренних сил окружающего нас мира, всегда интересовало абстрактное знание и в частности ПНСистемы. Сразу дам определение через пример, во всем мироздание существует только одна ПНСистема на данный момент — это само Мироздание, во всей своей полноте от минус бесконечности до плюс бесконечности по всем существующим и виртуальным мерностям пространства/времени и любых других возможных вариациях факторов.
Введение
Меня, как человека во многом старающегося быть независимым от внешних и внутренних сил окружающего нас мира, всегда интересовало абстрактное знание и в частности ПНСистемы. Сразу дам определение через пример, во всем мироздание существует только одна ПНСистема на данный момент — это само Мироздание, во всей своей полноте от минус бесконечности до плюс бесконечности по всем существующим и виртуальным мерностям пространства/времени и любых других возможных вариациях факторов.
-18
Как GDPR стал причиной утечек персональных данных
3 min
21KGDPR создавали, чтобы дать гражданам ЕС больше контроля над персональными данными. И с точки зрения количества жалоб цель была «достигнута»: за прошедший год европейцы стали чаще сообщать о нарушениях со стороны компаний, а сами компании получили множество предписаний (1, 2) и начали оперативнее закрывать уязвимости, чтобы не получить штраф. Но «внезапно» выяснилось, что GDPR наиболее заметен и эффективен, когда речь заходит либо об уклонении от финансовых санкций, либо от самой необходимости соблюдать его. И даже больше — призванное положить конец утечкам персональных данных, обновленное регулирование становится их причиной.
Рассказываем в чем тут дело.
Рассказываем в чем тут дело.
+20
HTML по стандартам
10 min
125KПривет Хабр!
Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.
В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.
В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
+144
Простым языком об HTTP
9 min
1.5MВашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.
HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).
Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.
Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.
Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).
Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.
Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.
Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
+70
Как устроен GIL в Python
6 min
126KTranslation
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.
+63
Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж
5 min
203KTutorial
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)
Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)
Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.
+22
Основы многопользовательской игры на Unity3D
11 min
162KTutorial
Привет, Хабрахабр!
Я, как и многие из вас, большой поклонник многопользовательских игр. В них меня прельщает в основном дух соревнования и возможность приобретать улучшения, накапливая достижения. Да и сама идея выхода в свет все большего количества игр данного типа побуждает к действию.
С недавнего времени я и сам взялся за разработку собственного проекта. И поскольку на Хабрахабре статей на эту тематику не нашел – решил поделиться своим опытом написания многопользовательской игры на движке Unity3D. Также хочу рассказать о компонентах Network и NetworkView, атрибуте RPC и встроенных методах-ивентах. В конце статьи подан пример игры и, разумеется, сам проект для Unity. Итак…
+29
10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой
4 min
180KTranslation
Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
+98
Как мы создавали сингл на Ubuntu Studio 13.10
7 min
51Kнаш гитарист-звукарь постигает прелести работы с JACK
Авторы дистрибутива Ubuntu Studio создали его для творческих людей. Музыка, графика, видео. Всё необходимое ПО включено в дистрибутив и должно работать из коробки.
Концепция группы ограничивает нас в ПО. Только лицензия, в приоритете — свободное. Поэтому было решено использовать Ubuntu Studio.
Записывали и сводили дома. Для полного счастья выпустили результат под лицензией Creative Commons (BY-SA 4.0).
+61
Пишем красивый идиоматический Python
4 min
113KИногда сложно найти в Сети правильные, а главное актуальные «best practices» для языка. Документация, конечно же, содержит всю необходимую информацию, но отсеять нужную вещь в абзацах подробного (на то она и документация) описания довольно сложно. Но недавно мне улыбнулся поиск Google, и я наткнулся на очень полезные «паттерны» языка Python от одного из core разработчиков — Raymond Hettinger.
Примечание: Все рекомендации даны в нескольких вариантах: сначала идут самые «плохие» варианты, а дальше предлагается лучшая альтернатива. Актуально для версии языка 2.7, отличия для версии 3.3 читайте в примечаниях к конкретному «паттерну».
+73
Ненормальное функциональное программирование на python
7 min
45KПосле просмотра курса Programming Languages и прочтения Functional JavaScript захотелось повторить все эти крутые штуки в python. Часть вещей получилось сделать красиво и легко, остальное вышло страшным и непригодным для использования.
Статья включает в себя:
- немного непонятных слов;
- каррирование;
- pattern matching;
- рекурсия (включая хвостовую).
Статья рассчитана на python 3.3+.
+47
Подкаст на миллион. История успеха и пошаговое руководство
15 min
37KВступление.
Речь пойдет о подкасте, рассказывающем об андеграундной музыкальной субкультуре drum&bass.
Передача называется Neuropunk и, в свое время, она стала феноменальным явлением на электронной сцене России. До сих пор его рейтинги не могут побить даже попсовые подкасты, передачи и миксы от раскрученных медийных диджеев. На главном российском ресурсе, посвященном электронной музыке promodj.com выпуски Neuropunk всегда занимают первые позиции в топ100, несмотря на то, что drum&bass аудитория в сотни раз меньше, чем аудитория коммерчески раскрученных стилей. Примерный охват аудитории подкаста – около миллиона человек. И это без финансовых вложений, без рекламы, без поддержки СМИ.
Как это возможно и как это повторить, спросите вы? Чтоб поведать об этом я и сел писать данный текст.
Я хотел бы дать любому диджею, промоутеру, музыканту дополнительное пошаговое руководство, как сделать уберкачественный продукт, завоевать безграничное доверие аудитории, поднять свой авторитет и получить возможность развивать определенную сцену семимильными шагами.
+78
Python. Генерация юнит-тестов
2 min
40KТолько ленивый ещё не писал о необходимости писать тесты. Но давайте признаемся честно — писать тесты зачастую скучно. Особенно для legacy-кода. Сотни повторяющихся, однообразных строк. Скука. Что с этим можно сделать?
Картинка для привлечения внимания. Красивый питон, да? (Автор фото: Paweł Stefaniak)
Картинка для привлечения внимания. Красивый питон, да? (Автор фото: Paweł Stefaniak)
+12
Скидка на книгу «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств»
1 min
19KНалетай! На днях у нас вышла книга «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств». Для наших преданных поклонников с Хабры мы предлагаем скидку 25% на бумажную и цифровую версию книги. Акция действует до конца сентября! Чтобы получить скидку, при оформлении заказа введите промо-код f1f30831b892c163f476c.
+4
5 правил верстки email-писем от Печкина
2 min
75KСегодня мы хотели бы рассказать о базовых правилах верстки HTML в email-письмах. Как известно, на свете существует множество почтовых клиентов:
- веб-версии у почтовых провайдеров (Gmail, Yandex, Mail, Yahoo итд.)
- десктопные почтовые клиенты (Outlook, Bat, Thunderbird, Mac Mail)
- мобильные почтовые клиенты (Blackberry, Android, Iphone, Ipad итд)
К сожалению, не существует обязательного стандарта верстки писем, который бы универсально поддерживался бы всеми клиентами. Часть поддерживает CSS3, часть нет, какие-то теги и аттрибуты поддерживаются, какие-то нет, не говоря уже о том, что поддержка HTML и CSS меняется даже в пределах одного почтового клиента от версии к версии. Последнее особенно заметно на примере Outlook (от Express и 2003 к Outlook 2011).
Что же необходимо знать тем, кто собирается самостоятельно верстать HTML-код для email-писем?
+36
Простой блог с комментариями на Django: разработка и развертывание для самых маленьких
7 min
163KTutorial
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.
+22
Unity для iOS и Android теперь бесплатно для инди разработчиков
1 min
47KХорошая новость для инди разработчиков игр под мобильные платформы. Возможность паблишить из Unity под iOS и Android тепрь бесплатна.
Стоит уточнить что бесплатно отдают только base лицензию, которая стоила 400$ для каждой платформы. Если вы заинтересованы в дополнительных возможностях, таких как динамические тени, рендеринг в текстуру, пост процесс и некоторые другие, то вам всё таки придётся купить Pro лицензию, которая стоит 1500$.
Стоит уточнить что бесплатно отдают только base лицензию, которая стоила 400$ для каждой платформы. Если вы заинтересованы в дополнительных возможностях, таких как динамические тени, рендеринг в текстуру, пост процесс и некоторые другие, то вам всё таки придётся купить Pro лицензию, которая стоит 1500$.
+51
Ruby on Rails. Установка, настройка, начало работы
7 min
112KTutorial
Зачем.
В этой маленькой статье, которую с удовольствием прочитал бы сам неделю назад, я попытался собрать все вещи, которые понадобились бы человеку, задумай он «с нуля» написать приложение на RoR. То есть не углубляясь ни в одну из областей, описать необходимый минимум действий, чтобы установить, настроить и написать своё первое приложение.Здесь собрано, как мне кажется, всё, что нужно и я надеюсь этот текст сэкономит кому-нибудь несколько часов поиска в интернете). Сам изучаю RoR вторую неделю, так что не судите строго).
Установка.
Просто и быстро ror ставится через rvm c rvm.io.
>\curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled
Запустить rvm:
>source /Путь_к_домашней_директории*/.rvm/scripts/rvm
*$HOME в дальнейшем.
После этого в $HOME/.bash_profile должна появиться строчка:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
и при каждом открытии консоли rvm будет подгружаться, но у меня этого не случилось — пришлось ещё в $HOME/bashrc прописывать:
. ~/.bash_profile
Теперь всё точно должно быть хорошо.
Устанавливаем нужную(скорее всего это будет самая последняя) версию руби (сколько их и в чём отличие можно посмотреть здесь -http://www.ruby-lang.org).
>rvm install 1.9.3
Проверка на успешность создания
>ruby -v
должна вернуть более подробную информацию, вроде
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux].
В процессе установки я случайно установил несколько версий, что потом доставило некоторые неприятности). Посмотреть список установленных версий руби можно так:
>rvm list
Если версий несколько, то текущая будет помечена "=>", дефолтная — "*", а текущая и дефолтная — "=*". Поменять на нужную используемую версию можно так:
>rvm use ruby-1.9.2-p320 (любая нужная версия)
Чтобы поменять дефолтную версию руби пишем:
>rvm use ruby-1.9.2-p320 --default
+4
Программный синтезатор
8 min
46KTutorial
И так господа, решил наконец разобраться с программным синтезом музыки, а именно с практической частью реализации подобной задачи. Давайте посмотрим что из это вышло и как оно реализовано…
+52
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity