From 92e259f2efc99f5ec71b909e0272e1cda4a1278f Mon Sep 17 00:00:00 2001 From: Riccardo Date: Mon, 1 May 2023 21:59:24 +0200 Subject: [PATCH 1/2] Add java directory with observable pattern code --- Dart/primalityTest.dart | 4 +- Java/.devcontainer/devcontainer.json | 27 +++++++ Java/observable/pom.xml | 75 ++++++++++++++++++ .../src/main/java/com/test/App.java | 14 ++++ .../src/main/java/com/test/DataSender.java | 17 ++++ .../src/main/java/com/test/Message.java | 34 ++++++++ .../src/main/java/com/test/Observer.java | 5 ++ .../src/main/java/com/test/Subject.java | 9 +++ .../src/test/java/com/test/AppTest.java | 20 +++++ .../target/classes/com/test/App.class | Bin 0 -> 676 bytes .../target/classes/com/test/DataSender.class | Bin 0 -> 743 bytes .../target/classes/com/test/Message.class | Bin 0 -> 1319 bytes .../target/classes/com/test/Observer.class | Bin 0 -> 147 bytes .../target/classes/com/test/Subject.class | Bin 0 -> 201 bytes .../test-classes/com/test/AppTest.class | Bin 0 -> 463 bytes Rust/src/main.rs | 52 ++++++++++++ python/reservation.py | 49 ++++++++++++ 17 files changed, 304 insertions(+), 2 deletions(-) create mode 100644 Java/.devcontainer/devcontainer.json create mode 100644 Java/observable/pom.xml create mode 100644 Java/observable/src/main/java/com/test/App.java create mode 100644 Java/observable/src/main/java/com/test/DataSender.java create mode 100644 Java/observable/src/main/java/com/test/Message.java create mode 100644 Java/observable/src/main/java/com/test/Observer.java create mode 100644 Java/observable/src/main/java/com/test/Subject.java create mode 100644 Java/observable/src/test/java/com/test/AppTest.java create mode 100644 Java/observable/target/classes/com/test/App.class create mode 100644 Java/observable/target/classes/com/test/DataSender.class create mode 100644 Java/observable/target/classes/com/test/Message.class create mode 100644 Java/observable/target/classes/com/test/Observer.class create mode 100644 Java/observable/target/classes/com/test/Subject.class create mode 100644 Java/observable/target/test-classes/com/test/AppTest.class create mode 100644 python/reservation.py diff --git a/Dart/primalityTest.dart b/Dart/primalityTest.dart index 047b550..3fd25cf 100644 --- a/Dart/primalityTest.dart +++ b/Dart/primalityTest.dart @@ -32,9 +32,9 @@ bool Prime(int x) { } void main() { - var rng = new Random(); + Random random = new Random(); for (int i = 0; i < 10; i++) { - int x = rng.nextInt(100); + int x = random.nextInt(100); print("$x ${Prime(x)}"); } Eratostene(100); diff --git a/Java/.devcontainer/devcontainer.json b/Java/.devcontainer/devcontainer.json new file mode 100644 index 0000000..6cdc7d7 --- /dev/null +++ b/Java/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/java +{ + "name": "Java", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/java:0-17", + + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "none", + "installMaven": "true", + "installGradle": "false" + } + } + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "java -version", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/Java/observable/pom.xml b/Java/observable/pom.xml new file mode 100644 index 0000000..4db73e2 --- /dev/null +++ b/Java/observable/pom.xml @@ -0,0 +1,75 @@ + + + + 4.0.0 + + com.test + observable + 1.0-SNAPSHOT + + observable + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + + + + + junit + junit + 4.11 + test + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/Java/observable/src/main/java/com/test/App.java b/Java/observable/src/main/java/com/test/App.java new file mode 100644 index 0000000..5808c6c --- /dev/null +++ b/Java/observable/src/main/java/com/test/App.java @@ -0,0 +1,14 @@ +package com.test; + +/** + * Hello world! + * + */ +public class App { + public static void main(String[] args) { + Message message = new Message(); + DataSender ds = new DataSender("reader 1"); + message.register(ds); + message.readMessage("pollo"); + } +} diff --git a/Java/observable/src/main/java/com/test/DataSender.java b/Java/observable/src/main/java/com/test/DataSender.java new file mode 100644 index 0000000..0a883e5 --- /dev/null +++ b/Java/observable/src/main/java/com/test/DataSender.java @@ -0,0 +1,17 @@ +package com.test; + +public class DataSender implements Observer { + + private final String name; + + DataSender(String readerName) { + name = readerName; + } + + @Override + public void update(String data) { + /* trigger update */ + System.out.println(String.format("Received message %s", data)); + } + +} diff --git a/Java/observable/src/main/java/com/test/Message.java b/Java/observable/src/main/java/com/test/Message.java new file mode 100644 index 0000000..d35d879 --- /dev/null +++ b/Java/observable/src/main/java/com/test/Message.java @@ -0,0 +1,34 @@ +package com.test; + +import java.util.ArrayList; +import java.util.List; + +public class Message implements Subject { + + private List observers = new ArrayList<>(); + + private String value = "value"; + + public void readMessage(String value) { + /* lettura messaggio */ + this.value = value; + notifyObservers(); + } + + @Override + public void register(Observer observer) { + observers.add(observer); + } + + @Override + public void unregister(Observer observer) { + observers.remove(observer); + } + + @Override + public void notifyObservers() { + for (Observer observer : observers) { + observer.update(this.value); + } + } +} diff --git a/Java/observable/src/main/java/com/test/Observer.java b/Java/observable/src/main/java/com/test/Observer.java new file mode 100644 index 0000000..6814df2 --- /dev/null +++ b/Java/observable/src/main/java/com/test/Observer.java @@ -0,0 +1,5 @@ +package com.test; + +public interface Observer { + public void update(String data); +} diff --git a/Java/observable/src/main/java/com/test/Subject.java b/Java/observable/src/main/java/com/test/Subject.java new file mode 100644 index 0000000..a67d6e0 --- /dev/null +++ b/Java/observable/src/main/java/com/test/Subject.java @@ -0,0 +1,9 @@ +package com.test; + +public interface Subject { + public void register(Observer observer); + + public void unregister(Observer observer); + + public void notifyObservers(); +} diff --git a/Java/observable/src/test/java/com/test/AppTest.java b/Java/observable/src/test/java/com/test/AppTest.java new file mode 100644 index 0000000..e678d6b --- /dev/null +++ b/Java/observable/src/test/java/com/test/AppTest.java @@ -0,0 +1,20 @@ +package com.test; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +} diff --git a/Java/observable/target/classes/com/test/App.class b/Java/observable/target/classes/com/test/App.class new file mode 100644 index 0000000000000000000000000000000000000000..048990a28ed6edb59fd221c3c4b9808dfbea44bb GIT binary patch literal 676 zcmZuuO;6iE5PcgG>=+kPhlG9r4gG+GRJAIORF$e$Jq0+ViiCRFBrA83V@GSl|KdWV zBJ~IKM^$~BL@@_0Gdnvo@4cD%`|tN304L}=C<*wZbQ0z&%fm0zse`gW?MmLrFqTOa zUJS3)C>L1&q!XQg7FcU{1_I@;=~#JKL)AwG>jGOnov8Ec$xxXeau_RtpqGwhJdj4) zc==h*f9XtMv-gnmlz0=V6M<&?XRqMy=SC;dX=mWzDMhVX&QzAki1am79c&BKSE+9@ zmwlCtm2uG&aE+3Dw?2BP7BsESQ&@y9mD zgtVah_o!XYDE1!p%b+pC&RO^U9bR;U{X4V@)Fz27f(s7;v3H2MM^wwwS|H&K-ZJ8a U@D7LM30QN4_FQ&{nG%lw1FhVO&j0`b literal 0 HcmV?d00001 diff --git a/Java/observable/target/classes/com/test/DataSender.class b/Java/observable/target/classes/com/test/DataSender.class new file mode 100644 index 0000000000000000000000000000000000000000..e15368fc0aa5178acac3e38f7b079e698c54627e GIT binary patch literal 743 zcmZuv+iuf95Iq~4xHfJ=)3k+BAf*&?0sO#Im8vgPeTrIyQ6$9E#u?JBV!K*zBJo)u zaS;-H03U@IyHS#gYBko*?97>Sj{N8E&))!E;e~^ezM=yVbfNWYVVaj__kniHN82( zg&yYNX_Bn$v|w7ETn?on7k9Dk;NCT@;it?{?BhOmm`ge_Ic6bDrNJ9kWmp@@xVwUf z?A}|7NKI+jh$+kDh#LEuhXx)y*u4&07~*3OPuP@?sg5NhAKYNdhb5n`jPJIVN;79Y zJVn#NGp29@IUg-}0?uX5cbu@xtXHxNVLH(fov7T#>cXIxIRf0Gi2 z3y&+e`F6s2Uh&%B;kP?qQT<%>tns(Pv*0P4=UhHD&Ni>Qv5q=tJckW_6?``5m_3w> suKE{j)gIWtV7<3G;SW6ehW!P)SM*dEsk($*pCi}No*{R5PYKWe0o2c+g8%>k literal 0 HcmV?d00001 diff --git a/Java/observable/target/classes/com/test/Message.class b/Java/observable/target/classes/com/test/Message.class new file mode 100644 index 0000000000000000000000000000000000000000..6cffcf0616a5ee7116d42d5798d61477e2fb5cac GIT binary patch literal 1319 zcmah|+fEZv6kVqUrkCN;Lb<6RD%uNDuXrh<2x3eMJk-?a+o3&{!P1iHOe3#;hCkr5 ziAbu6@!1dYGsJa}Dcla6aE zf$0gBGNWVI-5 zOW%EEm$PZH%y@^l-!k%w+DexFt3V=ontQ4kVah2Jm(a(QwYp=y-E9|6*pRI%WU6eE zOma78GG`I`g~;ma+d+)W*qjAuV@dCwmhPVZwN z{T=bw`xx3oA{`&u!{}!(cARG%T|9euh8Pz?g7P_POyV#a=W&5wfeB3d$SWQPAd=1y zDg6}}J7|5(3UcTsRu}^w(lGt$?IUSP^A&t9|>hgFGyrsm=54o2UXVy3^6Wo z4ADG7G?BrKhj{&;h_h!PjuCPEKZyJte2yQ;LRXj399y_4u=)ujGcDW|_=#Lz>qlF7 z6aaNk1U?@8)+Gd)qTS{RjIfPUY-XCLZu4PtGJYu|Y|ddR%e2K1IN(Hs1_>D4BMee_ JMneEAe*uwd{N?}v literal 0 HcmV?d00001 diff --git a/Java/observable/target/classes/com/test/Observer.class b/Java/observable/target/classes/com/test/Observer.class new file mode 100644 index 0000000000000000000000000000000000000000..c0d6f88911a566bfb6e6e4099a138d4a135e9344 GIT binary patch literal 147 zcmX^0Z`VEs1_omWPId++Mh3y;{9OH#)Z!9-|D@v7qO#N?b_Nzk27#=^vPAuy#JqH% zcvfn12_pkrX+cV2Nh%|QsD=+hHn^lHGcVm*GmMdeD>%QjC^^+FGY6=M7iOFuNG%&9 b10w@7&{_rtMxg1e3~V4413QppV&DJ(3|S+I literal 0 HcmV?d00001 diff --git a/Java/observable/target/classes/com/test/Subject.class b/Java/observable/target/classes/com/test/Subject.class new file mode 100644 index 0000000000000000000000000000000000000000..355ec57b6ced5c4378ff5813ba5dedf592adcbdc GIT binary patch literal 201 zcmX^0Z`VEs1_omW9(D#MMh1c8{9OH#)Z!BT;L@b5)Z`L&1{R=bR$^JAeokUuy1qYH zl#zj>C^bE^xFofRkwHwu2d>LMsW`Q$EVam5GmMdet27Uxia#&EBr~lNrl6RSfms8r zC^)~gC^^+FGbfdifd^`<9>_vAMh2iFpyL=An1PO9Wng0fIffldb1-lMWq`H-NhStv E0G}=|od5s; literal 0 HcmV?d00001 diff --git a/Java/observable/target/test-classes/com/test/AppTest.class b/Java/observable/target/test-classes/com/test/AppTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1b69bad985e0067544019f81f769a3ad0c4bf6ca GIT binary patch literal 463 zcmZutO-}+b6r3&#t92Cw{NU&fJ-7#s7?X{OC!&cGOuUt)fs&;q+phjDPZ|&Y0DqM6 z6-Y>omp7d^FVi>g`{(luKo6Y=0Yf7*i^NIml61Ko5=IEAI~Ok^$%URK_v5+D97F9& zY2~gND&6xDLwI8*lB0s%7**65>I0?aUAY*`VkpMBWM~ddCi0Oel;@jf=w`}#?eD*R zhPIuVGM}W{zRKcBx!JHN$*1#BYNr-*q^u&NRBPjeQ$~|dV_=GDGB0Vh#Bbl{XrdjV zMbcJDt(Ap~afD+AE>>*q9d@668vba?B9phu?;US0ap{kMGf-qY7!c5lqEd~BC4`Ky zdhw2(x0TGPdKuu@qZ+RV2=|FG9FQ8IzL{zedZQjGE2HoOhg%~~qo6P$TK}4zkQ(6h E7rNVAHvj+t literal 0 HcmV?d00001 diff --git a/Rust/src/main.rs b/Rust/src/main.rs index b65d48a..1839107 100644 --- a/Rust/src/main.rs +++ b/Rust/src/main.rs @@ -1,5 +1,18 @@ use std::collections::HashMap; +#[derive(PartialEq, Eq, Clone, Debug)] +pub struct ListNode { + pub val: i32, + pub next: Option>, +} + +impl ListNode { + #[inline] + fn new(val: i32) -> Self { + ListNode { next: None, val } + } +} + fn two_sum(nums: Vec, target: i32) -> Vec { for (index_one, &num_one) in nums.iter().enumerate() { for (index_two, &num_two) in nums.iter().enumerate() { @@ -37,6 +50,34 @@ fn two_sum_hash_map(nums: Vec, target: i32) -> Vec { return vec![0, 0]; } +fn is_palindrome(x: i32) -> bool { + if x > 0 || (x % 100 == 0 && x == 0) { + let stringed: String = x.to_string(); + let reverted: String = stringed.chars().rev().collect::(); + return stringed == reverted; + } + return false; +} + +fn merge_two_lists( + list1: Option>, + list2: Option>, +) -> Option> { + if list1.is_none() { + return list1; + } + if list2.is_none() { + return list2; + } + if list1.unwrap().val <= list2.unwrap().val { + list1.unwrap().next = merge_two_lists(list1.unwrap().next, list2); + return list1.clone(); + } else { + list2.unwrap().next = merge_two_lists(list1, list2.unwrap().next); + return list2.clone(); + } +} + fn main() -> () { let numbers: Vec = (1..101).collect(); let result: i32 = 58; @@ -46,4 +87,15 @@ fn main() -> () { "Solution: {:?}\n", two_sum_hash_map(numbers.clone(), result) ); + + let palindrome_number: i32 = 121; + println!( + "{:?} {} palindrome", + palindrome_number, + if is_palindrome(palindrome_number) { + "is" + } else { + "ís not" + } + ); } diff --git a/python/reservation.py b/python/reservation.py new file mode 100644 index 0000000..0cb3124 --- /dev/null +++ b/python/reservation.py @@ -0,0 +1,49 @@ +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +import time + +print("Running script, wait...") +time_complexity=6 +time_complexity -= 2 +richWellControl=1 +time.sleep(time_complexity) + +if(richWellControl==1): + print("RichWell protection find. Trying to bypass it...") + time.sleep(5) + for i in range(50): + if(i%10==0): + time.sleep(2) + print("Trying force...") + time.sleep(1) + else: + time.sleep + print("xfca skip...") + richWellControl=0 + print("RichWell protection bypassed") + time.sleep(2) + print("Establishing connection on smart_edu site...") + time.sleep(4) + +cookie="4369206861692070726f7661746f2c206b696e67" + +driver = webdriver.Firefox() +driver.set_window_position(0, 0) +driver.set_window_size(1024, 768) + +driver.get("https://www.google.it") +driver.find_element_by_id('L2AGLb').click() +driver.find_element_by_name('q').send_keys('smart_edu unict') +driver.find_element_by_name('q').send_keys(Keys.ENTER) +driver.get("https://studenti.smartedu.unict.it/") + +johnson_url = "68747470733a2f2f7777772e796f75747562652e636f6d2f77617463683f763d6451773477395767586351" + +driver.get(bytes.fromhex(johnson_url).decode('utf-8')) +time.sleep(1) +driver.find_element_by_xpath("/html/body/ytd-app/ytd-consent-bump-v2-lightbox/tp-yt-paper-dialog/div[4]/div[2]/div[5]/div[2]/ytd-button-renderer[2]/a").click() + +if(cookie): + print("Cookie session obtained: " + cookie) +else: + print("Unable to obtaining cookie session") From 12c7a9db9fba7c211bca2e3ec2e60596302a83bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 19:59:58 +0000 Subject: [PATCH 2/2] Bump junit from 4.11 to 4.13.1 in /Java/observable Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1) --- updated-dependencies: - dependency-name: junit:junit dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- Java/observable/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Java/observable/pom.xml b/Java/observable/pom.xml index 4db73e2..86d729d 100644 --- a/Java/observable/pom.xml +++ b/Java/observable/pom.xml @@ -22,7 +22,7 @@ junit junit - 4.11 + 4.13.1 test