Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Удивительный мир Волшебных островов нуждается в маге, который сможет наполнить бурной энергией увядающую красоту древних городов. Множество мифических существ ожидают вашей помощи на разбросанных в эфире островах.

Маджонг Волшебные Острова

Казуальные, Маджонг, Головоломки

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
232
DELETED
Лига Криптовалют

Нужен ли рассказ, как работают криптовалюты с точки зрения разработчика и кода?⁠⁠

4 года назад

Всем доброго дня.

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

Я сам core developer Ethereum

Точнее я отработал в Status.im, затем в geth, основном клиенте Эфириума, после чего по гранту Ethereum Foundation с новой командой стали переделывать Эфир под более эффективную и быструю модель данных (сейчас наша полная архивная нода занимает чуть меньше 1Tb, и с нуля синхранизируется за 3-4 дня на NVMe SSD, против 9 Tb и месяца у go-ethereum (geth)).


К счастью разработка пока ещё легальна, в отличие от владения и использования крипты. Про разработку и работу Эфириума я и думал рассказать, как backend разработчик.


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


Жду вашего отклика.



Пруфы:

* Github https://github.com/JekaMas

* Пруф, что это я https://github.com/JekaMas/pikabu_ethereum_proof

* Ethereum https://github.com/ethereum/go-ethereum/blob/master/AUTHORS

* Erigon https://github.com/ledgerwatch/erigon#team

* Status.im https://github.com/status-im/status-go/graphs/contributors

* Резюме https://www.linkedin.com/in/eugene-danilenko-90895524

* Вроде всё

Показать полностью
[моё] Программирование Golang Ethereum Cryptocurrency Криптовалюта Криптография Текст
154
g9rga

Как я решил сделать мобильное приложение[Part 2]⁠⁠

4 года назад

1 часть


Исходный код парсера и остальных компонентов приложения положил под систему контроля версий git, в качестве бесплатного хостинга приватных репозиториев я использовал github. В принципе, ничего сложного в настройке нет, создал репозиторий на github и проинициализировал его локально:

После этого развернул локально базу данных mysql в локальном k8s-кластере с помощью minikube + helm(взял 3 версию, до этого использовал 2, из явных плюсов увидел только отсутствие tiller)+ чарт bitnami/mysql(конфигурацию чарта опущу, там все по-умолчанию):

Спроектировал структуру базы данных, получилась не очень красиво, из-за большой вариативности данных, но это можно переделать потом:

Пара заметок по структуре базы данных:

- таблица recipe_parser и некоторые вспомогательные поля нужны для сохранения прогресса парсинга сайта между перезапусками парсера

- выбрал кодировку utf8mb4, потому что в контенте достаточно много emoji, и обычный utf8(трехбайтовый) их не может хранить

За структуру проекта для парсера, я взял golang-standards/project-layout. В принципе для такого мелкого приложения его можно было не использовать, но может кому-то будет полезно знать что есть такая штука, когда будет думать как структурировать проект. Получилось как-то так:

Соответственно:

* recipe-parser - это helm-чарт который я создал выше

* sql - папка с миграциями
* data - это папка с данными базы данных, ее необходимо хранить на хосте, чтоб не потерять данные если мой локальный кластер случайно удалится

* все остальное - код связанный с парсингом, конфиги, команды

Для написания самого парсера я использовал следующие пакеты:

- PuerkitoBio/goquery - для парсинга DOM страниц

- jmoiron/sqlx - для работы с базой данных

- sirupsen/logrus - как логгер

- spf13/cobra - для создания команд

- spf13/viper - для конфигурации приложения(yaml в папке configs)

Сам код парсера не вижу смысла выкладывать(технически он несложный), получились такие этапы:

- спарсить категории/подкатегории и записать в базу

- спарсить ссылки рецептов и записать в базу

- скачать все страницы с рецептами и записать на диск(кстати получилось достаточно много, почти 9gb данных):

- считать с диска страницы, распарсить и записать в базу данных

Везде где можно, я параллелил задачи с помощью горутин и буферизированных каналов для контроля количества потоков. Также на сайте присутствовала защита от ботов, но я ее обошел за счет того, что она работала неправильно. В результате получил на выходе базу данных с ~500 категориями и ~90к готовых рецептов с заголовком, описанием, картинками и шагами приготовления. Еще было бы неплохо выкачать все картинки и закинуть в свое облако(использую space от digital ocean), но это пока можно отложить.

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

В следующем посте собираюсь написать небольшой бекенд на php (и конечно засунуть все в docker :) , с которым будет работать мобильное приложение.

Показать полностью 8
[моё] Программирование Длиннопост IT Golang
11
77
jidckii
Лига слаботочников

Ещё 1 регистратор для видеонаблюдения⁠⁠

5 лет назад

Хочу рассказать про видеорегистратор который мы с друзьями писали последние 2 года, почему мы это начали и куда движемся.

Ещё 1 регистратор для видеонаблюдения

Для тех кому лень читать и он хочет сразу потыкаться ссылка на сайт

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


Немного обо мне.

Я работаю инфраструктурным инженером, в быту DevOps. Начинал своё путешествие в мир IT из тех. поддержки интернет провайдера, затем работал в системным администратором на местном телеканале, в тот период очень активно изучал linux, писал скрипты на баше, в силу специфики предприятия(тв канал) познакомился с такой прекрасной утилитой, как ffmpeg. Я был поражён на сколько это крутой софт для работы с любым медиа контентом. Это можно считать точной отсчёта примерно 2016-год.


Путь к идее.

Примерно 2,5 года назад мой друг открыл магазин автозапчастей и встал вопрос организации видеонаблюдения. Хотелось что бы доступ к видео был с любого устройства, архив можно скачать любого промежутка, и естественно всё бесплатно. В общем то не очень много требований.

Так повелось, что все технические вопросы он задавал мне и я пошёл изучать этот рынок. Пошёл смотреть что там есть на алиэкспресс из готовых недорогих железок. Сначала обрадовался, железные решения были очень бюджетные, но поняв, что софт там на уровне 2003-го (а на дворе был уже 2017), обязательно нужен internet explorer и использование ActiveX вкладку с алиэкспресс я закрыл )

Начал гуглить что есть готового софтового, естественно первое что приходит на ум это zoneminder , нашёл даже сразу сборку в докере, запустил, открыл и .... полное разочарование.

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

Дальше я пробовал и ставил всё, что нагуглил, все решения, опенсорсные, проприетарные, любые.

В итоге из всего, что я попробовал мне понравилось 2 решения это Flussonic Watcher и shinobi.

Flussonic Watcher - NVR российской разработки, написан на erlang, работа с транспортом видео реализована самостоятельно. Это крутой софт! У флюсоника работа с архивом сделана так как я себе её и представлял в идеале, кто то уже сделал то, что я придумал себе в голове ) Но это платное решение при том достаточно дорогое, по этому от него я отказался. Но очень вдохновился.

Sinobi - это Open-Source проект, написан на nodejs, работа с транспортом видео реализована при помощи ffmpeg. Этот проект выглядел как что то, чем сможет пользоваться обычный человек. Но всё же интерфейс кажется слишком перегружен, да и стабильность работы в 2017-м оставляла желать лучшего. Я запарковал камеру оставил на 1 час, через час картинка просто зависла и в архив писался бесконечный стоп кадр. Про процесс добавления нового потока, я вообще молчу )


В итоге меня ничего не устроило, я просто написал несколько скриптов на баше, ffmpeg забирал с камеры поток в RTSP, добавил docker, посолил nginx и на выходе получил что то работающее. Запустил это на домашнем сервере(старый комп который стоит за холодильником), запустил и оно работало !  Кажется это можно считать прототипом нашего будущего видео регистратора и выглядело это вот: https://cam1.yuccastream.com/ https://github.com/yuccastream/cam1


Понеслась.

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

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

Но время шло, код писался, и начало вырисовываться что то, что уже можно показывать людям.

Цель была почти та же, что и при запросе моего друга с автомагазином: "можно запарковать любую ip камеру, доступ к видео с любого устройства, архив можно скачать любого промежутка, и естественно всё бесплатно".

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

Вот так выглядит добавление новой камеры:

Перейти к видео

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

Единственное ограничение, видео должно быть в кодеке h264, в этом кодеке пишут 100% всех современных ip камер, так что не очень то и ограничение.


Вот так выглядит работа с архивом:

Перейти к видео

Согласитесь интуитивно ? Почти как в ютубе )


Как установить к себе ?

Тут всё просто вам нужен любой современный linux, где можно запустить docker, или MacOS.

Есть сборки под Raspberry pi.

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


Есть платная версия.

Yucca - это не открытое программное обеспечение (

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

У есть 2 версии FREE и ENTRPRISE.

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

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


Контакты

Сайт:  https://yucca.app/

У нас есть чатик у телеграме, если кто заинтересовался и есть вопросы, то вот ссылка.


P.S.: если где опечатка или лишняя запятая, пишите )

Показать полностью 1 2
[моё] Cctv Видеонаблюдение Видеорегистратор Golang Vue Программное обеспечение Программирование Безопасность Юкка Слаботочка Видео Длиннопост
37
1452
smokin.marlboro
Лига программистов

Как избавиться от расизма в IT⁠⁠

5 лет назад

Из https://www.opennet.ru/opennews/art.shtml?num=53109

В основную кодовую базу языка Go принято изменение, убирающее из исходных текстов и документации фразы whitelist/blacklist и master/slave, неприятие которых усилилось на фоне бушующих в США протестов. Фразы "whitelist" и "blacklist" заменены на "allowlist" и "blocklist", а "master" и "slave" в зависимости от контекста на "process", "pty", "proc" и "control".
Как избавиться от расизма в IT
Golang Программирование Идиотизм Политкорректность
222
5
mehdzor
mehdzor

На волне про программирование⁠⁠

5 лет назад

Всем привет!


Сейчас разрастается образовательная волна обучения программированию. И мы хотим предложить свою возможность практики в нашем проекте.


Мы с удовольствием возьмем в команду джуна на Golang (достаточно просто иметь желание или общее представление о программировании на любом языке), будем готовы вас всему научить и дать практику.


К сожалению, мы также, как и многие сейчас в тяжелой финансовой ситуации, поэтому, мы сможем платить только что-то напоминающее стипендию, но потом поможем вам завести трактор при желании (или нет). С нашей помощью и при должном усердии (!) вы получите боевой опыт работы над стартапом и в дальнейшем получите верный вектор к высокооплачиваемому backend специалисту. Вы не останетесь одиноки в проекте, вам будут помогать старшие товарищи с богатым опытом, они будут курировать и менторить вашу работу.


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


Мы не ждем вала заявок, но возможно, мы ищем именно вас, поэтому если вы морально готовы с нами в драку, напишите мне на pikabu@buildben.io как вас зовут и ник в телеге (или whatsapp), пообщаемся.


Удачи нам всем и берегите себя!

Показать полностью
Программирование Golang Стажировка Текст
17
6
DELETED
ИТ-проекты пикабушников

Chest - инструмент для автоматического бекапа серверов Minecraft⁠⁠

5 лет назад
Chest - инструмент для автоматического бекапа серверов Minecraft

Всем привет,

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

Что Chest умеет?

Автоматически выключать сервер (если сервер крутиться на screen)

Паковать файлы сервера в архив

Загружать архив на облачное хранилище (Google Drive, например)

Автоматически включать сервер (опят таки если он в сессии screen

Если хочешь посмотреть больше или даже попробовать - заходи сюда или на GitHub (открытый код, лицензия ГНУ, делай что хочешь).


Спасибо за внимание! :)

Показать полностью
[моё] Системное администрирование Minecraft Сервер Golang Резервное копирование
2
Balthasar2019

Junior Golang⁠⁠

6 лет назад

Приветствую честной народ!
Интересует информация о минимальных знаниях для Junior golang в целом и некие рекомендации в частности:
1. Какой набор знаний и технологий требуется?
2....

Golang Программирование Junior Текст
24
16
isqad
isqad

Телеграм бот для электронных книг:  итоги первой недели⁠⁠

6 лет назад

Всем привет! Это снова я со своим ботом https://t.me/boookovka_bot (@boookovka_bot).

Спасибо всем первым пользователям, я нашел кучу ошибок и в первый день после анонса на pikabu.ru, сидел и правил. Основная бага была, что память бота безбожно текла, где-то горутина (да-да приложение на golang) оставалась "висеть", где ссылка висячая оставалась на структуру, в общем поправил и добавил аллокатор jemalloc.
На следующее утро я пришёл на работу и почуял неладное. Интернет работал с перебоями и в середине дня ко мне пришел админ с жалобой, что я забивал всю сеть udp пакетами.
-- Приехали --, взгруснулось мне, по базе сотня недоставленных книг, при включении сервиса скачивания интернет в офисе падает. В общем беда. Переписал сервис скачивания, выкинул лишнее, оставил только один запущенный торрент клиент в сервисе. Запускаю - инет падает.

Сдался в итоге, и вечером покупаю VPS в Нидерландах. Взял с одним ядром cpu, 1Gb оперативки и 20Gb SSD. "На наш век хватит", думал я. Поздно вечером выкатываю бота на хостинг, и все держится неплохо. Пару недокаченных книг запускаю на скачивание, и они успешно и быстро отдались клиентам. На следующеее утро собрал все "недокачки" и раздал клиентам. Весь день и  дальше бот работал без перебоев. Стабильность восстановлена и дальше буду дополнять различными фичами.. 😊

Немного по статистике за примерно три дня стабильной работы бота для тех, кто любит цифры:
- 2870 пользователей телеграм открывали бота и смотрели, что-то искали
- 1142 успешно отданных книг (закачек)
- 24Gb книг выкачено и роздано

TOP10 самых популярных книг:
1) Лукьяненко Сергей  Кваzи / Квази
2) Джастин Сейтц  Gray Hat Python / Python глазами хакера
3) Юваль Ноах Харари Краткая история человечества
4) Платт Ч.  Электроника для начинающих
5) Книжная серия «Весь Сергей Лукьяненко»(10 книг)
6) Шолле Ф. - Глубокое обучение на Python
7) Р.А. Бирбраер, И.Г. Альтшулер - Основы инженерного консалтинга
8) Грегори Дэвид Робертс  Шантарам
9) Сворень Р.А. - Электроника шаг за шагом
10) Десятое место разделили книги:
Пелевин Виктор - Собрание произведений
Гоголь Н.В. - Мертвые души

Показать полностью
[моё] Программирование Книги Golang Telegram Текст
6
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии