LINUX.ORG.RU

Сообщения prozaik

 

всплывашки какие-то появились

Форум — General

у меня mint18, последние 2 недели стал замечать, что каждый день DE cinnamon показывает мне такие всплывашки: http://i.yapx.ru/DQ4wO.png

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

но мне прежде всего интересно как эти всплывашки проникли в ОС. я ведь не устанавливал в последние 2 месяца ничего кроме обновлений безопасности

скажите, это скорее всего вирус, который заразил ОС или я не там ищу?

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

пробовал в cinnamon зайти в раздел «уведомления». но там только настройки типа времени затухания и т.д.

 ,

prozaik
()

где установить PYTHONPATH?

Форум — Web-development

помогите пожалуйста понять как и где установить набор путей для поиска при импорте модулей в python3.

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

мне не понятно как её установить. будет ли правильно открыть для редактирования файл ~.bashrc и в него добавить следующее?

PYTHONPATH = ['/path1', '/path2', '/path3']

ОС mint18.

 ,

prozaik
()

Как в одну страничку вставить другую?

Форум — Web-development

Пытаюсь одну простейшую страничку вставить в другую. Вот так страничка, которую нужно вставить: https://zlodiak.github.io/html/widgets/body_widget/0_default/

Вот страничка в которую она вставляется: https://zlodiak.github.io/html/widgets/target_page/0_default/

Если кратко, то вот что там происходит:

  • целевая страничка парсит исходник то, которую вставляют
  • превращает то что напарсило в DOM-дерево
  • ищет в этом дереве элементы script и link
  • корректирует им атрибуты, в которых содержится путь
  • вставляет обновлённые элементы scrupt и link, а так же прочую разметку в тело целевой странички

Таким образом в результате получаем весь критически важный код странички, вставленным в тело целевой странички. Проблема в том, что скрипты не отрабатывают(это видно по отсутствию сообщений в консоли и по тому, что клик по div не вызывает появление алерта). При этом стили отрабатывают без проблем.

Посоветуйте пожалуйста как заставить скрипты работать

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

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

 

prozaik
()

Получилось ли реализовать паттерн mediator?

Форум — Web-development

скажите пожалуйста получилось ли у меня в полной мере реализовать паттерн mediator?

JSFIDDLE: http://jsfiddle.net/zlodiak/x96qwevg/2/

я написал болванку к игре. она состоит из:

  • 1. меню,
  • 2. имитации уровня,
  • 3. информационном экране с номером уровня,
  • 4. информационном экране с информацией о проигрыше,
  • 5. информационном экране с информацией о выигрыше

даже таким небольшим количеством сущностей трудно управлять поэтому я решил:

  • 1. чтобы каждая отдельная сущность решала только свою узкоспециализированную задачу,
  • 2. чтобы вся логика управления игрой содержалась в объекте-медиаторе. в частности в его методе controller

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

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

не обращайте внимания на некоторые упрощения, которые я допустил. а именно:

  • 1. я умышленно не удаляю сущности при помощи delete после того как они отработали и уже не используются. мне кажется, это очень незначительные утечки памяти
  • 2. я допустил дублирование кода. можно было вместо трёх информационных экранов создать один универсальный. скажу честно, просто не получилось. но сейчас меня больше беспокоит паттерн mediator

 , ,

prozaik
()

Как добавить 2 не SPA-странички в angular6?

Форум — Web-development

Задача странная, но помогите пожалуйста её решить.

1. В angular6 я сделал 3 странички с роутингом старого стиля(то есть url с решёткой). Этого я добился при помощи возможности, которую разработчики фреймворка оставили для обратной совместимости:

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],

2. Далее мне понадобилось сделать чтобы при заходе пользователя на страничку /login происходил рефреш страницы. То есть по сути страница /login работает не как SPA, а остальные страницы работают как SPA. Этого я добился так: tpl:

<a href="/login">Login</a> |

    <a routerLinkActive="active" 
       routerLink="/home">Home</a> | 

    <a routerLinkActive="active" 
      routerLink="/catalog">Catalog</a> 
      
    <router-outlet></router-outlet>

router:

imports: [
    RouterModule.forRoot([
      { path: '', redirectTo: '/login', pathMatch: 'full'},
      { path: 'login', component: LoginViewComponent },
      { path: 'home', component: HomeViewComponent },
      { path: 'catalog', component: CatalogViewComponent },
      { path: '**', redirectTo: 'login' }
    ], { useHash: true })
  ],

3. Теперь мне хотелось бы чтобы таких страничек было две. То есть чтобы происходил рефреш когда пользователь переходит на страницы /login и /home

Помогите пожалуйста такое реализовать. Вот тут демо с описанным выше примером: https://stackblitz.com/edit/angular-router-basic-example-15sgpm

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

 ,

prozaik
()

как из спектра цветов сформировать массив?

Форум — Web-development

у меня вопрос без кода поэтому буду благодарен даже за теоретический ответ

есть вертикальная ось, в ней приблизительно 200000 значений. на эту ось будут нанесены цветные шарики. цвет шариков должен распределяться по спектру. для определённости, скажем, самый нижний шарик - синий, самый верхний - красный

у меня задача написать функцию, которая принимала бы значение по оси(одно из 200000), а возвращала бы код цвета. этот код может быть в формате rgb, rgbA, hex или в любом другом, понятном браузеру формате

пользоваться буду html/css/js

ps: админы, смотрю, у вас в автокомплите есть тег 'javasript'. без 'c'

 

prozaik
()

Как на angular6-страничку вставить виджет яндекс карты?

Форум — Web-development

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

<body>
	<div id="w"></div>
	<script src="//api-maps.yandex.ru/2.1/?load=package.standard&lang=ru_RU" type="text/javascript"></script>
	<script id="src" type="text/javascript" src="https://........../map.js"></script>
</body>

На обычной html-страничке он работает без проблем, но у меня задача вставить его в компонент angular6. Проблема в том, что шаблон фреймворка удаляет любые теги script. таким образом

<div id="w"></div>
остаётся просто пустым тегом.

Я пробовал

<div id="w"></div>
встраивать в шаблоне компонента, а все script в index.html. в результате виджет тоже не заработал

что ещё можно попробовать?

 , ,

prozaik
()

Как рассчитать направление взгляда панорамы?

Форум — Web-development

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

В документации есть пример задания направления взгляда панорамы: https://tech.yandex.ru/maps/jsbox/2.1/panorama_basics

Но мне непонятно при помощи какой математической формулы можно рассчитать нужное мне направление(чтобы панорама смотрела в направлении маркера, для которого искалась).

Научите пожалуйста как это делать. Или хотя бы дайте ссылки на подобные примеры.

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

 , ,

prozaik
()

Как заставить апач смотреть в другой каталог?

Форум — General

в системе установлен apache. файлы из /var/www/html видны в браузере по адресу localhost

появилась надобность переместить эти файлы в /home/my/html. но хотелось бы чтобы браузер по адресу localhost по-прежнему их показывал. посоветуйте пожалуйста как это сделать малой кровью

 ,

prozaik
()

возможно ли обойтись без подписывания форм csrf-токеном?

Форум — Web-development

существует токен авторизационный и существует csrf-токен. csrf-токен посылается на сервер не в куках, а например в POST-параметрах.

вообще это довольно непростой способ защиты. не проще ли было бы использовать авторизационный токен и для авторизации, и для csrf-защиты?

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

но так мало кто делает. причина только в том, что незначительное количество пользователей не имеет origin или в чём-то ещё? помогите пожалуйста разобраться

 , ,

prozaik
()

Должна ли устанавливаться кука при ajax-запросе?

Форум — Web-development

Со стороны бекенда у меня есть url, который генерирует токен и записывает его в куку. Если этот url забить в адресную строку браузера, то так и происходит

Со стороны фронтенда у меня есть ajax-запрос, который идёт на описанный выше url. В результате кука не устанавливается. Это нормально, так и должно быть?

Вот скрин отладчика http. Видно, что кука возвращается в поле Set-Cookie: http://i.yapx.ru/BzkoZ.png

 , ,

prozaik
()

Почему csrf-токен отправляется только при первой загрузке?

Форум — Web-development

У меня есть бекенд на django1.8. Через браузер я загружаю одну из страничек. Какой-то механизьм django сразу записывает в куку csrf-токен. Но это происходит только при первом заходе на страницу

Если в куках стереть этот csrf-токен(имя и значение), то при повторном заходе(например через рефреш или открытие новой вкладки) csrf-токен снова не записывается в куки

Объясните пожалуйста как django запоминает, что с этим браузером уже был первый контакт?

 , ,

prozaik
()

как перезапустить графическую среду?

Форум — General

помогите пожалуйста перезапустить графическую среду из tty

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

обычно я из такой ситуации поступаю так: 1. при помощи шортката выхожу в tty 2. авторизуюсь 3. reboot

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

 
sudo service mdm restart

в результате перезапускается cinnamon и проблема в общем решается. но мне хотелось сохранить все открытые окна в таком же состоянии. а так же запущенные процессы(например node.js + angular)

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

mint18. DE cinnamon

 

prozaik
()

как работает наследование в angular?

Форум — Web-development

объясните пожалуйста один момент по наследованию классов в angular2+

Есть два класса, один наследует другой. В обоих есть переменная listType. но инициализируется она только в наследнике

Помогите пожалуйста понять почему она доступна и в родителе тоже(это выражается в выводе console.log)

Живой пример тут: https://stackblitz.com/edit/angular-zdsscb

Получается, что производный класс наследуется от базового, но и базовый наследуется от дочернего? это прикол angular или нормальная ситуация для ООП вообще?

 , ,

prozaik
()

WM поверх DE. возможно ли?

Форум — Desktop

в последнее время начала доставать скорость работы cinnamon (на моём ноуте i7, 8gb ОЗУ. +область подкачки 8gb). хотел бы попробовать лёгкий WM типа fluxbox. скажите, возможно ли, не снося cinnamon, поставить какой-нибудь WM и иметь возможность относительно легко переключаться между DE и WM?

в какую сторону смотреть?

 ,

prozaik
()

изменить порядок коммитов после rebase

Форум — General

помогите пожалуйста решить проблему

вот исходное состояние репозитория:

* a1e8bc5 2018-04-01 | 4 (HEAD -> master) [zlodiak]
* 45b3983 2018-04-01 | 3 [zlodiak]
| * 2f3bf2f 2018-04-01 | 4s (second) [zlodiak]
| * 87102a5 2018-04-01 | 3s [zlodiak]
|/  
* 41a912b 2018-04-01 | 2 [zlodiak]
* 3a0067f 2018-04-01 | 1 [zlodiak]
* d532d4a 2018-04-01 | 0 [zlodiak]

я хотел бы применить rebase и получить на выходе такую ветку:

0, 1, 2, 3, 4, 3s, 4s

для этого я, находясь в ветке master, выполняю

git rebase second

в результате, после разрешения конфликтов, получаю:

kalinin@lenovo /var/www/html/misc/tag2 $ git hist --all
* 52824af 2018-04-01 | 4 (HEAD -> master) [zlodiak]
* 15b6c8f 2018-04-01 | 3 [zlodiak]
* 2f3bf2f 2018-04-01 | 4s (second) [zlodiak]
* 87102a5 2018-04-01 | 3s [zlodiak]
* 41a912b 2018-04-01 | 2 [zlodiak]
* 3a0067f 2018-04-01 | 1 [zlodiak]
* d532d4a 2018-04-01 | 0 [zlodiak]

как видите, это не то, что я планировал получить. порядок коммитов не тот

я пробовал, находясь в ветке second, выполнять:

git rebase master

в этом случае я получал то, что планировал:

