LINUX.ORG.RU

Сообщения Razip

 

Ищу удаленную работу веб-программистом на PHP/Yii 2

Форум — Job

Навыки:

  • PHP (5/7)
  • JavaScript/jQuery
  • HTML/CSS
  • MySQL/SQL
  • Git
  • Английский (C1)

Не верстаю.

Тестовый проект на Yii 2

Тестовый проект на JavaScript

Писать на work.razip собака yandex.com

 ,

Razip
()

Ищу удаленную работу веб-программистом за еду

Форум — Job

Привет.

Что умею сейчас: PHP (есть небольшой опыт с Symphony2), JavaScript (работал с jQuery), MySQL/SQL, HTML/CSS (но не верстаю), немного умею в Git, довольно неплохо знаю английский.

Хочу получить опыт работы с мейнстримными PHP/JS-фреймворками и CMS в продакшене.

Писать тут или на:

work.razip гав-гав yandex.com

 , ,

Razip
()

Сохранить-загрузить состояние HTML5 canvas

Форум — Web-development
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <style>
        .border {
            border: 1px solid black;
        }
    </style>
</head>
<body>
<canvas id="canvas" class="border" width="300px" height="200px"></canvas>
<script>
//    function getMousePos(canvas, evt) {
//        var rect = canvas.getBoundingClientRect();
//        return {
//            x: evt.clientX - rect.left,
//            y: evt.clientY - rect.top
//        };
//    }

    //    var c = document.getElementById("canvas");
    //    var ctx = c.getContext("2d");
    //    ctx.beginPath();
    //    ctx.moveTo(20, 20);
    //    ctx.bezierCurveTo(-40, 110, 110, 110, 50, 20);
    //    ctx.stroke();

    var canvas = document.getElementById('canvas');

    var context = canvas.getContext('2d');

    //    var drawingFlag = false;
    //
    //    var startPoint = null;

    var image = new Image();

    image.src = canvas.toDataURL();

    context.beginPath();
    context.moveTo(20, 20);

    context.lineTo(50, 50);
    context.stroke();

    context.drawImage(image, 0, 0);

    //    canvas.onmousemove = function (event) {
    //        if (drawingFlag) {
    //            context.restore();
    //
    //            var endPoint = getMousePos(canvas, event);
    //
    //            context.beginPath();
    //            context.moveTo(startPoint.x, startPoint.y);
    //            context.lineTo(endPoint.x, endPoint.y);
    //            context.stroke();
    //        }
    //    };
    //
    //    canvas.onmousedown = function (event) {
    //        context.save();
    //
    //        console.log('saved');
    //
    //        drawingFlag = true;
    //
    //        startPoint = getMousePos(canvas, event);
    //    };

    //    canvas.onmouseup = function() {
    //        drawingFlag = false;
    //
    //        startPoint = null;
    //    };
</script>
</body>
</html>

Привет. Хочу сохранить пустой холст, нарисовать что-то и откатиться до сохраненного варианта. Картинка успешно сохраняется (через console.log() смотрел), только вот с загрузкой проблема - по идеи, после загрузки должен быть пустой холст, но нет - нарисованная линия остается нетронутой. Никаких ошибок в консоле нет. В чем может быть дело? Спасибо!

 ,

Razip
()

MySQL. выполнить UPDATE из IF()

Форум — Development
CREATE EVENT `resource_167` ON SCHEDULE EVERY 1 SECOND DO BEGIN
UPDATE `towns2`
SET
`wood` = IF(`wood` + 250 / 3600 > 800, 800, `wood` + 250 / 3600),
`clay` = IF(`clay` + 100 / 3600 > 800, 800, `clay` + 100 / 3600), 
`iron` = IF(`iron` + 150 / 3600 > 800, 800, `iron` + 150 / 3600), 
`crop` = IF(`crop` + 200 / 3600 > 800, 800, `crop` + 200 / 3600), 
`Food` = IF(`Food` + (100 / 3600 - 150 / 3600) > 1000,
/* then */ 1000,
/* else */
IF(`Food` + (100 / 3600 - 150 / 3600) < 0, 0 /* желательно бы отсюда выполнить UPDATE, но чтобы IF все так же возвращал 0 */, `Food` + (100 / 3600 - 150 / 3600)) )
WHERE `wref` = 167; END

