static init() // - make static method
async function bootstrap() { // change main.ts
if (!ConfigService.init()) {
console.error('Invalid config');
return;
}
const app = await NestFactory.create(AppModule);
// тут как-то нужно запустить метод init из сервиса config модуля.
await app.listen(3000);
}
git clone https://github.com/chrisjbillington/git-nautilus-icons.git
cd git-nautilus-icons
sudo apt-get install python3-gi python3-nautilus python3-pip
pip3 install --user git-nautilus-icons
nautilus -q
const { PDFDocument, StandardFonts, PDFFont, degrees, rgb, PDFNumber, PDFPage } = require('pdf-lib');
const fs = require("fs");
const rbgWrapper = (red, green, blue) => rgb(red / (255 / 100) / 100, green / (255 / 100) / 100, blue / (255 / 100) / 100);
// CONSTANTS
const STAMP_COLOR = [85, 0, 171];
// Method for create PDF with stamp
const createStampDoc = async () => {
const newPDF = await PDFDocument.create();
const width = 250;
// Embed the Helvetica font
const TimesRoman = await newPDF.embedFont(StandardFonts.TimesRoman)
// Creating page for stamp
const page = newPDF.addPage([width, 100]);
const drawStamp = (page, x, y) => {
let curY = y;
curY += 10;
page.moveTo(x, curY);
page.drawText("TEXT ONE", {
font: TimesRoman,
size: 10,
color: rbgWrapper(...STAMP_COLOR)
});
curY += 10;
page.moveTo(x, curY);
page.drawText("TEXT TWO", {
font: TimesRoman,
size: 10,
color: rbgWrapper(...STAMP_COLOR)
});
// Border of stamp
const height = curY - y + 10;
page.drawRectangle({
x: x,
y: y,
width: width,
height: height,
borderColor: rbgWrapper(...STAMP_COLOR),
borderWidth: 1,
opacity: 0.3,
color: rbgWrapper(255, 255, 255)
});
page.setHeight(height);
return { width, height };
};
drawStamp(page, 0, 0);
return newPDF;
};
async function main() {
// Creating new main PDF file
const mainPDF = await PDFDocument.create();
mainPDF.addPage([350, 400]);
mainPDF.addPage([350, 400]);
const stampPDF = await createStampDoc();
const [copiedStampPage] = await mainPDF.copyPages(stampPDF, [0]);
const embeddedPage = await mainPDF.embedPage(copiedStampPage);
// In each page embedding stamp page
const pages = mainPDF.getPages();
for (const page of pages) {
await page.drawPage(embeddedPage, { x: 100, y: 100, rotate: degrees(20), opacity: 1 });
}
const binaryFileWithStamp = await mainPDF.save();
fs.writeFileSync("stamp.pdf", Buffer.from(binaryFileWithStamp));
}
main();
В Node.js сервисы обычно запускают в Docker, я слышал что в Java для этого используют Tomcat, в чем разница между ними? (или это вообще разные вещи?)
В Node.js для запуска сервера обычно используют express.js, а что для этого используется в Java? (Servlet, Spring или что-то еще?)
Допустим я сделал сервер на Servlet, как запускать это в docker контейнере?
Если я запущу 10 Java сервисов в отдельных Docker контейнерах, в каждом из них будет отдельный экземпляр JRE\JDK?
Преимущество Java мискросервисов перед Node.js? (или наоборот)
Сайт «Доки» работает на базе Eleventy. При помощи Nunjucks-темплейтов Eleventy превращает статьи в формате Markdown в HTML-страницы.
Проект собирается с помощью GitHub Actions и хостится на сервере, читайте подробнее про деплой
username.github.io
, где username – точное имя вашего аккаунта или организации, в которой это репоindex.html
main
https://username.github.io
const content = `&1===e.nodeType)if(r="data-"+t.replace(K,"-$$&").toLow`;
WITH d AS (
SELECT
*,
row_number() over (partition by key order by created desc) rn
FROM move_history
) SELECT *
FROM d
WHERE status = 'COMPLETED'
AND rn = 1
ORDER BY id;