kalinin@lenovo /var/www/html/misc/tag $ git hist --all
* ce57e84 2018-04-01 | 4s (HEAD -> second) [zlodiak]
* b18869f 2018-04-01 | 3s [zlodiak]
* a1e8bc5 2018-04-01 | 4 (master) [zlodiak]
* 45b3983 2018-04-01 | 3 [zlodiak]
* 41a912b 2018-04-01 | 2 [zlodiak]
* 3a0067f 2018-04-01 | 1 [zlodiak]
* d532d4a 2018-04-01 | 0 [zlodiak]

но этот результат меня тоже не устраивал. потому что если переключиться на ветку master и пытаться её продолжать(делать коммиты), это эти коммиты не включают то, что сейчас есть в 4s

 ,

prozaik
()

как удалить коммиты выборочно?

Форум — General

помогите пожалуйста удалить несколько коммитов

есть ветка dev. от неё я отбранчевал ветку feature/1, в которой есть несколько коммитов. пусть для определённости это выглядит приблизительно так:

* 1790424 2018-03-27 | s2 HEAD
* 6fd3019 2018-03-27 | s1 
* 0eac5a6 2018-03-27 | 3 
* b13de08 2018-03-27 | 2 
* 344b963 2018-03-27 | 1 
* 246a014 2018-03-27 | 0 

я хотел бы удалить коммиты: b13de08, 344b963. при этом важно чтобы название ветки осталось таким же

есть идея создать временную ветку и перетащить в неё черри-пиками нужные мне коммиты. потом удалить ветку feature/1 и переименовать временную ветку в feature/1

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

 

prozaik
()

banshee грел процессор

Форум — General

есть ноут с i7 и 8гб оперативной памяти. ос Linux mint18. сегодня начал сильно греться ноут. это выражалось в бешеной работе кулера, сильно нагретом корпусе машины и показаниях утилиты sensors. в течение нескольких часов. при этом никаких особенных программ не было запущено

при помощи утилиты top я увидел, что 100% CPU использует процесс main thread. что это такое я не знаю, но убивать его постеснялся из-за внушительного названия

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

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

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

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

 ,

prozaik
()

гит разрешает пушить только один раз

Форум — General

помогите пожалуйста решить проблему

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

вот сообщение об ошибке, которое выводит консоль на второй машине при второй попытке пуша:

kalinin@md ~/projects/car $ git push
Username for 'http://gitlab.xxx': sergey.kalinin
Password for 'http://sergey.kalinin@gitlab.xxx': 
Подсчет объектов: 14, готово.
Delta compression using up to 4 threads.
Сжатие объектов: 100% (14/14), готово.
Запись объектов: 100% (14/14), 1.81 KiB | 0 bytes/s, готово.
Total 14 (delta 10), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://gitlab.xxx/yyy/car
 ! [remote rejected] feature/CCC-1111 -> feature/CCC-1111 (pre-receive hook declined)
 ! [remote rejected] master -> master (pre-receive hook declined)
error: не удалось отправить некоторые ссылки в «http://gitlab.xxx/yyy/car»
kalinin@md ~/projects/car $ 

а первый раз со второй машины я пушу так:

git push -u origin feature/CCC-1111
здесь ошибки не возникает и пушь проходит успешно

 ,

prozaik
()

как в гите переместить ветку мастер?

Форум — General

Помогите пожалуйста решить проблему, хотя бы без примера кода(но лучше с ним)

я вёл разработку в одной ветке. коммиты назывались: 1, 2, 3, 4. затем я откатился к коммиту 2 и продолжил разработку коммитом 2.1

* 1c218b5 2018-03-18 | 2.1 (HEAD) [zlodiak]
| * bc5d457 2018-03-18 | 4 (master) [zlodiak]
| * 9f56892 2018-03-18 | 3 [zlodiak]
|/  
* 822f62f 2018-03-18 | 2 [zlodiak]
* fe454d3 2018-03-18 | 1 [zlodiak]

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

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

 

prozaik
()

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