Сабж. Как? Заранее спасибо.

 ,

Razip
()

Помогите с таймерами

Форум — Web-development

Приветствую. Выручайте, уже сломал голову. Суть задачи в том, что я пишу таймеры обратного отсчета, которые стартуют в определенный startTimestamp и останавливаются в определенный endTimestamp. Между началом и остановкой есть JS-интервал, который занимается выводом оставшегося времени до endTimestamp. Проблема в том, что иногда вывод неправильный, выводится вот что:

0 start 1482323367 index.html:52:13
0 input 13 index.html:57:1
0 input 12 index.html:57:1
0 input 11 index.html:57:1
0 input 10 index.html:57:1
0 input 9 index.html:57:1
0 input 8 index.html:57:1
0 input 7 index.html:57:1
0 input 6 index.html:57:1
0 input 5 index.html:57:1
0 input 4 index.html:57:1
0 input 3 index.html:57:1
0 input 2 index.html:57:1
0 input 1 index.html:57:1
1 start 1482323379 index.html:52:13
1 input 16 index.html:57:1
0 end 1482323379 index.html:81:17
1 input 14 index.html:57:1
1 input 13 index.html:57:1
1 input 12 index.html:57:1
1 input 11 index.html:57:1
1 input 10 index.html:57:1
1 input 9 index.html:57:1
1 input 8 index.html:57:1
1 input 7 index.html:57:1
1 input 6 index.html:57:1
1 input 5 index.html:57:1
1 input 4 index.html:57:1
1 input 3 index.html:57:1
1 input 2 index.html:57:1
1 input 1 index.html:57:1
2 start 1482323394 index.html:52:13
2 input 16 index.html:57:1
1 input 0 index.html:57:1
2 input 14 index.html:57:1
1 end 1482323396 index.html:81:17
2 input 13 index.html:57:1
2 input 12 index.html:57:1
2 input 11 index.html:57:1
2 input 10 index.html:57:1
2 input 9 index.html:57:1
2 input 8 index.html:57:1
2 input 7 index.html:57:1
2 input 6 index.html:57:1
2 input 5 index.html:57:1
2 input 4 index.html:57:1
2 input 3 index.html:57:1
2 input 2 index.html:57:1
2 input 1 index.html:57:1
2 input 0 index.html:57:1
2 end 1482323411
Иными словами, когда исчезает первый таймер, то второй начинает обратный отсчет с 16 вместо 15, а потом перескакивает сразу на 14, а должно быть - 15 -> 14 -> 13 и т.д. Самое интересное, что проблема то исчезает, то появляется, как-будто это вызвано какими-то задержками при выполнении кода.

Заранее благодарю всех отписавшихся.

upd: лол, сейчас архив с кодом скину

 

Razip
()

JavaScript. onkeydown, oninput

Форум — Web-development

Привет ЛОР.

var game = new Game();

var eventAllowed = true;

inputField.onkeydown = function (event) {
    if (event.keyCode === 8) { // 8 значит BackSpace, если кто не в курсе
        game.deleteChar(inputField.value.length - 1);

        eventAllowed = false;
    }
};

inputField.oninput = function () {
    eventAllowed && game.addChar(inputField.value.substr(-1));

    eventAllowed = true;
};

Суть моей проблемы в том, что при _удерживании_ BackSpace не генерируется событие oninput, а значит и eventAllowed некому поставить в положение true.

На данный момент есть костыль:

inputField.onkeyup = function () {
    eventAllowed = true;
};

Есть ли возможность из onkeydown вообще не ставить eventAllowed в false когда идет удерживание? Спасибо.

 

Razip
()

Помогите найти игру

Форум — Games

Привет ЛОР.

Игра про мафию, графика примерно на уровне 90х, 2D и/или изометрия. В игре можно красть людей, выслеживать что-то (?). Передвигается персонаж по карте либо пешком, либо на машине если не ошибаюсь. Можно нанимать бандитов. Бой пошаговый.

