Pull to refresh
4
0
Александр @alexbljack

User

Send message

Как спихнуть на соседа счёт за пользование услугами Yandex Maps API или для чего IT гиганту нужен контроль качества

Reading time2 min
Views31K
С 10 июня 2019 (а технически с ноября 2019), Яндекс прекратил поддержку анонимного использования сервисов JS API & HTTP Geocoder — тарифицируемые запросы к API (поиск, геокодирование, панорамы и т.д.) перестали работать. Но адекватного биллинга и трекинга запросов Яндекс — не предоставил. Если интересно как спихнуть счёт за геокодирование на гигантов рунета (перечисленных партнёров на заглавной странице сервиса), а так же — как трекинг запросов делается «по уму» — прошу под кат.
Читать дальше →

Платформо-независимые системы как философский принцип развития

Reading time3 min
Views1.9K
(сказка на весь день)

Введение


Меня, как человека во многом старающегося быть независимым от внешних и внутренних сил окружающего нас мира, всегда интересовало абстрактное знание и в частности ПНСистемы. Сразу дам определение через пример, во всем мироздание существует только одна ПНСистема на данный момент — это само Мироздание, во всей своей полноте от минус бесконечности до плюс бесконечности по всем существующим и виртуальным мерностям пространства/времени и любых других возможных вариациях факторов.
Читать дальше →

Как GDPR стал причиной утечек персональных данных

Reading time3 min
Views21K
GDPR создавали, чтобы дать гражданам ЕС больше контроля над персональными данными. И с точки зрения количества жалоб цель была «достигнута»: за прошедший год европейцы стали чаще сообщать о нарушениях со стороны компаний, а сами компании получили множество предписаний (1, 2) и начали оперативнее закрывать уязвимости, чтобы не получить штраф. Но «внезапно» выяснилось, что GDPR наиболее заметен и эффективен, когда речь заходит либо об уклонении от финансовых санкций, либо от самой необходимости соблюдать его. И даже больше — призванное положить конец утечкам персональных данных, обновленное регулирование становится их причиной.

Рассказываем в чем тут дело.

Читать дальше →

HTML по стандартам

Reading time10 min
Views125K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →

Простым языком об HTTP

Reading time9 min
Views1.5M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →

Как устроен GIL в Python

Reading time6 min
Views126K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

GIL
Читать дальше →

Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж

Reading time5 min
Views203K
Часть 1: заготовка персонажа и анимация покоя
Часть 2: бегущий персонаж
Часть 3: прыжки (и падения)

Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.
Читать дальше →

Основы многопользовательской игры на Unity3D

Reading time11 min
Views162K


Привет, Хабрахабр!

Я, как и многие из вас, большой поклонник многопользовательских игр. В них меня прельщает в основном дух соревнования и возможность приобретать улучшения, накапливая достижения. Да и сама идея выхода в свет все большего количества игр данного типа побуждает к действию.
С недавнего времени я и сам взялся за разработку собственного проекта. И поскольку на Хабрахабре статей на эту тематику не нашел – решил поделиться своим опытом написания многопользовательской игры на движке Unity3D. Также хочу рассказать о компонентах Network и NetworkView, атрибуте RPC и встроенных методах-ивентах. В конце статьи подан пример игры и, разумеется, сам проект для Unity. Итак…
Читать дальше →

10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой

Reading time4 min
Views180K

Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
Читать дальше →

Как мы создавали сингл на Ubuntu Studio 13.10

Reading time7 min
Views51K

наш гитарист-звукарь постигает прелести работы с JACK

Авторы дистрибутива Ubuntu Studio создали его для творческих людей. Музыка, графика, видео. Всё необходимое ПО включено в дистрибутив и должно работать из коробки.
Концепция группы ограничивает нас в ПО. Только лицензия, в приоритете — свободное. Поэтому было решено использовать Ubuntu Studio.
Записывали и сводили дома. Для полного счастья выпустили результат под лицензией Creative Commons (BY-SA 4.0).
Узнать, как что использовалось и что из этого вышло

Пишем красивый идиоматический Python

Reading time4 min
Views113K

Иногда сложно найти в Сети правильные, а главное актуальные «best practices» для языка. Документация, конечно же, содержит всю необходимую информацию, но отсеять нужную вещь в абзацах подробного (на то она и документация) описания довольно сложно. Но недавно мне улыбнулся поиск Google, и я наткнулся на очень полезные «паттерны» языка Python от одного из core разработчиков — Raymond Hettinger.

Примечание: Все рекомендации даны в нескольких вариантах: сначала идут самые «плохие» варианты, а дальше предлагается лучшая альтернатива. Актуально для версии языка 2.7, отличия для версии 3.3 читайте в примечаниях к конкретному «паттерну».
Читать дальше →

Ненормальное функциональное программирование на python

Reading time7 min
Views45K

После просмотра курса Programming Languages и прочтения Functional JavaScript захотелось повторить все эти крутые штуки в python. Часть вещей получилось сделать красиво и легко, остальное вышло страшным и непригодным для использования.

Статья включает в себя:
  • немного непонятных слов;
  • каррирование;
  • pattern matching;
  • рекурсия (включая хвостовую).


Статья рассчитана на python 3.3+.
Читать дальше →

Подкаст на миллион. История успеха и пошаговое руководство

Reading time15 min
Views37K

Вступление.


Речь пойдет о подкасте, рассказывающем об андеграундной музыкальной субкультуре drum&bass.
Передача называется Neuropunk и, в свое время, она стала феноменальным явлением на электронной сцене России. До сих пор его рейтинги не могут побить даже попсовые подкасты, передачи и миксы от раскрученных медийных диджеев. На главном российском ресурсе, посвященном электронной музыке promodj.com выпуски Neuropunk всегда занимают первые позиции в топ100, несмотря на то, что drum&bass аудитория в сотни раз меньше, чем аудитория коммерчески раскрученных стилей. Примерный охват аудитории подкаста – около миллиона человек. И это без финансовых вложений, без рекламы, без поддержки СМИ.

image

Как это возможно и как это повторить, спросите вы? Чтоб поведать об этом я и сел писать данный текст.
Я хотел бы дать любому диджею, промоутеру, музыканту дополнительное пошаговое руководство, как сделать уберкачественный продукт, завоевать безграничное доверие аудитории, поднять свой авторитет и получить возможность развивать определенную сцену семимильными шагами.
Читать дальше →

Python. Генерация юнит-тестов

Reading time2 min
Views40K
Только ленивый ещё не писал о необходимости писать тесты. Но давайте признаемся честно — писать тесты зачастую скучно. Особенно для legacy-кода. Сотни повторяющихся, однообразных строк. Скука. Что с этим можно сделать?

image
Картинка для привлечения внимания. Красивый питон, да? (Автор фото: Paweł Stefaniak)
Читать дальше →

Скидка на книгу «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств»

Reading time1 min
Views19K
Налетай! На днях у нас вышла книга «HTML5 и CSS3. Разработка сайтов для любых браузеров и устройств». Для наших преданных поклонников с Хабры мы предлагаем скидку 25% на бумажную и цифровую версию книги. Акция действует до конца сентября! Чтобы получить скидку, при оформлении заказа введите промо-код f1f30831b892c163f476c.


Читать дальше →

5 правил верстки email-писем от Печкина

Reading time2 min
Views75K

Сегодня мы хотели бы рассказать о базовых правилах верстки 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-писем?
Посмотреть 5 правил верстки email

Простой блог с комментариями на Django: разработка и развертывание для самых маленьких

Reading time7 min
Views163K
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.


Читать дальше →

Unity для iOS и Android теперь бесплатно для инди разработчиков

Reading time1 min
Views47K
Хорошая новость для инди разработчиков игр под мобильные платформы. Возможность паблишить из Unity под iOS и Android тепрь бесплатна.

Стоит уточнить что бесплатно отдают только base лицензию, которая стоила 400$ для каждой платформы. Если вы заинтересованы в дополнительных возможностях, таких как динамические тени, рендеринг в текстуру, пост процесс и некоторые другие, то вам всё таки придётся купить Pro лицензию, которая стоит 1500$.
Читать дальше →

Ruby on Rails. Установка, настройка, начало работы

Reading time7 min
Views112K

Зачем.


В этой маленькой статье, которую с удовольствием прочитал бы сам неделю назад, я попытался собрать все вещи, которые понадобились бы человеку, задумай он «с нуля» написать приложение на 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

Читать дальше →

Программный синтезатор

Reading time8 min
Views46K
И так господа, решил наконец разобраться с программным синтезом музыки, а именно с практической частью реализации подобной задачи. Давайте посмотрим что из это вышло и как оно реализовано…


Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity