Примечание:
Я экспериментирую с написанием отчетов. Во-первых, делать месячные отчеты довольно напряжно и неудобно, поэтому попробую делать недельные. Во-вторых, изменю стиль написания. Будет что-то вроде "судового журнала". По мере работы я делаю заметки, которыми с вами здесь и делюсь.
Первое января
- Поступила куча задач по улучшению SEO.
Анализировал что из этого можно сделать, а что - не совсем возможно. - Убрал реформал. Он себя изжил.
Обратный отклик мы получили, а проблемы лучше репортовать в гитхаб. - Работал над мерджем третьих изменений из стимита, в котором добавлен функционал по возможности скрывать NSFW контент.
Решил 7 возникших проблем в коде. - Пытался запустить делегатскую ноду. Не получилось.
Дело в том, что до первого января за мою ноду платил cyber.fund. Впринципе, это логично - нода генерирует мне доход, почему же тогда организация должна оплачивать мой сервер?
С Нового Года наступила пора раскошеливаться, проблема лишь в том, что я плохо разбираюсь в Linux серверах и запуск ноды неожиданно застопорился.
Второе января
- Смерджил третий пакет обновлений в основную рабочую ветку новых изменений.
- В той же ветке починил неподгружающиеся посты в разделе “блог” в профиле пользователя Столкнулся с множеством ошибок из-за неподгружающихся комментариев пользователей и неподгружающихся топиков.
Похоже что способ получения данных из блокчейна изменился. Это не есть хорошо, потому что код этот находится в непонятных и запутанных модулях библиотеки redux. Где и что исправлять в этом клубке - черт знает. В любом случае, это даже хорошо, я давно хотел разобраться в деталях в том, как данные поступают из блокчейна. - Помог парням из стимита в слиянии кода наших проектов.
Возникли довольно неожиданные проблемы. Оказалось что их система тестирования не настроена на принятие пулл реквестов из форков. - Понял на что стоит тратить бОльшую часть внимания.
После небольшого обдумывания, оказалось что все наши главные проблемы и задачи (улучшение сео, добавление нового функционала, исправление багов) упираются лишь в одно - различие в коде между голосом и стимитом. Потому что steemit.com решил чуть ли 70% задач, которые передо мной возникают.
Пора уже решать все проблемы, заливать на сервера новую кодовую базу и работать уже в новом коде.
Третье января
- Пытался запустить делегатскую ноду весь день.
Опять не получилось. Моя задница полыхает огнем тысячи солнц. - Работа над слиянием изменений из стимита затруднилась еще больше.
Изменился способ получения данных из блокчейна. В стиме стали использовать библиотеку shared-db, которая многое изменила. Нужен апгрейд с хардфорком нашей сети и тогда все заработает нормально. - Починил подгрузку топиков в ветке новых изменений.
- Починил страницу настроек починил и страницу с категориями (‘/tags.html’).
- Закрыл три ишью: два по неправильным переводам и один по рефакторингу кода.
- В конце дня единственное что обрадовало - спустя почти месяц, первый Пулл Реквест наконец то был одобрен стимитом и “слит” с ихним кодом
Четвертое января
- Довольно долго чинил Facebook Pixel. С переменным успехом.
Facebook Pixel необходим для рекламы проекта в фейсбуке. Почему то он никак не хочет работать с нашим кодом. - Добавил переводы ошибок транзакций
- Снова пробовал починить ноду.
Сережа подсказал что я ключ не импортировал в cli_wallet. Все же после импорта появилась проблема в max_block_age. Решил снести все и переустановить сызного. - @hipster почистил ишью в репозитории.
С 34х стало 24. Намного лучше, ушла энтропия. - @serejandmyself начал использовать гитхаб проекты.
Я этим крайне доволен. Теперь решать задачи гораздо проще: у меня есть только 1-2 текущих ишью вместо 24х, и я сразу могу видеть 3-4 следующих задачи, вместо, опять же, 24+.
Доволен неописуемо
- В конце рабочего дня случилось неожиданное.
В 6:15 утра, после очередных пяти часов пердолинга с делегатской нодой, я запустил кли_валлет и обновил фид! УРАААААААА!!1
Жаль что опустился в списке делегатов с 5того на 8сьмое место за эти дни. Но, виноват сам, уже ничего не попишешь.
Зато теперь, наконец, могу полноценно отдаться нормальной работе над Голосом. - Сделал автообновления фида в делегатской ноде
Итак, 08:17 утра. В течении двух последних месяцев я каждый божий день обновлял фид ручками потомуу что я дебил.
Сегодня это свершилось. Я настроил автоматическое обновление фида. Ура, ура, ура!
Пятое января
- Довольно много времени уходит на обсуждение задач.
Какие задачи делаем, какие не делаем, какие откладываем, почему откладываем и так далее. Этот менеджмент занимает часы. Серьезно.
Поэтому написание кода занимает не так много времени, как хотелось бы. С другой стороны, по этим причинам закрыты несколько ишью без единой строчки кода. Всегда бы так. - Закрыл 3 ишью по SEOшным задачам.
- Все больше и больше радусь новому распределению задач.
Как можно увидеть из предыдущего скриншота, flow довольно логичный. TODO (предстоит)> IN PROGESS (в процессе)> WAITING FOR APPROVAL (в ожидании подтверждения)> DONE (сделано) - Улучшал лендинг
Нужно было переделать раздел с командой, добавить в нее основателей, добавить делегатов, починить сайдбар. - Встретился с кучей проблем в лендинге.
Сайдбар никак не хотел чиниться: один файл ссылается на другой, переменные которые противоречат друг-другу и прочее. А список делегатов вообще не хочет загружаться где-либо кроме непосредственно страницы делегатов. А, почему - черт его знает.
Пойду спать.
Шестое января
- Добавил центрирование изображений по умолчанию в редакторе текста
- Опять сломался Facebook Pixel
Скрипт не инициализировался по совершенно непонятным причинам. Странная штука. - Сделал индикатор загрузки изображений.
Нужно было починить Facebook Pixel, я совершенно не знаю как это сделать.
Чтобы не унывать и не терять продуктивность отвлекся на запиливание индикатора загрузки изображений в списке постов. (до того как изображение загрузится полностью, будет виден крутящийся кружок)
После того, как создал его, оказалось что моя работа нафик не сдалась, потому что у нас при преварительной серверной обработке картинки подгружаются очень быстро и пустых блоков на картинке не возникает.
Как оказалось, блоки эти возникали у меня только при сломанном коде когда другие функции добавлял. Ну, отлично, блин. Жизнь это боль, смысла в ней ноль. - Нашел причину по которой Facebook Pixel не запускался.
Новая команда и старая создали разные проекты для голоса с разными фейсбучными айди. Фейсбук коннект запускался с одним айди, и тут же фейсбук пиксель пытался запуститься (используя тот же скрипт) уже с другим айди. Такие вот проблемы смены команды. Пригласил команду в старый (оригинальный) фейсбучный профиль для разработчиков
Седьмое января
У меня есть одна особенность. У живу в режиме 20/8. Я не сплю 20+ часов, затем отсыпаюсь 7-8 часов.
Поэтому режим у меня нестабильный. Проработал шестое и седьмое число, уснув в три часа дня 7го числа. Проснулся в час ночи восьмого.
Как правильно описать работу за этот день в "бортовом журнале" ума не приложу.
Восьмое января
- опять чинил "/ico".
Починил наконец верхнее меню, гамбургер и сайдбар чтобы они работали на любых устройствах и разрешениях нормально. - Потратил кучу времени на оптимизацию сайта для SEO.
- Потратил время на то чтобы оптимизировать загрузку скриптов и стилей.
Сеошные анализаторы ругаются на то что у нас есть какие-то "блокирующие" стили и скрипты. Как оказалось, блокирующие - значит те, что тормозят загрузку страницы. Потратил довольно много времени на то чтобы сделать их асинхронными, то есть не блокирующими рендеринг страницы во время их загрузки. Сделать то это получилось (загрузка страницы стала быстрее процентов на 30%), но анализаторы ругаться не перестали. Обидненько.
В общем, пердолился я с этой задачей довольно долго. И лишь для того чтобы в конце дня обнаружить что в steemit эту задачу уже решили, и что в ветке с новым функционалом таких проблем не возникает.
Ладненько.
Девятое
- Подготовил этот отчет
- Два часа сидел в скайп конференции с командой
Сережа решил добавил scrum'овские танцы с бубном. Теперь мы будем работать в режиме спринтов: то есть каждые две недели собираемся и в течении двух часов выбираем задачи на ближайший спринт.
Для этого у нас будет общая доска, где будет видно какие задачи нужно сделать, и кто чем занят. Плюс ежедневные 15ти минутные созвоны чтобы решать какие-либо проблемы и координироваться.
В теории все это звучит, конечно, круто. Но, я практик, и вот как это выглядит в реальности:
- Мне нужно решить все проблемы связанные с новым функционалом и подготовить проект к рабочему состоянию. (это при том, на секундочку, что данные не подгружаются из-за отсутствия бэк-эндера и хардфорка блокчейна)
- Подготовить документацию о том как запустить и настроить для нормальной работы клиент Голоса на локальной машине
- Решить SEO проблемы (это вообще песня в семи куплетах)
- Решить дополнительные задачи по фронт-энду, которые всегда появляются в процессе работы.
На все провсе у меня - две недели.
В целом, я не воодушевлен ни черта. Опять делаю все и ничего одновременно.
Надеюсь что я не прав в своих суждениях, время покажет.
Следующий отчет обещает быть интересным.
Ваш узел по-прежнему не производя блоки, поэтому публикация только кормить цене ничего не делает. Я прошу вас присоединиться ко мне в публикации точной, рыночные голос накормить цену, а не там, где все остальные получают их кормить цене от. Для того чтобы произвести блоки снова используйте команду
update_witness
, что включает ваш ключ подписи.перевод Яндекс
Your node is still not producing blocks, so publishing a price feed alone is doing nothing. I ask you join me in publishing an accurate, GOLOS market-based price feed instead of wherever everyone else is getting their price feed from. To produce blocks again use the
update_witness
command that includes your signing key.Holy shit, i had no idea! Thank you so much!
I have 2 questions:
How do i check if my node is producing blockes properly?
How do i find proper market-based price feed?
Currently i am using new autopublish feed script
https://golos.id/ru--delegaty/@litvintech/obnovlennyi-skript-dlya-avtomaticheskoi-postavki-cenovykh-fidov-dlya-delegatov
If it's running normally, your golosd terminal will output something like "Generated block #2390636 with timestamp 2017-01-09T14:54:48 at time 2017-01-09T14:54:48 by misha" every minute or so when you're in the top 19 delegates.
If your private key in the config.ini doesn't match the public key that your account's signing key is set to, you will see something like "Not producing block for misha because I don't have the private key for [public signing key]"
You can see the block producing status of your node on a few websites like @roadscape's http://golosd.com/witnesses where your account name will be grayed out if your signing key has been deactivated (set to
GLS1111111111111111111111111111111114T1Anm
after 24 hours of missed blocks) or @jesta's https://golosdb.com/@misha/blocks.The problem with @litvintech's script is that the market cap is not a variable based on the market price. It's subjectively set as a static variable near the top:
CAP=600
To get the accurate price to feed to the Golos network, you will want to get at least the last trade price on the GOLOS exchanges Livecoin and/or Liqui. Livecoin I know has an API. I don't know for sure about Liqui because I haven't used them. It could also be left up to coinmarketcap and scraped from the GOLOS page. :P
Ok, i will change price feed data calculation. Thank you very much.
You are the best
Вот так отчет! И ни слова о новогодних каникулах =) Молодец, Миша!!!
Каникулы для слабаков ;)
судя по режиму - сон тоже)))
Ваша работа достойна уважения!
Прочитала все слова. Мало что поняла, в целом поняла только что благое дело для голоса делаете ))
Классный отчёт!
А ты, Миша, на Новый Год хоть бокал поднять успел?))))
Обошлось без шампанского и оливье. Зато Дедовского коньяка немного выпил)
Минут хоть на 10 успел отвлечься от работы?)))))
Ну, хватит преувеличивать, я все 20 отдыхал
круто!!! я как всегда не понял, что делаешь, но главное не унывай)) потому как мне, как пользователю важно знать что все вопросы решаемы))
Все вопросы решаемы, не волнуйтесь)
я понял из отчета... день первый нифига не получается, день второй вообще все встало, день третий все решил))