View on GitHub

docs

Docs

logo.apidsl.com

Documentation - docs.apidsl.com

About

One of the benefit of modularization is to have a modular architecture with independent modules from a programming language, so we present here an example langauge the APIDSL, which bring together different languages on shell level

I did last time some wrapper for bash, python, … with such format: load(“domains.txt”)

load("domains.txt")
.split("/n")
.http()
.xpath("title")
.appendToFile("titles.txt")

I am using it to build multiplatform scripts, where the same sentence will be executed on PHP, Python, JS, …

The Inspiration was coming from such projects:

Czym jest APIDSL

apidsllayers

APIDSL to zwykły skrypt o niezwykłych możliwościach

APIDSL tworzy abstrakcyjną warstwę w multi-języklowych projektach do celów łatwiejszego re-użycia kodu bibliotek i projektów. APIDSL mapuje i uruchamia funkcje i skrypty z róznych języków programowania. Mapowanie pozwala na kierowanie strumienia danych neizaleznie od języka programowania do endpoint-u. Mapowanie skyrptów łączących się z API usług SaaS pozwala na łatwą integrację usług i tworzenie nowych. Deklaratywny zapis opisuje działanie połączonych ze sobą bibliotek i api, co pozwala na deployment i testowanie całej infrastruktury.

Ten sam zapis APIDSL pozwala w zależnośći od załadowanych zależnosć uruchomić jak i przetestować infratsrukturę.

Taki użycie kodu nie ogranicza nas do stosowania jednej technologii czy środowiska, a pozwala na łączenie najlepszych rozwiązań z różnych języków, bibliotek, frameworków, projektów opensorce czy API.

I did last time some wrapper for bash, python, … with such format: load(“domains.txt”)

I am using it to build multiplatform scripts, where the same sentence will be executed on PHP, Python, JS, …

[Programowanie imperatywne oraz deklaratywne Codenga](https://codenga.pl/artykuly/poradniki/programowanie-imperatywne-oraz-deklaratywne)

Programowanie imperatywne oraz deklaratywne

https://pl.wikipedia.org/wiki/Imperatyw Imperatyw (łac. imperativus – rozkazujący) – nakaz, reguła, zasada, która nie podlega dyskusji i którą można bezpośrednio wywieść z założeń teoretycznych.

Paradygmat imperatywny można opisać tak: “mówimy jak komputer ma wykonać daną rzecz”. Czyli skupiamy się na poszczególnych krokach, które prowadzą do rozwiązania problemu.

Możesz sobie wyobrazić program napisany imperatywnie jako ciąg instrukcji.

Paradygmat deklaratywny można opisać tak: “mówimy komputerowi co ma dla nas zrobić”. Ważny jest dla nas wynik jaki uzyskamy - nie wnikamy w jaki sposób komputer ten wynik. osiągnie.

Taki styl programowania pozwala skupić się więc na celu. Na tym, co chcemy osiągnąć. Mniej ważne są tutaj kroki, które do tego celu prowadzą.

The Inspiration was coming from such projects:

Supported technologies

Languages:

Environment

Data formats

About

W jaki sposób opisuje Pan procesy i jak modeluje Pan zmiany, jak testuje Pan jeszcze przed wdrożeniem skutki tych zmian?

Brzmi ciekawe, jednak, w mojej ocenie to kultura pracy i niewiedza, stoi na przeszkodzie zmianom, również tym na lepsze. Często nie wchodzi się w merytoryczną dyskusję uzasadniając to brakiem czasu czy kompetencjami, a hierarchia skutecznie blokuje zmiany od wewnątrz. Odpowiedzialność za wykonanie procesu, a rozumienie zasady działania i świadomość wdrożenia zmiany to odległe planety.

słuszne uwagi, warto korzystać z luksusu zarządzania popartego wiedzą i kontrolę organizacji zautomatyzować na poziomie języka domenowego, tak zmieniamy IT w Softreck gdzie piszemy i książki i programy komputerowe.

Co do samej kultury organizacyjnej to jest ona również zależna od oprogramowania a może i nawet determinowana tym jakich partnerów i dostawców wybieramy.

Warto przemyśleć w dobie technokracji czy nie delegujemy ryzyka utraty biznesu poprzez outsourcing?

Nie jedna marka została pogrążona przez wyciek danych, jaki system operacyjny używała? Czy to przypadek, że to często usługa microsoft? Wiedza o oprogramowaniu i umiejętność wykorzystania go również zweryfikowała przydatność managerów podczas tzw. pandemii, lockdown-u i pracy zdalnej.

Kluczowe okazało się oprogramowanie.

I’m grateful for such positive feedback! #book #iac #infrastructure #apidsl

I am excited to announce the launch of my new project!

#apidsl #newproject #DSL Domain-specific language

ponieważ sam utrzymuję ponad 700 domen internetowych, a pod nimi kilkaset małych stronek, poszukiwałem rrozwiazania do automatyzacji deploymentu i monitoringu. rezultatem jest jezyk DSL, który pozwala na opisanie sieci połączeń pomiędzy usługami a tym samym przeprowadzenie wdrożenia i monitorowania usług.

Co więcej samo pisanie tej mapy powiązań można zautomatyzować, tzn, jeśli planujemy migrację to robimy mapę - zapis w języku DSL, aby w momencie uruchomienia ponownie sprawdzić na podstawie tej mapy czy infratstruktura działa to jest opis wysokopiozmowy, niezlaęzny od jezyka programowania, dlatego dopiero badam granice użycia nie wiem czy ta oferta jest trafiona, czy jest zapotrzebowanie, dlatego piszę o tym co to robi, bo zastosowań może być więcej. Samo APIDSL działa na linuxie w shellu, jest to wrapper/adapter na biblioteki, usługi w środowisku uruchomionym na systemie linux

aktualnie testowane zastosowanie: robienie zrzutów ekranów wielu stron jednocześnie, czy sparwdzanie statusów, także boty logujące się na stronach i wykonujące jakieś czynności

Celem jest automatyzacja pracy administratora infrastruktury, ale w sposób niezależny od platformy i języka programowania

mamy dostęp do wszystkiego co jest kodem, uruchamiamy to i używamy

nie jesteśmy zależni od tech-stack-a

jest to też owocem metodologii hipermodularyzacji

https://www.hipermodularyzacja.pl/

TODO: przenieść do examples przykładowo aby zrobić zrzuty ekranu setek stron wystarczy lista plików w pliku tekstowym oraz 4 komendy w jednej linii

get

get dependencies from file

apidsl --get "apidsl.txt"

let

let define variable

example

put

put variable to the data stream

apidsl 'put("invoice","company","year")'
apidsl -l 'put("invoice","company","year")'

run

run file script

run as option param

apidsl --run "test.apidsl"

run as command

apidsl 'run("test.apidsl")'

with logs

apidsl -l 'run("test.apidsl")'

get

apidsl --init

LOGS

LOGS

print logs for latest run

apidsl -l

get

get library from url

get

get library from url

apidsl --version