Личный блог с мыслями и наблюдениями

Github Actions и автоматическое создание релизов на Go

27.09.2019   техническое   github   go  

Если вам как и мне надоело делать релизы на Github для тех кто хочет попробовать последние изменения в коде, то можно автоматизировать это средствами самого Github, а именно Github Actions.

Следующий код при коммите создаст (или обновит релиз с именем/тэгом latest) и выложит в него собранные бинарники под linux/os x/arm/windows.


name: Release on commit or tag on: push: branches: - master - release/* jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Set up Go 1.13 uses: actions/setup-go@v1 with: go-version: 1.13 - name: Check out source code uses: actions/checkout@master - name: Build OS X binary run: GOOS=darwin GOARCH=amd64 go build -o $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-darwin64 -a -ldflags '-s -w' . - name: Build Linux binary run: GOOS=linux GOARCH=amd64 go build -o $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-linux64 -a -ldflags '-s -w' . - name: Build ARM binary run: GOOS=linux GOARCH=arm GOARM=6 go build -o $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-arm -a -ldflags '-s -w' . - name: Build Windows binary run: GOOS=windows GOARCH=amd64 go build -o $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2).exe -a -ldflags '-s -w' . - name: Install olsu run: wget https://github.com/Telling/olsu/releases/download/v0.1.0/olsu-linux-amd64.zip && unzip olsu-linux-amd64.zip && chmod +x olsu-linux-amd64 && pwd && ls -la - name: Create or update release env: OLSU_TOKEN: ${{ secrets.GITHUB_TOKEN }} OLSU_DELETE_RELEASE: yes run: ./olsu-linux-amd64 -o $(echo $GITHUB_REPOSITORY | cut -d "/" -f 1) -r $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2) "Latest release" "latest" "Automatic release" $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-darwin64 $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-linux64 $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2)-arm $(echo $GITHUB_REPOSITORY | cut -d "/" -f 2).exe

Запредельный уровень фанатичности

29.11.2018   japan   hatsune miku   fans  

В одной из электричек по пути из Киото встретили вот такого интересного фаната виртуальной певицы (вокалоида) Hatsune Miku.

 

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

 

 
 

Подойдя ближе, оказалось что он и на телефоне смотрит клипы с ней.

 
 

Лайфхаки для путешествий с айфоном

24.11.2018   iphone   camera   travel  

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

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

В этом путешествии по Японии нас было двое и прикинув стоимость аренды wifi-модема или двух симкарт было решено взять wifi-модем. Стоимость и разницу называть не буду, уточню только то, что получилось по нашему тарифу 22 ГБ трафика на 12 дней (по итогу мы израсходовали 20 ГБ, немного экономя).

Итак, первый лайфхак — Low power mode.

Так как в отличие от использования симкарты, для вайфая нельзя ограничить потребителей трафика и обычные уловки с убиранием галочек не особо помогают, этот режим помог не только растянуть время работы батарейки, но и сильно сэкономить потребление трафика за счет отключения iCloud Photo Library, загрузки фоток и видео в облако! Только у меня получилось более 2500 фото/видео, так что если бы не этот режим, то мы вышли бы за лимиты трафика очень быстро (в один день я решил проверить и не отключать и получилось 5 ГБ, при обычных 1.2 ГБ)

Второй лайфхак — камера.

Очень часто видя какое-то интересное событие, пока достаешь телефон, активируешь камеру, строишь кадр и жмешь на съемку — событие имеет свойство заканчиваться: (

В этот раз я действовал иначе, выбрал запись видео на 4к (в настройках камеры можно указать, чтобы камера запоминала последние настройки и тип выбранной съемки) и когда видел интересное событие, после активации камеры сразу начинал запись видео, и во время записи делал фотки.

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

Таким образом, даже если не удавалось успеть сделать фотку, то хотя бы видео было, из которого также можно сделать фотку!


Медовый месяц

06.11.2018   наблюдения  

Месяц мёда!

Поднимите руку, кто еще так думал?

Спасибо, вижу ваши руки…

 

Вот что википедия говорит на этот счёт:

Выражение «медовый месяц» связано с обрядом изготовления на свадьбу слабоалкогольного пи́тного мёда, который молодые пили на свадебном пиру и в течение тридцати дней после свадьбы. Никаких других, более крепких напитков им пить не разрешалось.

Мёд вручался молодым в день свадьбы — это был бочонок весом около 5–10 кг, который полагалось освободить за месяц. По старинной технологии пи́тный мёд готовился не один год и при невысоких температурах. Полученный напиток давал бодрость, веселье и умиротворение без одурманивания.

 

В русском языке слово «Месяц» чаще встречается в качестве описания периода и я тоже считал что это значит что после свадьбы нужно целый месяц предаваться сладостным моментам.

Однако, в английском языке это звучит как honey moon, на французком lune de miel, honigmonat по-немецки, в каждом случае подразумевается луна, а периодичность фаз луны равна примерно месяцу (29.5 дней).

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



sudo через TouchID/Apple Watch в OS X

22.02.2018   OS X   terminal   TouchID   sudo  

Чтобы вместо ввода пароля для sudo прикладывать палец к TouchID нужно отредактировать файл

sudo nano /etc/pam.d/sudo

 

добавив второй строкой

auth sufficient pam_tid.so

 

 


"Правильные настройки" для uBlock в Safari

25.11.2017   safari   ublock  

Если вы выбрали uBlock в качестве блокировщика рекламы, но начали испытывать проблемы с просмотром или навигацией на некоторых сайтах (например Youtube), то вот список оптимальных фильтров для корректной работы:

My filters‎

uBlock filters‎

uBlock filters – Privacy‎

EasyList‎

Malware Domain List

Malware domains‎

RUS: BitBlock List

RUS: RU AdList 


The uWSGI Spooler

13.04.2017   uwsgi   spooler  

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

 

Самой популярной системой очередей в Python является Celery, она обладает широким набором возможностей по управлению задачами.

 

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

 

К счастью, есть альтернативное решение и сейчас я расскажу о нём.

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



nginx for frontenders

26.04.2016   техническое   код   nginx   frontend  

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

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

 

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


Позднее