Я понимаю что информации мало, но может у кого-то будут какие-нибудь предположения. Спасибо.

 ,

Razip
()

Выборка. SQL

Форум — Web-development
SELECT `user`.`name`, `text_record`.`date`, MAX(`text_record`.`value`) AS `record` FROM `text_record` JOIN `user` ON `user`.`id` = `text_record`.`user_id` WHERE `text_record`.`user_id` = 1 AND `text_record`.`text_id` = 12 LIMIT 10
+-------+------+----------------------------+
| name  | date | MAX(`text_record`.`value`) |
+-------+------+----------------------------+
| Razip | NULL |                       NULL |
+-------+------+----------------------------+

Как изменить запрос таким образом, чтобы если нужной записи в таблице text_record не существует, то не делался JOIN вообще? Спасибо.

 ,

Razip
()

Установка Skype на Gentoo

Форум — General

Привет. Сталкиваюсь с этим https://bpaste.net/show/9e4e7098e32d Как можно решить проблему?

P.S. дабы не создавать лишнюю тему спрошу тут: как сохранить уровень громкости чтобы он не сбивался при перезагрузке? Когда я ставил ALSA, там в одном WARNING'е была написана команда добавления какого-то сервиса (rc-update add <service> default), а вот какого - не помню.

И вообще есть ли возможность через emerge глянуть эти WARNING для всех пакетов?

 ,

Razip
()

systemd, Gentoo и куча ошибок

Форум — General

Приветствую.

systemd при загрузке переходит в режим восстановления (или что-то подобное) и предлагает почитать журнал. Лог этого журнала лежит тут.

Красным цветом выделены следующие строки (тут не все):

май 03 21:28:11 localhost kernel: EXT3-fs (sdb3): error: couldn't mount because of unsupported optional features (240)
май 03 21:28:11 localhost kernel: EXT2-fs (sdb3): error: couldn't mount because of unsupported optional features (240)
май 03 21:28:11 localhost systemd[1]: Failed to insert module 'autofs4'
май 03 21:28:11 localhost systemd[1]: Failed to insert module 'ipv6'
май 03 21:28:11 localhost systemd[1]: Failed to open /dev/autofs: No such file or directory
май 03 21:28:11 localhost systemd[1]: Failed to initialize automounter: No such file or directory
май 03 21:28:11 localhost systemd[1]: Failed to set up automount Arbitrary Executable File Formats File System Automount Point.

В чем может быть проблема? Спасибо.

 ,

Razip
()

Не могу записать звук с микрофона

Форум — General

Приветствую. Собственно сабж. PulseAudio. «Куда копать»?

 

Razip
()

Не запускается Cinnamon

Форум — Desktop

Приветствую. При загрузке запускаю lightdm, ввожу логин и пароль, и вижу ошибку:

Failed to load session "cinnamon"
Есть идеи как решить проблему? Спасибо.

 ,

Razip
()

X не стартует

Форум — Desktop

https://bpaste.net/show/cf5c7a04016f

В чем может быть дело? Спасибо.

 ,

Razip
()

Gentoo не отображается в Grub2

Форум — Linux-install

Приветствую. При загрузке компьютера Grub2 выводит консоль и нет возможности загрузится в систему. Загрузчик настраивал следующим образом по HandBook:

grub2-install /dev/sdb
grub2-mkconfig -o /boot/grub/grub.cfg

Конфигурация grub.cfg - https://bpaste.net/show/5413013b81f1.

В чем может быть проблема?

 ,

Razip
()

Поделитесь сохранением This War of Mine

Форум — Games

Приветствую.

У меня есть проблема - черный экран при запуске. При сворачивании/разворачивании игры видно что в ней происходит.

