Skip to content

Instantly share code, notes, and snippets.

View kuflash's full-sized avatar

Igor Uvarov kuflash

View GitHub Profile
@kuflash
kuflash / post.md
Last active June 14, 2016 09:55
Post: Sitemap generator

Генерация карты сайта

Прием-прием! На связи Игорь Уваров - JS разработчик команды «Восток». Представляю вам рассказ, как я, работая над задачей по нашему сайту, вынес решение в публичный NPM пакет.

Проблема

Пару месяцев назад мы переписали фронтенд нашего сайта на React. Все страницы также рендерятся на сервере, для индексации поисковиками. Для улучшения этого процесса, роботам нужно давать подсказки. Одной из таких подсказок является карта сайта (sitemap.xml). Так как у нас периодически добавляются новые страницы, то встал вопрос – можно ли автоматизировать обновление карты сайта при деплое новой версии сайта? И я начал поиски…

Поиски решений

var options = {
url: 'http://life-lk.csssr.ru/authOlk.php?q=/olk/menu/mail/msg/file/download/' + id + '/' + name,
type: 'get',
dataType: 'json',
contentType: 'application/x-www-form-urlencoded',
crossDomain: true,
xhrFields: {
withCredentials: true
}
};
Необходимо:
- Добавлять виджеты
- Удалять виджеты
- Таскать виджеты (jquery ui draggable)
- Определять коллизию
- Программно менять положение виджета/группы виджетов
- Установка виджета в любую клетку сетки
$viewResponseForm.fileupload({
url: life.api.options.url + life.api.options.methods.mailSendMessage.path,
type: life.api.options.methods.mailSendMessage.type,
fileInput: $attacmentInput,
paramName: 'file',
xhrFields: {
withCredentials: true
},
add: function (e, data) {
console.log(data);
@kuflash
kuflash / deployHeroku
Created April 23, 2015 08:22
Deploy play package on Heroku
Tutorial: https://devcenter.heroku.com/articles/deploying-scala-and-play-applications-with-the-heroku-sbt-plugin
>> sbt stage deployHeroku
// For starting job in background
long offset = startDate.getTimeInMillis() - currentDate.getTimeInMillis();
ActorRef sceduler = Akka.system().actorOf(Props.create(ThreadJob.class));
Akka.system().scheduler().scheduleOnce(FiniteDuration.create(offset, TimeUnit.MILLISECONDS),sceduler, "ping", Akka.system().dispatcher(), ActorRef.noSender());
// DAO
public static void save(User user) throws PSQLException {
EntityManager em = AppEntityManager.getInstance();
em.getTransaction().begin();
em.persist(user);
em.getTransaction().commit();
}
// Controller
@kuflash
kuflash / Highcharts snippets
Created February 12, 2015 14:44
Highcharts snippets
// Добавление форматирования дат по четвертям
Highcharts.dateFormats = {
Q: function (timestamp) {
var date = new Date(timestamp),
quarter = date.getUTCMonth();
return Math.floor(quarter/3) + 1;
}
}
@kuflash
kuflash / git-snippets
Last active July 22, 2017 15:11
GIT Snippets
1. Переключиться на remote ветку:
git fetch
git checkout -b <local-branch-name> <remote-branch-name>
2. Push отдельной папки:
git subtree push --prefix <path/to/folder> <remote-repo> <branch>
3. Поиск коммита по названию:
git log --all --grep=<pattern>