LINUX.ORG.RU

Сообщения Rastafarra

 

devops, можно удаленно.

попробую я тоже закинуть хотелки. накидал более-менее +/- перечень того, что хотелось бы сделать. если что-то из того, что я написал, можно сделать лучше, конечно же стОит сделать это лучше :)

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

  • Production
    • Миграция nginx с хостами, tomcat’а, postgresql и redis на 2 отдельные машины, одна из которых будет в Москве, вторая в Питере.
    • Развертывание 2-го инстанса redis на машинах в мск и питере (возможно, из-под докера).
    • Настройка репликации между одним из инстансов редиса в мск и питере.
    • Миграция базы mysql, nginx и tomcat из digitalocean на 2 машины.
    • Настройка master-slave репликации postgresql между московской и питерской машинами.
    • Настройка синхронизации файлов (пока rsync) между машинами в мск и питере по cron.
    • Настройка бэкапа postgresql и mysql на мастере по cron.
    • Настройка логротейта логов nginx и tomcat, баз и редиса.
    • Развертывание pgbouncer для чтения из базы.
    • Написание systemctl-скриптов для управления tomcat’ом, написание ansible-плейбуков для развертывания приложений под tomcat и управления конфигами nginx.
  • Инфраструктура
    • Миграция gitlab на машину под инфраструктуру.
    • Миграция sonarqube на машину под инфраструктуру.
    • Развертывание code collaborator на машине под инфраструктуру.
    • Настройки потребления памяти jir’ой и sonarqube’ом.
    • Настройки бэкапа базы данных от jira и gitlab по cron.
    • Настройки (инкрементального?) бэкапа файлов из-под jira и code collaborator.
    • Миграция openvpn на инфраструктурную машину.
  • DevOps
    • Настройки хуков в gitlab (или jenkins? есть и то, и то) для экспорта в sonarqube и code collaborator.
  • Мониторинг
    • Развертывание zabbix на нашей платформе
    • Реализация основных проверок - snmp, доступность веб-сервисов, живость баз (установка соединения) и редиса (лукап по специальному ключу).

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

    или может быть целая контора? были парни из новосиба, вроде по деньгам даже сговорились, но вдруг куда-то пропали :(

    сколько это нынче стоит?

    зы. да, rastafarra@gmail.com для связи.

 , ,

Rastafarra
()

как дальше жить..?

https://ma.tt/2017/09/on-react-and-wordpress/

я правильно понимаю что теперь нельзя использовать вместе react и что-то такое, где есть апач?

 ,

Rastafarra
()

выбор ноута

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

и чтоб все это работало на онтопике безбУбново?

что это за чудесный бук? док? иде? вм? конфиги?

цель: раздать в офисе буки разрабам с доками и по паре мониторов.

 

Rastafarra
()

очень хочется поделиться ))

хук на бранч, gitlab vs jenkins

1. в дженкинсе наплодить джобиков (dev, test, master) и на каждый ждобик выставить галку Trigger builds remotely (e.g., from scripts). написать туда ключик, всем разные.

2. добавить в корень проекта .gitlab-ci.yml типа такого:

stages:
- build_developer
- build_test
- build_master



build_developer_job:
  stage: build_developer
  only:
  - develop
  script:
  - curl http://jenkins.url/job/project-develop/build?token=token_develop



build_test_job:
  stage: build_test
  only:
  - test
  script:
  - curl http://jenkins.url/job/project-test/build?token=token_test



build_master_job:
  stage: build_master
  only:
  - master
  script:
  - curl http://jenkins.url/job/project-master/build?token=token_master

ну и конечно добавить раннер: https://docs.gitlab.com/runner/register/index.html

и волосы будут здоровые и шелковистые.

может это просто и все знают, но у меня прям локальная победа :)

 ,

Rastafarra
()

жизнь без jpa

собсно вопросов масса:

1. чем плохо живется в jpa? ну разве что время от времени возникает тупак «а почему так...?» и тянуться может долго, но писать весь этот ваш sql и alter table к нему. в этом тоже мало радости.

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

3. вот эти фокусы типа jooq. какие есть еще? чем оно лучше?

в целом: если переезжать, то куда? и надо ли?

 ,

Rastafarra
()

лоругл, нид хелп.

где-то на лоре, вроде, были майки, хотя бы фоточки, с цитатами типа «все течет, все дедлочится», где она? не гуглится :(

ну и вообще список цитат тоже был.

 

Rastafarra
()

Где взять девопса?

Сюда или в талкс?

Проблема: надо инфраструктуру. Нет, я сам не хочу. «Я сам» победил в локальных боях и понял что дальше не хочу. Хочу бойца.

Удалека: этот хер чем то занят, его даже если и можно перекупить он все равно занят не мной, человек рубит бабло, так получается что за время моего простоя.

Постоянная: этот хер занят ~15% на то бабло которое хочет. И я его понимаю, но денег жалко. Понятно что при этом эта скотина все равно фрилансит и тянет срок ))

Какое есть решение? Может есть конторы которые этим промышляют?

Но. Если это будут разные люди начнется разброд и шатание.

Кто как решает? :)

 

Rastafarra
()

про jpa и eclipseLink

есть у меня Entity, внутри которой лист Entity, внутьри которых тоже листы и там их штук 5 таких вложений.

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

