Страницы

Поиск по вопросам

среда, 27 февраля 2019 г.

Компиляция скрипта на Java SE7 в Sublime Text 2

Как скомпилировать скрипт на Java SE7 в Sublime Text 2?
Как там настроить компилятор под Java?


Ответ

Я все таки рекомендую использовать eclipse/idea/emacs/vim. Но если сильно-сильно хочется... В принципе ничего не нужно настраивать - все уже есть. После того, как откроете свой жава файл, просто зайдите в меню Tools-> Build System и убедитесь, что там выбрано JavaC. Если нет - выбирайте. Все, теперь можно жать Ctrl+B и саблим запустит javac для компиляции. Установить жаву конечно же нужно. И настроить, что бы она была в путях. На моем ноуте под Fedora все завелось сразу.

Клонирование лицензионной Windows 7 Starter

Имею 10 идентичных машин с предустановленной лицензионной Windows 7 Starter. При первом запуске машины, получаю уже активированный Windows, т.е. лиц. ключ не надо вводить. Образ системы уже активированный лежит на жестком диске машины. Задача, установить и настроить софт на одной машине, затем клонировать образ системы на другие 9 машин. Вопрос, как произвести переактивацию Windows или сменить ключ в системе на склонированных машинах?


Ответ

Вопрос решился. Чтобы удалить ключ из системы надо запустить командную строку(cmd.exe) от имени администратора и в ней пишите: slmgr.vbs /upk Эта команда удалит ключ из системы. Затем можно перезагрузить систему и пройти процедуру ввода ключа и активации. Но можно еще написать: slmgr.vbs /ipk [ваш лицензионный ключ] ` Эта команда добавит ключ в систему, после перезагрузки, нужно будет только активировать систему ` символы "[" и "]" писать необязательно ps: вопрос можно закрывать

Как сделать скриншот главной страницы сайта?

Как сделать скриншот главной страницы сайта не используя никакие сторонние сервисы?


Ответ

запустить виртуальную машину с нужной ОС и браузером, выполнить скрипт, который зайдёт на нужный сайт и сделает скриншот — так работают сервисы по оскриншочиванию во всех моделях браузеров, включая вымершие версии; Adobe Air простое приложение, в нём банально компонент браузера, и снятие копии его же экрана в файл.

Использовать ли “use strict”? [дубликат]

На данный вопрос уже ответили: Что значит “use strict”? 2 ответа Доброго времени суток. Есть ли сейчас смысл использовать выражение "use strict" и какие вкусности он дает?


Ответ

"use strict" допустим помогает избежать случайного пропуска new или var, или в таких случаях var func = function(){ this.value = 'value'; var a = function(){ console.log(this.value); } a(); } new func(); "проблем" с this, но почему-то у меня получается избежать этого самостоятельно, возможно потому что изначально поставил за правило использовать new, var, точки с запятой и не использовать eval и with

Структура таблицы в БД (денормализация)

