Wątek przeniesiony 2023-01-31 14:54 z Inżynieria oprogramowania przez Riddle.

Słownik i encyklopedia terminów z pracy

0

Cześć
Chciałbym napisać prostą aplikację/program który w założeniu miałby być encyklopedią/słownikiem dla branżowych/technicznych zwrotów używanych w mojej firmie.
Np. w polu wyszukiwania wpisuje zwrot "PZK" i program znajduje mi rozwinięcie tego skrótu ( w tym wypadku to ":Planzeitenkatalog / Plan time catalog") i np. jeszcze krótki opis/dodatkowe informacje.

I miałbym pytanie - Jaki język programowania/środowisko byłoby najlepsze do ogarnięcia tego?
Zaznaczam, że w programowaniu jestem dosyć początkujący. Do tej pory programowałem jedynie mikrokontroler Arduino (uproszczony język C)
W założeniu to miałby być prosty programik.
Pozdrawiam

4

W jednej firmie mieliśmy po prostu wiki.
Tam był artykuł abbreviations, gdzie można było poznać znaczenie skrótów używanych w firmie.

Możesz u siebie postawić odpowiedni skrypt, czy zarejestrować się w odpowiedniej usłudze i nie musisz kodzić własnego narzędzia.

Dużo masz tych skrótów?
Jeśli można je umieścić na jednej stronie, to możesz zrobić spis treści w htm, żeby skróty były odseparowane od wyjaśnień skrótów.
Ludzie mogą szukać haseł mechanizmem szukania na stronie w przeglądarce internetowej.

4
Spine napisał(a):

W jednej firmie mieliśmy po prostu wiki.

Wiki rządzi - a jak nie masz dużo czasu, a chcesz mieć w miarę łatwo ogarnięte, to po prostu załóżcie repozytorium i piszcie w nim używając markdowna.

1

Chyba wiki to najrozsądniejsze rozwiązanie. Jeśli jednak pytasz, bo chcesz się nauczyć programować i traktujesz to jako okazję, żeby się nauczyć, to podejrzewam, że Python + Flask to najprostsza opcja. Z czasem pewnie potrzebowałbyś jakiejś bazy danych i tu warto pomyśleć czy iść w SQL czy noSQL, choć na początku spokojnie możesz to zrobić na plikach. Jeśli nie chcesz edycji WYSIWYG, możesz w ogóle robić statyczne strony generowane z czegoś na kształt markdowna, wtedy nie potrzebujesz Flaska.

2
VAPOR napisał(a):

I miałbym pytanie - Jaki język programowania/środowisko byłoby najlepsze do ogarnięcia tego?

Popularną (i 99% słuszną) odpowiedzią jest "ten który znasz najlepiej"

Rzecz w tym, ze jesli znasz to C++ (dialekt arduino to C++ a nie C) tak jak to zna większość "was", to sorry ...
BTW ekosystem Arduino, wbrew propagandzie apostołów, to KIEPSKA platforma nauki ogólnego programowania

Zaznaczam, że w programowaniu jestem dosyć początkujący. Do tej pory programowałem jedynie mikrokontroler Arduino (uproszczony język C)
W założeniu to miałby być prosty programik.

Na pewno na pierwszy rzut, jeśli to musisz ZAPROGRAMOWAĆ, ogranicz się do struktury danych (w przybliżeniu okreslmy to jak "baza danych", choć ja tu używam w szerokim sensie). tego typu zbiór nie powstaje w jednej chwili, tylko w czasie, trzeba mieć przemyślane, wykonane i WYTESTOWANE uzupełnianie te bazy wiedzy bez awarii i start.
"Baza" danych czy wiedzy, mniejsza o słowa, i program do uzupełniania konsolowy.
Gdybyś był aktywnym jakosciowym programistą C++, jedna z możliwych implementacji.
Ale tak, to Python.

Wariant BEZ KODOWANIA, np opensursowy projekt klasy Wiki, to dobra propozycja.
Mam miłe wrażenia z DokuWiki (to PHP)

Zależy, czy jesteś nastawiony na efekt, czy na naukę programowania

1

Po pierwsze - popieram przedmówców, napisz w tym, co znasz. Aczkolwiek - w przypadku C/C++ (jakakolwiek by nie była jego znajomość w oparciu o jedyne doświadczenia z Arduino) pozostaje kwestia interface: raczej nie chcesz tego robić w wersji konsolowej, tylko jakoś wizualnie. Więc tak czy siak - musisz się i tak czegoś nauczyć.