Моя последняя надежда - попробовать оконный режим, который, зараза, ставиться только через настройки. =( А их файл закодирован.

Если кто-нибудь поделится со мной сохранением с оконным режимом, то буду очень признателен! (=

 

Razip
()

MVC. M

Форум — Web-development

Приветствую. Эта статья - http://habrahabr.ru/post/175465/ навела на мысль о том, что нужно задуматься: «все ли по фэн-шую у меня»? И в то же время не привела в пример ни одной реализации «правильной модели» (или я ее слепой не заметил).

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

Так вот, размышляя на эту тему мне в голову приходит следующее (возможно велосипед, поделитесь ссылкой если уже реализовано): существует некий PHP-интерфейс Resource, который содержит методы получения, удаления, изменения данных; существует класс MySQLResource, который реализует интерфейс Resource; и существует класс модели User, расширяющий класс MySQLResource и использующий интерфейс Resource для сохранения данных и их получения.

В описании я опустил валидацию поскольку еще не решил как она может быть использована в моделях. Есть вариант вынести стандартный набор методов валидации в некий класс, допустим Validation, и чтобы его расширяла модель и использовала его методы. Т.е. фактически мне необходимо наследование двух классов для реализации этой идеи. Я что-то слышал о trait, надо почитать. (=

Идем дальше. Каким образом передавать нужные данные для использования ресурса? Я предлагаю через конструктор. Т.е. конструктора у модели не будет и он наследуется у ресурса. Возможно не самое лучшее решение, но зато явное.

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

P.S. В моем приложении, например, контроллеры принимают зависимости через конструктор и создаются вручную без использования автозагрузчика в точке входа — файле index.php. Контроллер может потребовать модель в качестве зависимости и я могу передать ее. Т.к. модель будет создавать в корневом файле, где есть прямой доступ к настройкам, то проблемы их передачи в ресурс я не вижу.

Спасибо за внимание.

P.S.S. все выше изложенное мое субъективное мнение и взгляд на этот вопрос основанный на личном опыте работы с фреймворками и т.д.

 ,

Razip
()

Языковой обмен через Интернет

Форум — Talks

Приветствую. Хочу спросить о сабже. Был у кого-нибудь опыт подобного? Где искали иностранцев? Был ли толк от этого?

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

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

Из проектов по обмену мне больше всего понравился SharedTalk, но там 2.5 человек онлайн изучающих русский.

 

Razip
()

ООП true way

Форум — Web-development

Приветствую. Существует некая веб-страничка. Она получает данные с сервера через AJAX/WebSocket (способ не важен) в виде JSON-строки следующего вида.

Для авторизованных пользователей:

[{"id": 1, "name": "Худ. литература", "typed": 123040, "averageSpeed": 43420}]

Для неавторизованных:

[{"id": 1, "name": "Худ. литература"}]

Теперь к вопросу. Меня перестал устраивать просто расшифрованный JSON-массив с объектами (понадобилось создать интерфейсы к этим данным) и захотелось вынести эти данные в отдельный тип Category.

Я столкнулся с проблемой: как быть с полями для авторизованных пользователей? Ведь их не должно быть у неавторизованных.

Накидал пару решений:

1) сделать конструктор которому необязательно передавать эти два поля (для гостей).

2) сделать разные сущности вроде UserCategory (который содержит эти поля) и AnonymousCategory (который не содержит).

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

Какой способ лучше на ваше мнение? Может вы можете предложить что-то другое? Буду рад выслушать, спасибо! (=

 ,

Razip
()

Анти-чит для проекта

Форум — Web-development

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

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

Все бы хорошо, но данные (скорость и процент ошибок), присланные с клиента, могут быть не настоящими. Как быть?

Была идея рассчитывать эти данные на сервере, отправляя каждый введенный символ (или слово). Но как учитывать время ответа сервера? Спасибо.

 

Razip
()

Не могу в два JOIN'а

Форум — Web-development
SELECT * FROM `category` 

JOIN `category_typed` ON `category`.`id` = `category_typed`.`category_id` WHERE `category_typed`.`user_id` = 1
JOIN `category_average_speed` ON `category`.`id` = `category_average_speed`.`category_id` WHERE `category_average_speed`.`user_id` = 1

Сабж. MySQL ругается:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOIN `category_average_speed` ON `category`.`id` = `category_average_speed`.`cat' at line 4
Суть: надо объединить записи трех таблиц по первичному ключу category и в то же время фильтровать category_typed и category_average_speed по user_id.

 

Razip
()

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