В рамках базы данных (в данном случае - PostgreSQL, но это не суть) есть несколько небольших таблиц, которые содержат практически неизменяемые, но очень часто используемые данные: группы страниц (pagegroups), страницы (pages), шаблоны (templates), позиции на страницах (positions), модули (modules), группы пользователей (usergroups). В каждой из таблиц есть поля ID, название, алиас и порядок показа. Между данными есть связи: группы пользователей имеют разные права доступа, модули могут встречаются на разных позициях разных страниц, каждой странице может быть задан свой шаблон, шаблон состоит из позиций (header, sidebar_left, canvas, sidebar_right, footer), которые могут отображаться или нет и т.п. (список связей должет остаться открытым) Хочу свести все данные в одну таблицу, где представить данные в виде "ключ/значение". Сломал всю голову. Пример базы (PostgreSQL): CREATE TABLE core ( id serial primary key, level int, group int, parent int references core, key text, value text ); Фрагмент данных: INSERT INTO core (id, level, group, parent, key, value) VALUES (1, 0, 1, 0, 'type', 'coreelements'), (2, 0, 1, 0, 'name', 'Компоненты системы'), (3, 1, 2, 1, 'type', 'page'), (4, 1, 2, 1, 'name', 'Страницы'), (5, 1, 2, 1, 'order', ''), (6, 1, 3, 1, 'type', 'template'), (7, 1, 3, 1, 'name', 'Шаблоны'), (8, 1, 3, 1, 'order', ''), (9, 1, 4, 1, 'type', 'position'), (10, 1, 4, 1, 'name', 'Позиции'), (11, 1, 4, 1, 'order', '18,19,20,21,22'), (12, 1, 5, 1, 'type', 'module'), (13, 1, 5, 1, 'name', 'Модули'), (14, 1, 5, 1, 'order', ''), (15, 2, 18, 4, 'name', 'Шапка'), (16, 2, 18, 4, 'alias', 'header'), (17, 2, 19, 4, 'name', 'Рабочая зона'), (18, 2, 19, 4, 'alias', 'canvas'), (19, 2, 20, 4, 'name', 'Левый сайдбар'), (20, 2, 20, 4, 'alias', 'sidebar_left'), (21, 2, 21, 4, 'name', 'Правый сайдбар'), (22, 2, 21, 4, 'alias', 'sidebar_right'), (23, 2, 22, 4, 'name', 'Подвал'), (24, 2, 22, 4, 'alias', 'footer'); Помимо общего вопроса о структуре таблицы смущает меня вот что: В необходимости поля level не уверен, убрать? Поскольку родитель и зависимые записи имеют по несколько пар "ключ/значение", как организовать связь? по ID, по group или третьим способом? Иными словами, что должно быть в поле parent? Как связать, скажем, страницы, модули и шаблоны? Пример к последнему вопросу: Страница 'settings', в header имеет модуль 6, в canvas - модули 1, 3 и 2, в остальных - ничего. Вполне допускаю, что после того, как такая таблица получится, вернусь к первоначальному - нормализованному - варианту. Но поскольку есть возможность попробовать разные варианты - хочу попробовать и этот тоже.


Ответ

Нафиг такую структуру. Разным сущностям - разные таблицы! Что за извращенное стремление впихнуть все в одно? Даже если сейчас Вы чудом это все слепите так, чтобы работало, в будущем будут большие проблемы с масштабированием и изменением каждой сущности.

Работа с кассовым апаратом

Требуется написать программу для работы с кассовыми аппаратами (хотя бы печать чека). Подскажите в какую сторону копать. Есть ли программные эмуляторы кассовых аппаратов для отладки такого рода программ?


Ответ

Для каждого торгового оборудования у разных производителей свои драйвера. Самые распространенные регистраторы - Штрих-М. Идем на сайт, находим свой регистратор, качаем драйвера. Есть еще АТОЛ, тоже популярны довольно. Доступ к драйверу идет через COM, в комплекте с драйверами есть примеры для 1C, delphi и билдера.
По поводу эмуляторов, то скорее всего нет. В любом случае проверять надо на реальном аппарате, т.к. в самом регистраторе существуют настройки - кассиры, отделы, виды оплаты, строки для печати в начале и в конце чека... Обычно тестируют на нефискализованном аппарате (стоимость штрихов, например, от 14к рублей), затем фискализуют его просто.
UPD Пару лет назад сделал класс для Delphi для работы с разными ККМ. uKKMClass.pas. Там же реализация для регистратора Феликс-РК. Печать чека, снятие отчетов и т.д.

Php socket write => java socket write

В пхп эта строка выглядит так: fwrite($socket, "\xFE\x01"); Нужно выполнить это же действие на Java. Не знаю, что передать вместо something методу writeBytes(something). p. s. есть writeChars(string), writeChar(char), если нужно.


Ответ

String charsetName="UTF8"; // или какая там кодировка на выходе вам нужна OutputStream ous=socket.getOutputStream();
byte[] bytes = string.getBytes(charsetName); ous.write(bytes); Если вам много строк передавать, то Writer ouw = new BufferedWriter(new OutputStreamWriter(ous, charsetName)); ouw.write(string, 0, string.length()); но только не совмещайте эти 2 способа записи - если вы передали OutputStream ous в конструктор OutputStreamWriter, то не пользуйтесь ous напрямую.