Pytanie - czy chcesz to zrobić hobbystycznie/napisanie apki ma dać Ci satysfakcję, czy potrzebujesz po prostu narzędzia, które ogarnie temat? Bo jeśli chodzi o to, żeby mieć działający mechanizm, to są gotowe rozwiązania - chociażby wspomniane Wiki. Także raczej bym sugerował poszukać czegoś gotowego/działającego.

Jeśli natomiast chcesz sam to pisać (bo robisz to dla sportu, a nie z konieczności) to masz parę tematów do rozważenia/innych moich przemyśleń:

  1. jak ma wyglądać interface? Wersja okienkowa/desktopowa czy może przez przeglądarkę?
  2. jeśli wersja webowa - gdzie postawisz serwer? Lokalnie na którymś z kompów, czy może jakiś hosting?
  3. w przypadku wersji webowej - musisz stworzyć "stronę" na której ludzie będą pracować. Czyli musisz chociaż trochę otrzeć się o takie hasła jak HTML, JavaScript (w sumie to dałoby się bez tego, ale będzie bardzo biednie) i CSS.
  4. jeśli hosting - trzeba to jakoś zabezpieczyć, żeby radzieccy hackerzy tego nie zniszczyli w parę dni ;)
  5. jeśli serwer lokalnie - musisz go postawić i skonfigurować
  6. jeśli wersja desktopowa - ma to być tylko na jednym kompie, czy wszyscy w firmie mają mieć możliwość pracy (tzw. wielodostęp)?
  7. wybierając wersję desktopową - jeśli robisz to dla sportu, to proponuję jakieś środowisko RAD (takie, gdzie okienka sobie wyklikujesz) - coś w stylu Delphi albo darmowej alternatywy czyli Lazarusa
  8. można też pójść (skoro twierdzisz, że znasz C/C++) w Rad Studio/C++ Builder - ale daaaawno nie miałem z tym styczności i nie wiem, jak to wygląda, zarówno od strony technicznej, jak i licencyjnej (@katakrowa - możesz wspomóc?)
  9. jeśli wersja desktopowa ma mieć wielodostęp to znowu zahaczamy o kwestię serwera, gdzie będzie baza trzymana. Ewentualnie, jeśli nie będzie to mega mocno obciążone, to jakiś dysk sieciowy z bazą SQLite powinien dać radę, ale taka trochę prowizorka (a one, jak wiadomo, są nieśmiertelne :D )

Także, jak widzisz, nawet taka prosta aplikacja/program, coś co z punktu widzenia użytkownika sprawia wrażenie trywialnego, to wcale nie jest taka prosta sprawa. OK, napisać cokolwiek, co na ogól będzie działać można. Ale żeby to zrobić sensownie, projekt miał ręce i nogi, a do tego np. nie było ryzyka, że nagle dane znikną bo ktoś przypadkowo nadpisze bazę albo ją skasuje (czy pojawi się problem podczas jednoczesnego korzystania przez paru użytkowników) to już trudniejsza rzecz.

1

Mam takie rozwiązanie, że generuję HTML/JS na podstawie pliku CSV (Pythonem) i to mi daje właśnie wyszukiwanie na liście i "tłumaczenie", a wzorowałem się na w ogóle słowniku generowanym automatycznie na podstawie danych z Google Sheets: https://github.com/PaddiM8/Sheet2Dictionary

Ale, że dane do właściwego słownika są jako JSON, to w zasadzie można by w ogóle pominąć to generowanie i używać tylko JavaScriptu.

0
VAPOR napisał(a):

Cześć
Chciałbym napisać prostą aplikację/program który w założeniu miałby być encyklopedią/słownikiem dla branżowych/technicznych zwrotów używanych w mojej firmie.
Np. w polu wyszukiwania wpisuje zwrot "PZK" i program znajduje mi rozwinięcie tego skrótu ( w tym wypadku to ":Planzeitenkatalog / Plan time catalog") i np. jeszcze krótki opis/dodatkowe informacje.

I miałbym pytanie - Jaki język programowania/środowisko byłoby najlepsze do ogarnięcia tego?

Żadne konkretne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1