и все вроде хорошо, но если пакет большой, то эта радость рушится, любимых ошибки у меня две: elipseLink-4005 и eclipseLink-4002. 4005 в топе.

что бесит отдельно: тест не повторяется. один тест может 3 раза упасть, а на 4-ый отработать и в табличках записи появятся.

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

вопрос: что делать? :)

trace:

Exception [EclipseLink-4005] (Eclipse Persistence Services - 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: DatabaseAccessor not connected.
	at org.eclipse.persistence.exceptions.DatabaseException.databaseAccessorNotConnected(DatabaseException.java:123)
	at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:325)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:615)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560)
	at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2056)
	at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570)
	at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:258)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:299)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:694)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2740)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2693)
	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:559)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1175)
	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1134)
	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:460)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1222)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:133)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:120)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:89)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:173)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:234)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:89)
	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:271)
	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:455)
	at org.eclipse.persistence.indirection.IndirectList.getDelegateObject(IndirectList.java:469)
	at org.eclipse.persistence.internal.sessions.DeferrableChangeRecord.recreateOriginalCollection(DeferrableChangeRecord.java:120)
	at org.eclipse.persistence.mappings.CollectionMapping.updateChangeRecord(CollectionMapping.java:2124)
	at org.eclipse.persistence.internal.descriptors.changetracking.AttributeChangeListener.internalPropertyChange(AttributeChangeListener.java:149)
	at org.eclipse.persistence.internal.descriptors.changetracking.AttributeChangeListener.propertyChange(AttributeChangeListener.java:111)
	at ru.its360.core.prototype.entity.Reference._persistence_propertyChange(Reference.java)
	at ru.tabulaRasa.buildingApi.entity.BuildingStruct._persistence_set_sections(BuildingStruct.java)

 ,

Rastafarra
()

хочу гнобить свою поделку с basic auth

где есть онлайн гнобилки поделок, чтоб мне пришло 100500 клиентов, протыкали все кнопки какие есть и все упало к чертям от stack overflow?

т.е. их сотни, но в basic auth никто не хочет, а у меня авторизация первым делом висит.

 

Rastafarra
()

Давно не мерялись...

Сколько строк отлаженного и покрытого тестами кода за день в современных реалиях должен написать эффективный программист?

 ,

Rastafarra
()

iPad?

Так вот.

Как этим управлять-то!?

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

Это вот он и есть, верх юзабилити? ))

 

Rastafarra
()

Хочется тулзов для Явы.

1. Профайлер. Что нынче в моде?

2. Общее качество кода. Например оценить есть ли сайдэффекты у метода?

 

Rastafarra
()

хорошего кина тред

собсно хочу. смотреть.

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

сейчас есть: файлопомойка по smb, смлотрелка-коробочка wd tv live и собсно ящик.

проблема: смотрелка-коробочка «паламалася», кино фризится каждые минут.... 20. любое. я думаю это аппаратная проблема, этого не было и это вдруг появилось. бесит аццки.

при том что у меня к ящику тоже есть притензии, я бы его поменял, скажем на 4к, заодно и кинцо бы пересмотрел старые, например терминатора :)

вопрос: что собсно в тренде? брать ящик целиком? брать коробочку-смотрелку? современный ящик умеет в smb? nfs? wifi? dlna имхо гемор, хочу плагиплей.

как быть?

 

Rastafarra
()

Переходный возраст

В каком возрасте следует перестать писать высокоморальный канониичный плохо работающий быдлокод и начать писать нормальный работающий код, который продается и приносит деньги?

 ,

Rastafarra
()

победа пробелов над табами.

!Ъ: https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/

Ъ: за пробелы платят больше чем за табы.

шах и мат, таболюбы.

 ,

Rastafarra
()

как передвинуть usr?

как сейчас: корень на одном винте, usr на другом.

как хочу: перенести usr в корень, убрать точку монтирования.

вопрос: как?

зы. да, бутиться с флешки дело хорошее, но флешки нет.

 ,

Rastafarra
()

Чем заняться в дс на полдня?

Внезапно понаехал, а где-то с 15 до 22 делать нефиг.

Где тут самые развратные женщины и вкусное пиво?

 

Rastafarra
()

готов для десктопа, говорили они...

аццкий линукс, православный синкпад, интел+невидия, хочется внешний монитор через hdmi.

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

и вот херЪ.

цитата:

modprobe: ERROR: could not insert 'nvidia_drm': Key has expired

катимся в винду, говорят там есть жизнь.

 

Rastafarra
()

Тёплый и ламповый звук

Я пропустил, или наушники под type c уже выбирали?

Какие рекомендованы?

 ,

Rastafarra
()

java orm?

что нынче в моде?

проблема: когда у меня есть длинная связка объектов obj.getObj1.getObj2 ... getObjN и я хочу посчитать например сумму из getObjN.getFieldForSum, то всякие jpa начинают аццки тупить.

хочется расставит аннотации и чтобы оно нагенерило мне джоинов, например, а не кучу селектов.

интернет предлагает нашлепать джоинов и селектов руками, прям native query, но это ж жопа, на кой черт тогда все эти орм нужны?

зы. cейчас сижу на eclipse link.

 , ,

Rastafarra
()

RSS подписка на новые темы