Category Archives: Programming

Настройка PhpStorm для запуска приложения golang

Нужно зайти в Run → Edit cofigurations → + → Go single file и далее настроить как на картинке. Название брать можно любое :) А Module и Working directory подставляются автоматически. В примере показано, как пробрасывать параметр к запуску бинарника.

Golang — строка для форматирования даты

Для форматирования даты в нужном формате нужно передать строку. Но только без всяких H:i:s, как в других языках. Строка должна быть вида Mon Jan 2 15:04:05 -0700 MST 2006. Т.е. нужно передавать именно конкретные цифры. Рассмотрим для примера дату 2016-07-09 21:00:00 +0000 UTC. Строка для форматирования Результат Mon, 02 Jan 03:04 Sun, 09 Jul 09:00 …

Read more

Golang на хостинге digitalocean

Не очень понимаю, зачем это надо, но на всякий случай сохраню. У меня в планах собирать бинарник у себя, не выливая исходники на хостинг. https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04

Fingerprint2 — способ детектировать уникального пользователя без использования cookie

https://github.com/Valve/fingerprintjs2

Hackstack.js — библиотека для подмены API в angular.js

https://github.com/rangle/hackstack Позволяет не только подменять ответы, встраиваясь в Angular.js, но и, к примеру, генерировать задержки ответов. Видео от создателя — https://www.youtube.com/watch?v=PNpOGwOoSiw

Наследование в Javascript

Рекомендация ECMAScript5 Минус — вызывается конструктор родителя раньше времени. https://jsbin.com/zoxude/1/edit?js,output

Вывод breadcrumb в результатах поиска google

Нужно реализовать вот это: https://developers.google.com/structured-data/breadcrumbs#examples

Особенности setInterval на практике

Раньше я был уверен, что в этом случае setInterval ставится на выполнение раз в секунду, что бы ни произошло: setInterval(function () {}, 1000); Но, видимо, это не так. Если в очереди уже есть задача от этого интервала, то новая задача туда не поставится. Вот пример: http://jsbin.com/rifahi/edit?html,js,output Поэтому сам с собой он борьбу за ресурсы не …

Read more

Как посчитать битрейт текущей композиции вк

В консоли хрома: function calcBitrate(size, duration) { var kbit=size/128; //calculate bytes to kbit var kbps= Math.ceil(Math.round(kbit/duration)/16)*16; return kbps; } function getCurBitrate() { var audio = document.getElementById(‘html5_audio’); var playedSize = audio.webkitAudioDecodedByteCount; var playedDuration = audio.currentTime; return calcBitrate(playedSize, playedDuration); } И потом во время воспроизведения можно в консоли просто писать: getCurBitrate() Чем дольше играет, тем точнее. Тут …

Read more

Angular 1: Controller As vs $scope

controller as появился далеко не сразу. Зачем он нужен? $scope наследуется, и как только в дочернем шаблоне произойдёт изменение отнаследованной модели, она перестанет синхронизироваться с родительской. Обойти это можно было, создавая модели-свойства объектов. Но это не очень очевидно и не так изящно. Поэтому была введена конструкция вида <div ng-controller=»ParentController as parent»>. Тогда в шаблонах модели …

Read more