-
Notifications
You must be signed in to change notification settings - Fork 1
/
trainingdata2.tsv
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 3.
1974 lines (1974 loc) · 448 KB
/
trainingdata2.tsv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
code text
0 Pierwszy wynik w google.
1 /** Return true if the player with "theSeed" has won after placing at (currentRow, currentCol) */ public static boolean hasWon(int theSeed, int currentRow, int currentCol) { return (board[currentRow][0] == theSeed // 3-in-the-row && board[currentRow][1] == theSeed && board[currentRow][2] == theSeed || board[0][currentCol] == theSeed // 3-in-the-column && board[1][currentCol] == theSeed && board[2][currentCol] == theSeed || currentRow == currentCol // 3-in-the-diagonal && board[0][0] == theSeed && board[1][1] == theSeed && board[2][2] == theSeed || currentRow + currentCol == 2 // 3-in-the-opposite-diagonal && board[0][2] == theSeed && board[1][1] == theSeed && board[2][0] == theSeed); }
0 go.anna3 minuty temuWitam,mam pytanie, ponieważ programuje w javie gre kólko krzyzyk. Mam napisany kod dla wygranych kolumn i wierszy - ale nie wiem jak zrobic jeszcze przekatne. Czy jest ktoś mi w stanie pomoc bo nie wiem co robie zle ze mi nie wychodzi:
1 public boolean checkDiagonalRight(List <position>positions){Map<Integer, Integer> diagonal = new HashMap<>();for (Position position: positions){if (diagonal.containsKey(position.getColumn()) && diagonal.containsValue((position.getRow()))){int value = diagonal.get(position.getColumn());diagonal.put(position.getColumn(), ++value);} else {diagonal.put(position.getColumn(), 1);}}return diagonal.values().stream().anyMatch(i -> i==3);}Czy jest mi ktoś w stanie cos podpowiedziec? Dopiero zaczynam nauke i nie wiem jeszcze za duzo.
0 Czyli miej więcej tak, wygląda, że, rzeczywiście, złożoność jest liniowa (nie licząc isPrime), z tym: "Goldbach conjecture prooved" to żart - zakładamy, że liczba będzie parzysta:
1 #include <iostream>using namespace std;int isPrime(int n) { if (n <= 3) return n > 1; else if (n % 2 == 0 || n % 3 == 0) return 0; int i = 5; while (i * i <= n) { if (n % i == 0 || n % i + 2 == 0) return 0; i += 6; } return 1;}void testIntegerAsSumOfTwoPrimes(int n) { int i; int c = 0; for (i = 2; i <= n / 2; ++i) { if (isPrime(i)) { if (isPrime(n - i)) { cout << n << " = " << i << " + " << n - i <<"\n"; c = 1; } } } if (c == 0) { cout << "Goldbach conjecture prooved:)\n"; }}int main(int argc, char **argv){ int number; cin >> number; cout << "\n"; testIntegerAsSumOfTwoPrimes(number); return 0;}
0 Dzięki za odp. prześledzę jeszcze ta funkcję z SELF JOIN.Przeczytałam o funkcji OVER (dzięki za trop) , ale pojawił sie jeszcze jeden problem, kolumna w tabeli nazywa się dokładnie created_at, i jest datą wraz z godziną, a ma zwrócic jedynie datę:Napisałam nastepujące zapytanie:SELECTDATE(created_at) as date,COUNT(DATE(created_at)) AS count,COUNT(created_at) OVER(ORDER BY DATE(created_at)) as totalFROM postsGROUP BY created_atORDER BY date;
0 W wyniku kolumna TOTAL jest poprawna, ale date i count już nie, bo nie grupuje po dacie:
1 ....date.... ...I..count..I....total....I2017-01-26 I...1...... I......3...... I2017-01-26 I...1...... I......3.......I2017-01-26 I...1...... I......3.......I2017-01-27 I...1...... I......5.......I2017-01-27 I...1...... I......5.......I
0 Macie może pomysł jak pogrupować to według daty bez godziny? Kombinowałam z SELECT DISTINCT, ale wynik w kolumnie count nadal błędny. Wybaczcie, ale jestem poczatkująca, więc pewne rzeczy o które pytam być może są oczywiste dla Was :)
0 Dzięki za odpowiedzi.Może nie będę zaczynać nowego wątku, miałbym jeszcze pytanko - co polecacie po stronie servera PHP czy noteJS dla takiej gry? a może jeszcze coś innego? Ani z jednym ani z drugim nie mam doświadczenia.
0 ok, dzięki wszystkim za odzew, wiem w czym szukać, pozdrawiam :)
0 TomaszLiMoon napisał(a):Wczytywanie zmiennych umieszczone w konstruktorze powoduje, że wczytywane one są za każdym razem kiedy tworzony jest obiekt klasy Car.Czyli wtedy kiedy tworzysz obiekt
1 void CarHeap::adCar (Car obj) // tutaj też wczytywane są dane bo tworzony jest obiekt tymczasowy objoraz podwójnie dla
1 void CarHeap::carEquals(Car first,Car second) // tutaj wczytywane są dane dla dwóch obiektów typu CarUtwórz sobie funkcję Load w obiekcie Car w której będziesz wczytywał dane.
0 Do tego miala wlasnie sluzyc funkcja readPower(). Patrzac po paru przykladach w internecie wydaje mi sie, ze sposob w jaki to robie powinien dzialac.Patrzac po tym przykladzie: https://www.geeksforgeeks.org[...]g-and-returning-objects-in-c/ jedyne co chce zrobic to zamiast odczytac wartosc z publicznej czesci klasy, to uzyc funkcji by odczytac ja z prywatnej.
0 TomaszLiMoon napisał(a):Wczytywanie zmiennych umieszczone w konstruktorze powoduje, że wczytywane one są za każdym razem kiedy tworzony jest obiekt klasy Car.oraz wtedy kiedy jest tworzony obiekt tymczasowy w funkcji
1 void CarHeap::carEquals(Car first,Car second) // tutaj wczytywane są dane dla dwóch obiektów typu CarUtwórz sobie funkcję Load w obiekcie Car w której będziesz wczytywał dane.
0 W tych dwóch przypadkach konstruktor się nie odpala (odpala się konstruktor kopiujący).Aczkolwiek zgadzam się wczytywanie w konstruktorze to absurd.
0 Wczytywanie zmiennych umieszczone w konstruktorze powoduje, że wczytywane one są za każdym razem kiedy tworzony jest obiekt klasy Car.Czyli wtedy kiedy tworzysz obiekt
0 Poza tym w tej chwili funkcja carEquals niczego nie zmienia, gdyż operuje na zmiennych tymczasowych (lokalnych).
0 Funkcje analityczne byłyby moim pierwszym wyborem: COUNT(0) OVER (PARTITION BY ....) , ale silnik musi to wspierać.
0 Self joinem kombinowałbym tak:
1 with helper as ( select t.data, case when t.data=s.data then 1 else 0 end total_flag from tabelka t join tabelka s on t.data<=s.data)select t.data, sum(total_flag), count(0) totalfrom helper grlup by t.data order by t.data;Dla każdego rekordu doklejamy rekordy z tej samej tabeli o ile data <= daty w "bieżącym rekordzie". Robimy kolumnę pomocniczą (total_flag), która mówi nam czy data jest taka sama jak w danym dniu (wartość 1, czy inna, wartość 0) i sumujemy. Agregujemy dane z tabelki pomocniczej.
0 serio, tak nazwałeś przypisanie? o_O
0 Poza tym przecież to: carEquals(arr_[child],arr_[parent]); nie ma sensu. Właśnie nadpisałeś wartości i tych starych juz nie ma :( Zastanów się chwilę. Masz coś w stylu:
1 int x = 1;int y = 2;I zrobiłeś teraz:
0 y = x;No i co? No i teraz obie zmienne mają wartość 1, a tą 2 zgubiłeś na amen bo nigdzie jej nie zapisałeś. Nie wiem dokładnie jaka jest ta twoja logika dodawania do kopca, bo jest zupełnie nieczytelna, ale zgaduje że nadpisujesz tam wszystko wesoło.
0 Wersja najprostsza to wordpress, osobie technicznej dajesz uprawnienia admina, nietechnicznej współpracownika (publikacja wpisów po akceptacji admina), lub autora, plus taki, że nikt ci syfu nie narobi w ustawieniach, możesz też za pomocą api wstrzykiwać dynamiczny content w statyczną stronę.
0 Bardziej ambitnie to może laravel+starter pack, lub inny framework.
0 Od podstaw zielonce trudno zrobić coś z dobrym security, więc bym sobie odpuścił.
0 jurek1980 napisał(a):Wygląda na to, że wszystko zrobisz SQLem. Musisz użyć "Join" miedzy tabelami jak wspomniał @ccwrc.Jakiej bazy używasz? Czy piszesz w czystym PHP czy to jakiś framework?Pokaż jakiś kod gdzie łączysz się do bazy.
0 A więc tak łącze się do bazy tak
1 <?php$servername = "localhost";$username = "root";$password = "";$dbname = "strona";// Create connection$conn = new mysqli($servername, $username, $password, $dbname);mysqli_set_charset($conn,"utf8");?>Nie wiem dokładnie o co chodzi z framworkiem, ale pisze z czystym PHP.Jeśli chodzi o pytanie jakiej bazy używam? To chodzi np. o MySQL czy MariaDB? Jeśli tak, to MySQL Służy mi do tego program XAMPP
0 Jeśli chodzi o wyświetlanie się postów to wygląda on tak:
1 <?php$adres_strony = ustawienia('adres_strony');$adres_strony = $adres_strony['opcja'];$conn = connect();$ip = $_SERVER['REMOTE_ADDR']; if (isset($_POST['save'])) { $ratedIndex = $conn->real_escape_string($_POST['ratedIndex']); $id = $conn->real_escape_string($_POST['cos']); $serwer = $conn->real_escape_string($_POST['serwer']); $conn->query("INSERT INTO posty_ocena (rateIndex, adres_ip, id_postu, serwer) VALUES ('$ratedIndex', '$ip', '$id', '$serwer')"); }// PAGINACJA if (isset($_GET['p'])) { $pageno = intval($_GET['p']); } else { $pageno = intval(1); } if(isset($_GET['serwer'])){ $serwer = $_GET['serwer']; $sql = "SELECT * FROM posty WHERE serwer='$serwer' LIMIT 1"; $res_data = mysqli_query($conn,$sql); $row = mysqli_fetch_array($res_data); $serwerid = $row['id_serwera']; $no_of_records_per_page = 8; $offset = ($pageno-1) * $no_of_records_per_page; $total_pages_sql = "SELECT COUNT(*) FROM posty WHERE serwer_id='$serwerid' "; $result = mysqli_query($conn,$total_pages_sql); $total_rows = mysqli_fetch_array($result)[0]; $total_pages = ceil($total_rows / $no_of_records_per_page); }?><?php navbar() ?><div class="main"> <div class="tytul-strony">Wybierz Serwer</div> <div class="post-strona"> <div class="tekststrony"> <div class="blok-box"> <?php $sql = "SELECT * FROM posty WHERE serwer_id=0 order by sortowanie"; $res_data = mysqli_query($conn,$sql); while($serwery = mysqli_fetch_array($res_data)){ ?> <a href="/serwery/<?php $str=$serwery['id_serwera']; $str = str_replace(' ', '', $str); echo $str;?>#me"> <div class="card-sklep"> <img src="<?php echo $adres_strony.$serwery['zdjecie1']?>"> </div> </a> <?php } ?> </div> <center> <a href="../dodaj" class="guzik"><i class="fas fa-star" style="color: white;"></i> Dodaj zgłoszenie!</a> </center> </div> </div> <?php if(isset($_GET['serwer'])): ?> <?php $serwer = mysqli_real_escape_string($conn, $_GET["serwer"]); $sql = "SELECT * FROM posty WHERE serwer_id='$serwer' and serwer_id > 0 and aktywacja = 1 order by rand() LIMIT $offset, $no_of_records_per_page"; $res_data = mysqli_query($conn,$sql); while($cribsy = mysqli_fetch_array($res_data)){ ?> <div class="post-strona"> <div class="tekststrony" > <div class="card" id="me"> <div class="container"> <p class="p1" style="text-align: center;"><?php echo $cribsy['nick']?></p> <hr> <p class="p2" style="text-align: center;"><?php echo $cribsy['tresc']?></p> <center> <a href="<?php echo $cribsy['zdjecie1']?>" target="_blank"><img src="<?php echo $cribsy['zdjecie1']?>" class="multimedia-res" style="max-height: 30%; width: 30%;"></a> <a href="<?php echo $cribsy['zdjecie2']?>" target="_blank"><img src="<?php echo $cribsy['zdjecie2']?>" class="multimedia-res" style="max-height: 30%; width: 30%;"></a> <a href="<?php echo $cribsy['zdjecie3']?>" target="_blank"><img src="<?php echo $cribsy['zdjecie3']?>" class="multimedia-res" style="max-height: 30%; width: 30%;"></a> </center> <br> <div align="center" > <?php $idpostu = $cribsy['id']; $sql = "SELECT * from posty_ocena WHERE id_postu='$idpostu' AND adres_ip='$ip'"; $query = mysqli_query($conn, $sql); if (mysqli_num_rows($query) <= 0){ echo "Oceń: "; for ($i=1; $i<=5; $i++) { printf('<i id="ocena" class="fa fa-star" style="cursor: pointer;" data-user="'.$cribsy['id'].'" data-serwer="'.$cribsy['serwer_id'].'" data-index="'.$i.'"></i>', $i+1, $i+1); } } else{ echo '<font color="red">Już zagłosowałeś</font> '; } ?> <br> <?php ocena(''.$cribsy['id'].''); ?> </div> </div> </div> </div> </div> <?php } ?> <div class="post"> <div class="pagination" style="text-align: center; margin: 2%;"> <a href="<?php if($pageno <= 1){ echo ''; } else { echo "?p=".($pageno - 1); } ?>" class="<?php if($pageno <= 1){ echo 'not-active'; } ?>"><i class="fas fa-chevron-left"></i></a> <a href="<?php if($pageno >= $total_pages){ echo ''; } else { echo "?p=".($pageno + 1); } ?>" class="<?php if($pageno >= $total_pages){ echo 'not-active'; } ?>"><i class="fas fa-chevron-right"></i></a> </div> </div> <?php endif ?></div><script>$(document).ready(function () { $('.fa-star').on('click', function () { ratedIndex = parseInt($(this).data('index')); cos = parseInt($(this).data('user')); serwer = parseInt($(this).data('serwer')); zapiszocene(); });});</script>
0 To pewnie glupie pytanie, ale mecze sie z tym od paru godzin, wiec pomyslalem ze warto sprobowac. Stworzylem klase, ktora ma zapisywac obiekty z jednej klasy do tablicy drugiej klasy zgodnie z zasadami kopca binarnego. Problem w tym, ze gdy obiekt trafia do funkcji w ktorej ma zostac zapisany do tablicy to nagle nie posiada on zadnych wczesniej wpisanych wartosci. Myslalem, ze jest to pewnie jakos zwiazane ze sposobem przekazywania obiektu do funkcji, ale swoja przygode z c++ dopiero zaczynam i nie do konca to rozumiem. Z gory dzieki za pomoc.
0 https://ideone.com/S4IoVE
1 #include<iostream>#include<string>using namespace std;class Car{ string nr_; int power_; double weight_; char engine_; public: Car(); Car(int); ~Car(){} string readNr(); int readPower(); double readWeight(); char readChar(); void writeNr(string); void writePower(int); void writeWeight(double); void writeChar(char);};class CarHeap{ static const int capacity_=6; int counter_; Car arr_[capacity_]; public: CarHeap(); friend class Car; void adCar (Car); void showCar(); void carEquals(Car,Car);};void CarHeap::carEquals(Car first,Car second){ first.writeNr(second.readNr()); first.writePower(second.readPower()); first.writeWeight(second.readWeight()); first.writeChar(second.readChar());}void CarHeap::showCar(){ cout << "result" << endl; for (int i=0;i<counter_;i++) { cout << arr_[i].readNr() << " " << arr_[i].readPower() << " "; }}void CarHeap::adCar (Car obj){ if (counter_<capacity_) { int child=counter_++; int parent=(child-1)/2; cout << obj.readPower() << endl; while (child>0&&arr_[parent].readPower()>obj.readPower()) { carEquals(arr_[child],arr_[parent]); child=parent; parent=(child-1)/2; } carEquals(arr_[child],obj); }}CarHeap::CarHeap() { counter_=0;}int Car::readPower(){ return power_;}string Car::readNr(){ return nr_;}double Car::readWeight(){ return weight_;}char Car::readChar(){ return engine_;}void Car::writeNr(string x){ nr_=x;}void Car::writePower(int x){ power_=x;}void Car::writeWeight(double x){ weight_=x;}void Car::writeChar(char x){ engine_=x;}Car::Car () { string nr; int power; double weight; char engine; cin >> nr; nr_=nr; cin >> power; power_=power; cin >> weight; weight_=weight; cin >> engine; engine_=engine;}int main(){ CarHeap arr; Car a; arr.adCar(a); Car b; arr.adCar(b); Car c; arr.adCar(c); Car d; arr.adCar(d); Car e; arr.adCar(e); Car f; arr.adCar(f); arr.showCar(); return 0;}
0 @tagtak: "Pomyślałem, żeby dla podanej przez użytkownika liczby podać wszystkie liczby pierwsze mniejsze lub równe jej - to napisałem" - 1 to nie liczba pierwsza. Najlepiej Wyłap te liczby do jakiejś struktury (chociażby tablicy), a potem już łatwo sprawdzić wszystkie sumy. To jest naiwne rozwiązanie, szybciej byłoby uzyć Sita Erastotenesa do znalezienia liczb pierwszych i potem szukać sum.
1 #include<iostream>using namespace std;int main(int argc, char **argv){ int number = 10; int primes [] = {2, 3, 5, 7}; int length = 4; for (int i = 0; i < length; ++i) { for (int j = i; j < length; ++j){ if (primes[i] + primes[j] == number) cout << primes[i] <<" "<<primes[j]; } cout <<"\n"; } cout << "\n"; return 0;}
0 Kamil Żabiński napisał(a):Czy wpisy będzie dodawać osoba techniczna która jest stanie używać gita?Jeśli tak to można użyć generatora stron Jekyll hostowanego na Github Pages.
0 Wpisy będzie dodawać osoba techniczna która jest w stanie używać gita, ale również osoba bez tej znajomości.
0 Z poziomu kodu chce dynamicznie dodawać zdjęcia jednak program mi wyrzuca błąd z komunikatem "InvalidOperationException: Kolekcja elementów musi być pusta zanim zostanie użyte źródło ItemsSource."
1 public class goals { public string Image { get; set; } public goals(string image) { this.Image = image; } } private List<goals> GetGoals() { return new List<goals>() { new goals('ścieżka do pliku'), new goals('ścieżka do pliku') }; } public MainWindow() { InitializeComponent(); var goals = GetGoals(); ListView1.ItemsSource = goals; }XAML:
1 <Grid> <StackPanel> <ListView x:Name="ListView1" ItemsSource="{Binding goals}"> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"></StackPanel> </ItemsPanelTemplate> </ListView.ItemsPanel> <ListViewItem> <StackPanel Orientation="Horizontal"> <Image Source="{Binding Image}" Margin="0,0,5,0" /> <TextBlock>Test</TextBlock> </StackPanel> </ListViewItem> </ListView> </StackPanel> </Grid>
0 Czy wpisy będzie dodawać osoba techniczna która jest stanie używać gita?Jeśli tak to można użyć generatora stron Jekyll hostowanego na Github Pages.
0 Nie wiem czy dobrze rozumiem:
1 Main.MultiSelect = false;Main.SelectionMode = DataGridViewSelectionMode.CellSelect;int rows = Main.RowCount - 1;if (rows >= 1) rows += -1;else return;Main.Rows[rows].Selected = true;Main.Rows[rows].Cells[0].Selected = true;
0 No to już (co zresztą pisałem) taka możliwość dodawania aktualności będzie ubogim CMS'em. Oczywiście, nie musisz korzystać z gotowca, możesz sobie to sam oprogramować.
0 może wytłumaczę na przykładzie. Jest strona Urzędu Miasta która posiada kilka podstron, jedna z nich to będzie Aktualności. Na stronie głównej będą wyświetlane np.4 ostatnie wpisy z aktualności
0 CMS to system zarządzania treścią. Możesz skorzystać z jakiegoś gotowca, ale możesz to zrobić samodzielnie. W drugim przypadku, jak zrobisz coś, co pozwoli na zmiany treści, to już będziesz miał bardzo ubogiego CMS'a :)
0 Szczerze mówiąc, za bardzo nie rozumiem, o co pytasz.
0 Jeszcze jakieś pomysły/sugestie?
0 Musisz być świadomy istnienia czegoś takiego jak C++ implicit type conversion. https://www.geeksforgeeks.org/type-conversion-in-c/Przewidzieć w większości przypadków nie trudno np. jeżeli mam 2 dodatnie wartości typu unsigned int, które odejmuje to biorępod uwagę to, że może powstać wartość ujemna i to zabezpieczam.
0 Witam. Od jakiegoś czasu uczę się w kierunku Webmastera. Obecnie jestem na etapie HTML i CSS. Chce zacząć robić swój projekt bo to najlepszy sposób na naukę wg mnie. i tutaj mam pytanie. Chce stworzyć stronę na której od czasu do czasu będą publikowane wpisy. W grę wchodzi tylko CMS? Czy można to w inny sposób stworzyć? Chce aby wpisy nie były publikowane tylko przeze mnie ale również inną osobę. Jakie jest najlepsze rozwiązanie ?
0 Mam obiekt dataGridView z kilkoma kolumnami.Przyciskiem użytkownik może dodać nowe wiersze, a następnie je kasować.Mam jednak problem z ustawieniem zaznaczenia na pierwszą komórkę ostatnio dodanego wiersza.
0 Main to nazwa mojego DataGridView
1 int rows = Main.RowCount - 1;Main.Rows[rows].Selected = true;Main.Rows[rows].Cells[0].Selected = true;Proszę o pomoc jak można to inaczej zrobić albo co jest błędnego w moim rozumowaniu tutaj.
0 Generalnie chcę uzyskać zaznaczenie na ostatnim dodanym wierszu, aby wygodnie było używać przycisku kasowania.W tej chwili po wciśnięciu przycisku kasowania rozpoczyna kasowanie od pierwszego wiersza - bo ten jest zaznaczony automatycznie. Użytkownik może kliknąć na ostatni wiersz, zaznaczyć tym samym komórkę ręcznie i wtedy kasowanie przebiega jak trzeba, ale bardziej naturalne i logiczne wydaje mi się samodzielne ustawianie się zaznaczenia na tym ostatnim wierszu.
0 Czy jest sposób na to aby przewidziec takie nie zamierzone konwersje?
0 Prawdopodobnie przy odejmowaniu nastąpiła konwersja char -> int.Jak zrobisz konwersje ręcznie wynik będzie taki sam:
1 unsigned char x,y;x=2;y=3;cout<<(unsigned int)x-(unsigned int)y<<endl;
0 Czy mógłby mi ktoś wytłumaczyć z czego wynikaja różnice w wynikach obu programów
1 unsigned char x,y;x=2;y=3;cout<<x-y<<endl;unsigned int x,y;x=2;y=3;cout<<x-y<<endl;Wiem że to ma coś wspólnego z konwersją, oraz że ujemne liczby są konwertowane, z powodu unsigned. Ale nie rozumiem za bardzo tego procesu oraz skąd ta różnica w wynikach. Czy w drugim przypadku liczba -1 jest konwertowana na dodatnia, jeśli tak do dlaczego pierwszy wynik nie jest również zmieniony?
0 Interesuje mnie MRE, czyli pełna najkrótsza wersja Twojego kodu, która nadal wykazuje ten problem.
0 Dobra skasowałem posta bo pisałem dla warcab xD. Nie pisze w WPF nie pisalem nigdy w tym nic wiekszego niz kilka inputow to podpowiem jak mi sie wydaje.
0 Jak dla mnie kazde pole powinno mieć swój picture box i przygotujesz sobiepole pustepole z pionkiem 1 graczapole z pionkiem 2 graczapole z pionkiem 3 graczapole z pionkiem 4 graczai będziesz podmieniać te pola odpowiednio Te x i y zmylily mnie jako, ze to sa warcaby bo w chinczyku wystarczy ci przeciez 1 wymiar i kazde pole ma swoj numerek po prostu. Dla mnie db jest przerostem troche formy nad treścią le niech będzie. Ja osobiscie w polu trzymałbym informację jaki gracz na nim jest bo dzięki temu wiesz jak taka plasze wygnerowac korzystajc z bitmap z pola 1.
0 serek napisał(a):Podaj najpierw Twój kod.Ok, podałem swój początek.
0 Bierzesz google i po kolei szukasz swoje zagadnienia np. Queue i próbujesz robić. Jest jeszcze dział ogłoszenia drobne jakbyś chciał szybciej. Wszystko o co pytasz znajdziesz na pierwsze stronie google.
0 Podaj najpierw Twój kod.
0 Przekazanie to jedno, ale trzeba dobrze przemyśleć zarządzanie pamięcią – która strona alokuje i zwalnia stringa (i musi być to ta sama strona, chyba że naprawdę wie się co się robi).
0 Patryk27 napisał(a):Pokaż kod (https://stackoverflow.com/help/minimal-reproducible-example).
0 interesuje Cię sam CSS tej ikony czy coś więcej podrzucić ?
0 Ten kawałek kodu sam w sobie nie powoduje dublowania listenerów, problem musi leżeć gdzie indziej (chyba, że Ploty wewnętrznie jakieś listenery tworzy)
0 Problem jest podany najogólniej w temacie - mam napisać program w C++, który dla dowolnej (podanej przez użytkownika) liczby parzystej przedstawia wszystkie możliwe jej rozkłady sumę dwóch liczb pierwszych. Zadanie w swoim zamyśle nie powinno być trudne - obejmować ma podstawy programowania. Może ktoś pomoże, podda pomysł? Mój dotychczasowy kod jest poniżej. Pomyślałem, żeby dla podanej przez użytkownika liczby podać wszystkie liczby pierwsze mniejsze lub równe jej - to napisałem. Co dalej?Pozdrawiam.
1 #include <iostream>using namespace std;int main(){ int n; int k=1; bool p; cin>>n; int tab[n]; for(int i = 1; i <= n; i++) { p = true; for(int j = 2 ; j < i; j++){ if( i % j == 0){ p = false; } } if(p == true){ cout<<i<<" "; tab[k]=i; k++; } } cout<<endl; return 0;}
0 Poczytaj o funkcjach okna (o ile Twój silnik bazy danych je wspiera).
1 using System;using System.Collections.Generic;namespace Początek{ class Bicykle { public string Number { get; private set; } public Bicykle(string _Number) { this.Number = Number; } } class User // anonimowy użytkownik wypożyczalni { public void GetBicykle(BicykleRental rental) { /*1*/ } // pobiera rower z czoła kolejki wypożyczalni do użytku własnego public void ReturnBicykle(BicykleRental rental, string number) { /*2*/ } //zwraca rower o określonym numerze do kolejki wypożyczalni } class BicykleRental // wypożyczalnia { public Queue<Bicykle> ForRent = new Queue<Bicykle>(); public void SetBicykle(string Number) {/*3*/} // tworzy obiekt roweru nadając mu numer i wstawia na koniec kolejki, // metoda wywoływana z poziomu programu wykonawczego (funkcji Main()) public void ToService() {/*4*/} // usuwa rower z czoła kolejki zabierając go do serwisu // metoda wywoływana z poziomu programu wykonawczego (funkcji Main()) public void ReturnBicykle(string Number) {/*5*/} // zwrot roweru o określonym numerze na koniec kolejki, // metoda wywoływana przez użytkownika klasy User public void SchowQueue() { // metoda wyświetla wszystkie rowery aktualnego stanu kolejki foreach (Bicykle rower in ForRent) { Console.WriteLine("Rower: {0}", rower.Number); } Console.WriteLine("-----------------------------"); } } class Program { static void Main(string[] args) { // Opracuj treści wszystkich pięciu metod w miejscach // wskazanych komentarzem // Następnie utwórz obiekt wypożyczalni, // oraz obiekt klasy User // Zasymuluj działanie wypożyczalni poprzez kilka następujących po sobie // w dowolnej kolejności różnych zdarzeń (wstawianie nowych rowerów, // wypożyczanie, zabranie do serwisu) // Po każdej akcji wyświetlaj aktualny stan kolejki Console.ReadKey(); } }}
0 Pokaż kod (https://stackoverflow.com/help/minimal-reproducible-example).
0 No ale to zależy co chcesz konwertować i przeliczać :) jeśli jest to operacja wykonywana w ramach logiki biznesowej (np. obliczenie łącznego kosztu zamówienia na podstawie cen i ilości produktów w tymże zamówieniu) to możesz to np. zrobić w handlerze odpowiadającym za płatność. Z drugiej strony handler ten może w ogóle nie mueć styczności z obiektem zamówienia, więc wtedy wypadało by to zrobić wcześniej i przekazać całkowity koszt w poleceniu. Wszystko zależy od konkretnego przypadku, na to nie ma jednej poprawnej odpowiedzi.
0 Utwórz np. na pulpicie cokolwiek o rozszerzeniu .py (np. pupa.py)
0 Kliknij prawym klawiszem mychy na pupa.py i wybierz opcję "otwórz za pomocą"
0 I z listy opcji "wybierz program domyślny"
0 Hej,Mam 1 tabelę z jedną kolumna o nazwie Data. W tabeli mamy datę otrzymania listu. Zadanie polega na wygenerowaniu tabeli jak poniżej:
1 date | count | total-----------+-------+-------2017-01-26 | 20 | 202017-01-27 | 17 | 37
0 TOTAL ma oznaczać liczbę WSZYSTKICH listów otrzymanych do danej daty, np w rekordzie pierwszym do daty 2017-01-26COUNT liczba listów zarejestrowanych w danych dniu np. 2017-01-26Prośba o info jak otrzymać kolumnę TOTAL, z Count sobie poradziłam :) Podjęłam kilka prób, (myslę, że to powinno byc zrobione przy pomocy SELF JOIN) ale nie wyszło :/ Z góry dziekuję za pomoc!
0 Spróbuj tym https://types.en.softonic.com/
0 Proszę wytłumacz mi jak zbudować ten program oraz co z czym jest powiązane.Nie ogarniam Generics, Delegaty i zdarzenia,Hermetyzacja.
0 Działający kod pełnymi definicjami wskazanych metod i wyczerpującym testowaniem w funkcji Main( ),
0 Przesyłam zdjęcia.
0 Witam , tak jak w temacie ikona (w zielonym kółku) nie chce słuchać poleceń w CSS, reaguje ona tylko na float right lub left , jednak to nic nie wnosi do mojej pracy i tego jak chce ją ustawić. Próbowałem również sprawdzić czy po wpisaniu polecenia "display: block;" zacznie ustawiać się według tego co piszę w CSS jednak tak się nie dzieje , warto dodać że w tym samym projekcie są dodane ikony z fontello(nie wiem czy to ma jakiś wpływ na to , jednak wolałem o tym wspomnieć)
0 Dobra, znalazłem.
0 Pythonic way to nawidoczniej:
1 flat = [y for x in my_list for y in x]
0 https://support.microsoft.com[...]ows-7-change-default-programsSzukasz .py i zmieniasz
0 Ludzie proszę was najmocniej jak mogę o pomoc... Zmieniłem domyślne otwieranie plików .py na wiersz poleceń i nie mogę tego odwrórcić ! proszę bardzo o pomoc co mogę zrobić w tej sprawie gdyż nie chce otwierać plików .py wierszem poleceń proszę o szybką odpowiedź
0 ~Zdesperowany Kretyn -.-
0 Programuję zaowodowo w javie,js i php, teraz piszę sobie domowy tool w pythonie żeby poznać język, jednak natrafiłem na problem, i chciałbym poznać pythonic-way.
0 Otóż mam sobie listę
1 lista = ['Foo', 'Bar', 'Lorem\nIpsum\ndolor\nsit\namet']
0 i chciałbym, to co na w javie możnaby zrobić
1 flatMap(word-> word.split("\n"))
0 result = ['Foo', 'Bar', 'Lorem', 'Ipsum', 'dolor', 'sit', 'amet']Tylko nie chcę robić map+split, a potem jakoś flatten'ować tą listę, bo czuję że nie tak się to robi w pythonie.
0 To co zrobiłem i nie działa:Wiem że jest operator destruct w pythonie, więc możaby zrobić tak:
1 lista = ['Foo', 'Bar', *(tutaj splitowanie tego stringa)]ale zrobienie tego dla dynamicznych danych juź mi nie działa:
0 return [*(_split(name)) for name in params.values()]
0 Jak to zrobić?
0 PS: Oczywiście googlowałem "python flat map" ale dostawałem albo jakieś zagnieżdżone pętle (to już folę map+split+flatten), albo jakieś overengineeringi ze ściągnaiem dodatokwych modułów.
0 AdamCe1987 napisał(a):W jaki sposób powinna wyglądać przekazywanie tekstu w obie strony ? […] Z racji ze nie używam za często c++ to pierwsze co widzę to "c_str()" która zwraca char*
0 Typowy sposób to przekazywanie wskaźnika na ciąg znaków, czyli PChar albo jawny PAnsiChar lub PWideChar, w zależności od typu wykorzystywanego w bibliotece.
0 Napisz coś więcej na temat tej biblioteki i programu, który ma z niej korzystać.
0 Piszę pierwszą aplikację okienkową w języku C#(Visual Studio), będzie nią chińczyk. Póki co jestem zielony i mam dwa pytania,
0 Jak wygenerować mapę do chińczyka? Za pomocą jednego PictureBox'a czy każde pole do gry powinno mieć swojego?Baza danych powinna przechowywać współrzędne wszystkich pól gry(X,Y) oraz CzyZajętę, jeśli tak - przez którego gracza? Jeśli nie, to co?Za każdą odpowiedź i radę z góry dziękuję.
0 Imo jest taka szansa.Ale po co takie kombinacje skoro masz klasę ConcurentDictionary?Do synchronizacji między wątkami możesz użyć m.in ManualResetEvent
0 Task.Run() nie daje żadnych gwarancji odnośnie czasu oraz kolejności wykonywania zadań (mogą np. wykonywać się obydwa w tym samym czasie na dwóch różnych rdzeniach[1]) - aby mieć pewność, że wszystko zostaje wykonane w odpowiedniej kolejności, musisz dorzucić await:
1 await AddToQueueAsync(null);await ReleaseQueueAsync();[1] https://docs.microsoft.com/en[...]ading/the-managed-thread-pool
0 Tak poza konkursem, to nie wolałbyś rozbić tej metody na mniejsze części? np.a)
1 List<String> getUserDescriptorFromFile(File users);b) List<xxx> createUsers(List<String> csvData);
0 @witu122:
0 szczerze powiedziawszy tak jak mówiłem jestem jeszcze troche zielony w tych testach
0 Twój problem polega na nieznajomości Javy a nie testów.
0 W twoim kodzie łapiesz wyjątek, wiec jeśli pliku nie ma, to na konsole wypiszesz System.out.print("Brak pliku o podanej nazwie"); i zwrócisz userowi pustą listę. Jeśli NIE chcesz żeby tak było, to wywal tego try-catcha całego i zrób:
1 public static List<User> createUsersList(File users) throws FileNotFoundException { List<User> usersList = new ArrayList<>(); StringBuilder reading = new StringBuilder(); Scanner scan = new Scanner(users); while (scan.hasNextLine()) { String line = scan.nextLine(); String[] lineArray = line.split(","); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-d"); LocalDate date = LocalDate.parse(lineArray[2], formatter); if (lineArray.length < 4) { usersList.add(new User(lineArray[0], lineArray[1], date, null)); } else { Long phoneNumber = Long.parseLong(lineArray[3]); usersList.add(new User(lineArray[0], lineArray[1], date, phoneNumber)); } } return usersList;}Wtedy ten twój test przynajmniej zacznie działać, bo teraz metoda faktycznie rzuca wyjątek. Ale to nieładne i utrudnia pisanie ładnego kodu, więc możemy zrobić inaczej:
1 public static Optional<List<User>> createUsersList(File users) { List<User> usersList = new ArrayList<>(); StringBuilder reading = new StringBuilder(); try { // bla bla bla } catch (FileNotFoundException e) { LOGGER.error("Brak pliku o podanej nazwie",e); return Optional.empty(); } return Optional.of(usersList);}Teraz w teście zamiast assertThrows sprawdzałbyś po prostu czy wynik jest empty czy nie. Minus jest taki, ze user który wywoła tą metodę nie dostanie informacji co było błędem. Tutaj to bez różnicy, bo pewnie błąd może być tylko jeden, ale czasem chcesz takie rzeczy wiedzieć. Można by w takim razie zrobić:
1 public static Either<Exception, List<User>> createUsersList(File users) { List<User> usersList = new ArrayList<>(); StringBuilder reading = new StringBuilder(); try { // bla bla bla } catch (FileNotFoundException e) { LOGGER.error("Brak pliku o podanej nazwie",e); return Either.left(e); } return Either.right(usersList);}Teraz w teście trzeba by sprawdzać czy wynik jest left czy right.
0 Zastanowiłbym się też, czy ta metoda serio powinna być static, bo znów to jest często spory ból jak musisz coś testować a tam pod spodem latają statici, bo nagle nie bardzo jest jak to "nadpisać" testową implementacją.
0 Hej, mam taki koncept:
1 public class Queue { public Queue() { locker = new object(); queue = new Dictionary<int, object>(); } public async Task<int> AddToQueueAsync(object item) { return await Task.Run(() => { var randomID = 1234234; lock (locker) queue.Add(randomID, item); return randomID; }); } public async Task ReleaseQueueAsync() { await Task.Run(() => { Dictionary<int, object> copy; lock (locker) { copy = new Dictionary<int, object>(queue); queue.Clear(); } foreach (var item in copy) { } // ... }); } private readonly object locker; private readonly Dictionary<int, object> queue; }i się zastanawiam czy jak wywołam tak na luźno:
1 AddToQueueAsync(null);ReleaseQueueAsync();to może się zdarzyć tak że nie zdąży się dodać do kolejki przed jej zwolnieniem? Że jakimś cudem lock w metodzie ReleaseQueueAsync wejdzie jako pierwszy?
0 chciałbym sie podpiąć pod wątek, też mnie zaniepokoiła nazwa firmy (występuje również w typie: konto osobiste), czy ktoś już przechodził ten proces?
0 Twoja metoda ŁAPIE wyjątek i go obsługuje, więc nigdy go nie rzuci. To jak w teście chcesz sprawdzić czy metoda rzuca wyjątek?
0 Usuwasz try catcha, a dodajesz w metodzie throwsa.Tutaj zostawiasz try catcha, ale opakowujesz liste w optionala. Potem w teście sprawdzasz czy optional jest pusty czy nie.Myślałem, żę @Shalom wyjaśnił to w miarę jasno ;)
0 Używam biblioteki która jest w C++chce opakować pewne klasy/metody aby można to było użyć w Delphi
0 W jaki sposób powinna wyglądać przekazywanie tekstu w obie strony ?
0 Z racji ze nie używam za często c++ to pierwsze co widzę to "c_str()" która zwraca char*
0 @Shalom: szczerze powiedziawszy tak jak mówiłem jestem jeszcze troche zielony w tych testach, czy mógłbyś mi jakoś łopatologicznie przedstawić pkt1 lub 2 albo napisać pseudokod ?
0 ralf napisał(a):Kolega to źle nazwał bo nie jest to optymalizacja tylko tworzenie architektury systemu. Jak najbardziej ma to sens na tym etapie projektu. I nie zgodzę się z podejściem wybiorę cokolwiek a później się zobaczy.
0 Ależ oczywiście, że jest to optymalizacja. Architektura to "dodam komponent do zapisu/odczytu danych", wybieranie konkretnej bazy (czy w ogóle zdecydowanie się na relacyjną bazę zamiast miliona innych rozwiązań) pod kątem performance'u to przedwczesna optymalizacja i szczegół implementacyjny.
0 W S&F czy OGame tak naprawdę nie ma dużo zdarzeń wymagających zapisu do bazy, wszystkie mainstreamowe rozwiązania (postgres, oracle, mysql, mongo itp) powinny sobie bez problemu poradzić przy 1k czy 10k graczy.
0 Kolega to źle nazwał bo nie jest to optymalizacja tylko tworzenie architektury systemu. Jak najbardziej ma to sens na tym etapie projektu. I nie zgodzę się z podejściem wybiorę cokolwiek a później się zobaczy.
1 public class Main { public static int splitArrayNumbers(int[] tab){ String[] strTab = new String[tab.length]; String splitNumber = ""; for(int i=0; i<tab.length; i++){ strTab[i] = Integer.toString(tab[i]); splitNumber = splitNumber + strTab[i]; } return Integer.parseInt(splitNumber); } public static void main(String[] args) { int tab[] = new int[] {10, 5341, 51}; int number = splitArrayNumbers(tab); System.out.println(number); }}
0 Jeśli chodzi Ci o to, aby sprawdzić czy jest literą lub cyfrą, czy nie jest, to:https://en.cppreference.com/w/cpp/string/byte/isalnum
0 Popełniasz błąd kardynalny, jeszcze nie masz linijki kodu a już chcesz optymalizować. Jeśli będziesz miał 10 graczy to możesz zapisywać do PostgreSQLa co ruch gracza. Jeśli będziesz miał 10 milionów graczy to polecam Cassandrę.
0 Hej!Nie wiem jak zaprogramować checkbox w DGV, który ma zmieniać sposób wyświetlania kolumny z hasłem - maskowane - FALSE lub niemaskowane-TRUE.Samo maskowanie hasła mam rozwiązane w ten sposób (Cell Formating):
1 private void tblEmployeeDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { { if (e.ColumnIndex == 4 && e.Value != null) { tblEmployeeDataGridView.Rows[e.RowIndex].Tag = e.Value; e.Value = new String('*', e.Value.ToString().Length); } } }```W apce korzystam z DataSource'a, więc większość danych mam ze sobą powiązanych (jedynie kolumna z checkbox jest dostawiona do apki).Jak rozwiązać ten problem? Nie mogę znaleźć osobnego eventu dla checkbox'a, a nie wiem jak użyć PasswordChar dla dgv.Za każdą pomoc będę wdzięczny :)
0 PSUdało mi się wygooglować tylko podobne problemy, ale nikt nie używał chb w dgv.
0 Cześć,
0 W oderwaniu od codziennego kodzenia w korpo stwierdziem że czas zrobić coś ciekawszego i stworzyć grę trochę podobną do shakes and fidget, też z elementami mmo czyli walka między graczami, rynek itd. Oczywiście czysto 4fun i do portfolio, jednak chciałbym w pewnym momencie uruchomić grę np na steam i tutaj pojawiają się 2 pytania.
0 Jak często robić zapis/odczyt do bazy? Myślicie, że serwer udźwignie strzały po każdej interakcji typu nowy lvl, kupienie przedmiotu, zabicie potworka itd. ? Może lepiej robić save niektórych elementów co pewien okres czasu? Prosiłbym o porady dobrej optymalizacji pracy z bazą w przypadku gry mmo.
0 Z jakiej bazy danych najlepiej korzystać w gamedev (unity, C#), oraz ile takie utrzymanie może kosztować mniej więcej miesięcznie? Jeśli macie doświadczenie w tej materii i możecie coś poradzić to byłbym wdzięczny.
1 masterkwi napisał(a):@Bean@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)public Order ShoppingBag(){return new Order();}//poprawione
0 Chodzi o to że ładuje do obiektu w sesji obiekt i dzięki temu osoba która jest zalogowana ma koszyk na zakupy
0 Możesz użyć encji z Hibernate jako session beana z Springa, jednak to słabe rozwiązanie.
0 Stworzone w ten sposób obiekty będą z automatu poza kontekstem Hibernate. Dowolna zmiana na widoku może ci wymusić zmianę w bazie danych (!)Te dwie rzeczy przysporzą ci sporo kłopotów w przyszłości, lepiej po prostu rozdzielić model widoku od modelu bazodanowego i mapować ręcznie - czyli stworzyć klasę OrderView/OrderDto/OrderMV/cokolwiek do trzymania tego na widoku i stworzyć metodę Order.from(OrderView) .
0 Jeśli już naprawdę nienawidzisz takiej roboty to możesz użyć jakiejś zabawki w stylu Dozera: https://www.baeldung.com/dozer , chociaż sam staram się unikać automagicznych rozwiązań.Jeśli mapowanie jest jakoś skomplikowane to Dozer (czy dowolny inny mapper) nie zaoszczędzi czasu. Jeśli mapowanie jest proste, to jest to maksymalnie 2 minuty pracy (zazwyczaj jednak jest to kwestia sekund).
0 https://faq.whatsapp.com/en/general/26000030
0 Pewnie inni też mają swoje FAQ.
0 Rozumiem zamysł biznesowy. Moje wątpliwości budził zapis Art. 267. KK w kontekście RE.
0 Masz na myśli jakieś konkretne materiały dotyczące " reverse engineering w kontekście interoperacyjności " ? Chciałbym zaktualizować bazę swojej wiedzy :-)
0 neves napisał(a):w czystym wpf nie ma propertygrida, to po prawej to jest kontrolka złożona itemscontrol + expander + textboxy + textblock + buttony, dużo niedokładnej pracy zostało włożone by ją stworzyć
0 natomiast zestaw darmowych kontrolek zawiera propertygrida:https://github.com/xceedsoftware/wpftoolkit/wiki/PropertyGrid
0 Ok. Dzięki zauważyłem, że można użyć kontrolki PropertiesGrid i zorientować na konkretną klasę. Czyli po lewej stronie wystarczy mi TreeList a po prawej PropertiesGrid.
0 w czystym wpf nie ma propertygrida, to po prawej to jest kontrolka złożona itemscontrol + expander + textboxy + textblock + buttony, dużo niedokładnej pracy zostało włożone by ją stworzyć
0 natomiast zestaw darmowych kontrolek zawiera propertygrida:https://github.com/xceedsoftware/wpftoolkit/wiki/PropertyGrid
0 podbijam
0 neves napisał(a):Po lewej to radiobutton z customowy templatem, a po prawej expandery z customowy templatem, na tym magia WPF polega że możesz dowolnie dostosowywać wygląd kontrolek :D
0 A gdybym chciał zachować samą funkcjonalność (bez kolorowania, bez WPF), to mógłbym po lewej stronie zrobić kontrolkę TreeView, a po prawej która by była to kontrolka bo nie mogę nic znaleźć takiego jak expandery czy propertygrid? Chciałbym mieć coś takiego np.
0 Po lewej to radiobutton z customowy templatem, a po prawej expandery z customowy templatem, na tym magia WPF polega że możesz dowolnie dostosowywać wygląd kontrolek :D
0 Piszę aplikację w C# .NET. Spodobał mi się w pewnej niemieckiej aplikacji sposób definiowania elementów. W lewej części wybieramy z obrazkowej (zagnieżdżanej listy) element, a po prawej definiowane są parametry dla wybranego elementu. Moje pytanie jest następujące: jakimi kontrolkami mogę osiągnąć ten sam efekt zarówno dla wyboru elementów z lewej strony jak i uzupełniania parametrów po prawej, które są pogrupowane zawsze w te same grupy i zawierają pola tekstowe i combobox (różny sposób podawania danych)?
0 brak możliwości edycji @Marooned
0 Ok. Zamówiłem sobie 128gb - będę tam po prostu wrzucał śmieci, żeby sobie leżały i nie zabierały miejsca na dysku. Takie śmieciowisko z tego zrobię, żeby nie zagracać mojego małego dysku...
1 @Bean@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)public Order ShoppingBag(){return new Order();}//poprawione
0 Chodzi o to że ładuje do obiektu w sesji obiekt i dzięki temu osoba która jest zalogowana ma koszyk na zakupy
0 Aktualna postać funkcji jest taka:
1 const draw = (() => { let _gd document.getElementById("getChartImage").addEventListener("click", () => { if (_gd) { Plotly.toImage(_gd).then( Plotly.downloadImage(_gd) ) } }) return () => { Plotly.newPlot("plotly", traces, layout, { responsive: true, displaylogo: false, locale: "pl", modeBarButtonsToRemove: ["toImage"] }).then(gd => { _gd = gd }, {once: true}) } })() draw()Co by tu można jeszcze zmodyfikować, tak aby addEventListenery się nie dublowały i zawsze pobierany był jeden obraz?
0 Czasami takie przejściówki nie działają (słabej jakości kabel, zrywa połączenie itp.), to też trzeba mieć na uwadze.
0 jundymek napisał(a):i używać tego jak normalnego dysku?
0 Jako zwykłego dysku karty SD (zwykle) nie można używać ponieważ nie jest dostosowany do zapisu ciągłego, może to spowodować wyłączenie gwarancji i oczywiście uszkodzenie karty, w tych pieniądzach kupisz normalny SSD i przejściówkę sata->usb, czy obudowę.
0 Polecam na czas instalacji podłączyć dysk normalnie (po SATA w środku komputera) i odłączyć inne dyski. Wtedy nie dość, że będzie szybciej, to jeszcze będzie pewność, że nie zostanie nadpisana tablica partycji z innego dysku. Ja raz tak się naciąłem. Miałem Windowsa na jednym dysku i instalowałem Linuksa. Nie dopilnowałem ustawień i instalator nadpisał mi boot sector na drugim dysku. O ile w Linuksie jest więcej możliwości konfiguracji, tak Windows do "siódemki" (nowsze nie wiem jak robią) nadpisywał MBR bez pytania o zdanie.
0 Już wiem co było przyczyną niepoprawnego podpisu...Tworząc dokument XML używałem:
1 XmlDocument xmlDocument = new XmlDocument();Po zmianie na:
1 XmlDocument xmlDocument = new XmlDocument() { PreserveWhitespace = true, };podpis działa poprawnie.
0 Odnośnie issuera, to taką nazwę podałem do ePUAP, więc takiego używam :)
0 Właśnie, nie wiadomo jak wielkie liczby mogą się pojawić; ja bym to na wszelki wypadek zrobił na bigintegerach (jak się da):
1 import java.math.BigInteger;class Main { static BigInteger concatArray(int [] arr) { int limit = arr.length; String s = ""; for (int i = 0; i < limit;++i) { s += Integer.toString(arr[i]); } return new BigInteger(s); } static int concatArray2(int [] arr) { int limit = arr.length; String s = ""; for (int i = 0; i < limit;++i) { s += Integer.toString(arr[i]); } return Integer.parseInt(s); } public static void main(String[] args) { int arr [] = {10, 1234, 678}; System.out.println(concatArray(arr)); // -> 101234678 System.out.println(concatArray2(arr)); // -> 101234678 }}
0 Wieśniacki sposób to zwyczajnie:
1 int[] a = new int[3];a[0]=10; a[1]=5341; a[2]=51;Long.valueOf(Arrays.stream(a).mapToObj(String::valueOf).collect(Collectors.joining()));
0 masterkwi napisał(a):Mam bean z zasięgiem sesji i czy mógłbym to jakoś wrzucić do bazy danych bez przepisywania pól do nowego Zamowienie()? Na razie to jeszcze nie ogarniam proxy w springu, tylko te zasięgi, ale muszę tego użyć
0 Czy to jest jakiś Twój projekt, na którym się uczysz? Czy może jest to projekt na studiach, kursie? A może jakieś zadanie w pracy?
0 W drugim przypadku, polecam zapytać prowadzących, których zadaniem powinno być odpowiednie wytłumaczenie Ci problemu i ew. wskazanie jakiejś ścieżki, do rozwiązania problemu.
0 Jeśli to ostatni z przypadków - w zespołach, w których dotychczas pracowałem, nie było problemu, gdy przychodził ktoś i uczył się danego frameworka, języka, paradygmatu itd. Od tego są starsi, bardziej doświadczeni koledzy i koleżanki, żeby wytłumaczyć takiemu początkującemu programiście pewne koncepty. Wszystko jednak z zachowaniem zdrowego rozsądku i poszanowania czasu kolegów, by nie zajmować im co chwilę czasu pytaniami, na które odpowiedź można znaleźć np. w google. Zawsze to lepiej wygląda, gdy przyjdziesz z jakąś propozycją rozwiązania lub przynajmniej choć trochę rozpoznanym tematem, niż z pytaniami "o co tu chodzi?", "jak ja mam to zrobić?".
0 Jeśli uczysz się sam - najpierw może odpowiedz, w jaki sposób dotychczas "wrzucałeś" dane do bazy danych?
0 Oczywiście, są pewne rozwiązania pozwalające na zapis takiego obiektu do bazy danych z wykorzystaniem np. ORMów, ale takie rozwiązanie nie jest najładniejsze i nie powinieneś mieszać logiki biznesowej Twojej aplikacji z operacjami IO (nie wspominając o antypatternie Open Session in View i co najmniej kilku innych problemach z tym związanych).
0 P.S. Możesz również wziąć pod uwagę sugestie od @kixe52, by kod pisać po angielsku i rzeczywiście nazywać metody w sposób odrobinę bardziej mówiący, co robią (+ camelCase). Nazwa beana zakupy mówi niewiele o jego przeznaczeniu.
0 @witu122 tak się nie da, bo twoja metoda NIE RZUCA wyjątku! Co jest zresztą dramatycznie źle napisane, bo teraz ktoś zawoła metodę createUsersList i może dostać pustą listę, myśląc że załadował dane z pliku.
0 Albo rzuć ten wyjątek z metody i pozbądź się catchAlbo lepiej zlap wyjątek a z metody zwracaj Optional<List<User>>> sygnalizując userowi że ta metoda może failowaćAlbo jeszcze lepiej zlap wyjątek a z metody zwracaj Either<Exception, List<User>>> sygnalizując userowi że ta metoda może failować i zwracając w takiej sytuacji informacje o błędzieNa marginesie logowanie w stylu System.out.print("Brak pliku o podanej nazwie"); to też dramat, bo co jak odpalisz to gdzieś bez wyjścia konsoli? Używaj Loggera ;)
0 @skrzat: Działa! Wystarczyło włączyć wsparcie dla TLS 1.2 i poszło! Jestem Twoim dłużnikiem.
0 Ja mam parę takich adapterów, ale najfajniejszy z nich to coś takiego: https://www.mediaexpert.pl/st[...]-unitek-y-3026-dual,id-659770 - Stacja dokująca UNITEK Y-3026 Dual i polecam. Jest to, tak jak chciałeś, na USB 3.0, dodatkowo posiada fajną opcję klonowania dysków, która działa całkowicie autonomicznie, bez konieczności podpinania kompa.
0 A co do samego bootowania - nie widzę problemu. Jak się instaluje obecnie systemy? W 95% przypadków pobierasz obraz ISO, wypalasz na pendrive, a potem uruchamiasz kompa i system z takiego urządzenia. Pendrive, patrząc na to, jak komputer go widzi, niczym się nie różni od dysku HDD/SSD wpiętego przez przejściówkę na USB. Natomiast, moim zdaniem, o ile można tak robić w przypadku okazjonalnego korzystania, to jeśli chcesz pracować dłużej, to nie pracuj na USB, bo to kiepski pomysł i jeśli się da, to wsadź dysk "po bożemu" do środka.
0 EDITJeszcze jedna uwaga/przemyślenie: Podane powyżej ozwiązanie wymaga zewnętrznego zasilania. Nie napisałeś tego, ale podejrzewam, że Twój dysk to będzie SSD, więc można go spokojnie zasilić z gniada USB (zresztą większość HDD 2,5" też dałoby radę). W takim przypadku lepszą opcją może być coś takiego:
0 EDITMam jeszcze coś takiego - https://www.komputronik.pl/pr[...]ogilink-usb-3-0-sata-ide.html. Jest to bardziej uniwersalne, bo jeszcze można podpiąć IDE (jeśli ktoś ma jakieś stare dane/archiwa/backupy na takich dyskach). Wymaga także zewnętrznego zasilania, ale w odróżnieniu od pierwszego podanego linku, tutaj zasilania nie podpinasz do urządzenia, tylko do dysku.
0 Pytanko odnośnie sprzętu - a konkretniej adaptera USB-SATA. Planuję zamówić dysk SATA i dokupić do niego adapter USB-SATA żeby podłączyć ten dysk do portu USB 3.0.Nie testowowałem do tej pory takiego rozwiązania i wolę zpaytać. Czy macie doświadczenie ze startowaniem Linuxa w takiej konfiguracji?Czy BIOS/EFI będzie w stanie taki dysk rozpoznać prawidłowo i czy bootloadery typu Grub/Syslinux dadzą sobie z tym radę?
0 Czy możecie polecić jakiś taki adapter z własnego doświadczenia?
0 Jakoś tam pracować się pewnie da ,ale istnieje możliwość ,że będzie długo odczytywać zapisywać." Odczyt/zapis 95/60 MB/s." prędkości nie są jakieś zawrotne.
0 Twoja metoda nie rzuci wyjątkiem tylko go obsłuży. To znaczy, ze mógłbyś sprawdzić sobie wyjście consoli. https://stackoverflow.com/que[...]t-test-for-system-out-println
0 http://access.mvps.org/access/reports/rpt0013.htm
0 To mi wygląda na problem XY: https://en.wikipedia.org/wiki/XY_problem
0 Napisz, co chcesz osiągnąć.Zapisywanie beanów zarządzonych przez Springa jest możliwe, ale zazwyczaj to jest bardzo słaby pomysł.
0 Witam,
0 Potrzebuje drobnej pomocy. Od kilku dni siedzę nad wydrukiem w C#. Pracuję na Visual Studio 2017 z dodatkiem Microsoft Report.Ogólnym zamysłem jest aby gotowy raport składający się z pięciu stron, był wysyłany do różnych podajników w drukarce, np. strona pierwsza raportu szuflada/tray 4, później kolejno 2,3,2 i 3. Dane w późniejszej fazie będę pobierać z SQL serwera.
0 Problem polega na tym ,że najpierw pobiera mi karty z szuflad i wyrzuca puste, a następnie drukuje całość dokumentacji z podajnika ręcznego.
1 using System;using System.IO;using System.Data;using System.Text;using System.Drawing.Imaging;using System.Drawing.Printing;using System.Collections.Generic;using System.Windows.Forms;using Microsoft.Reporting.WinForms;using System.Drawing;namespace Drukowanie_Test{ public partial class Form1 : Form { private int m_currentPageIndex; private IList<Stream> m_streams; private PrintDocument printDoc = new PrintDocument(); string p1 = "XXX"; string p2 = "XXX"; string p3 = "XXX"; string p4 = "XXX"; string p5 = "XXX"; string p6 = "XXX"; string p7 = "XXX"; string p8 = "XXX"; string p9 = "XXX"; public Form1() { InitializeComponent(); } private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek) { Stream stream = new MemoryStream(); m_streams.Add(stream); return stream; } private void Export(LocalReport report) { string deviceInfo = @"<DeviceInfo> <OutputFormat>EMF</OutputFormat> <PageWidth>8.5in</PageWidth> <PageHeight>11.69in</PageHeight> <MarginTop>0.05in</MarginTop> <MarginLeft>0.15in</MarginLeft> <MarginRight>0.15in</MarginRight> <MarginBottom>0.15in</MarginBottom> </DeviceInfo>"; Warning[] warnings; m_streams = new List<Stream>(); report.Render("Image", deviceInfo, CreateStream, out warnings); foreach (Stream stream in m_streams) stream.Position = 0; } private void PrintPage(object sender, PrintPageEventArgs ev) { Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]); Rectangle adjustedRect = new Rectangle( ev.PageBounds.Left - (int)ev.PageSettings.HardMarginX, ev.PageBounds.Top - (int)ev.PageSettings.HardMarginY, ev.PageBounds.Width, ev.PageBounds.Height); ev.Graphics.FillRectangle(Brushes.White, adjustedRect); ev.Graphics.DrawImage(pageImage, adjustedRect); switch (m_currentPageIndex) { case 0: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[5]; //2 Console.WriteLine("Powinno być z podajnika 4!"); break; case 1: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[3]; //3 Console.WriteLine("Powinno być z podajnika 2!"); break; case 2: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[4]; //2 Console.WriteLine("Powinno być z podajnika 3!"); break; case 3: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[3]; //4 Console.WriteLine("Powinno być z podajnika 2!"); break; case 4: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[4]; //4 Console.WriteLine("Powinno być z podajnika 3!"); break; } Console.WriteLine("Numer strony " + m_currentPageIndex + " ."); m_currentPageIndex++; ev.HasMorePages = (m_currentPageIndex < m_streams.Count); } private void Print() { if (m_streams == null || m_streams.Count == 0) throw new Exception("Error: no stream to print."); //PrintDocument printDoc = new PrintDocument(); if (!printDoc.PrinterSettings.IsValid) { throw new Exception("Error: cannot find the default printer."); } else { printDoc.PrintPage += new PrintPageEventHandler(PrintPage); //printDoc.QueryPageSettings += new QueryPageSettingsEventHandler(QueryPageSettings); printDoc.Print(); } } void QueryPageSettings(object sender, QueryPageSettingsEventArgs ev) { switch (m_currentPageIndex) { case 1: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[5]; break; case 2: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[3]; break; case 3: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[4]; break; case 4: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[3]; break; case 5: ev.PageSettings.PaperSource = printDoc.PrinterSettings.PaperSources[4]; break; } } public void Dispose() { if (m_streams != null) { foreach (Stream stream in m_streams) stream.Close(); m_streams = null; } } private void button1_Click(object sender, EventArgs e) { LocalReport report = new LocalReport(); report.ReportPath = @"..\..\Test.rdlc"; m_currentPageIndex = 0; report.DataSources.Clear(); ReportParameterCollection mojeDane = new ReportParameterCollection(); mojeDane.Add(new ReportParameter("p1", p1)); mojeDane.Add(new ReportParameter("p2", p2)); mojeDane.Add(new ReportParameter("p3", p3)); mojeDane.Add(new ReportParameter("p4", p4)); mojeDane.Add(new ReportParameter("p5", p5)); mojeDane.Add(new ReportParameter("p6", p6)); mojeDane.Add(new ReportParameter("p7", p7)); mojeDane.Add(new ReportParameter("p8", p8)); mojeDane.Add(new ReportParameter("p9", p9)); report.SetParameters(mojeDane); Export(report); Print(); Dispose(); } }}Niestety kończą mi się już pomysły, jak to rozwiązać. Drukarka posiada aktualne sterowniki.
0 Nie podałeś zbyt wielu konkretów - m.in. czy tablica zawsze ma ten sam rozmiar, jaki jest zakres liczb, które chcesz składać, co chcesz z nimi potem zrobić (tylko gdzieś wyświetlić, czy np. przekazać do dalszych obliczeń) ale pierwsze co mi przychodzi do głowy to zamiana każdej liczby na string, a potem sklejenie tego stringu. Jeśli będzie potrzebna potem liczba, możesz zamienić string na liczbę.
1 int[] tab = new int[] { 10, 5341, 51 };string s = $"{tab[0]}{tab[1]}{tab[2]}";int res = Convert.ToInt32(s); btw to jest C# i nie wiem czy tak samo w Javie to zrobisz, ale z przerobieniem nie powinieneś mieć problemu
0 Chodzi o to, aby to Access liczył strony (Strona X z Y). Jak policzyć ten Y?
0 Ktos napisał(a):Tak, port 8883 to port MQTT dla Azure IoT Huba. Tak, służy do komunikacji po MQTT z IoT Hubem. Uwaga, komunikacja jest po TLS (więc tu już będą problemy, kiedyś np. ESP8266 sobie niezbyt radziło, nie wiem jak teraz).
0 (...)Słowa "najprościej" i "Azure IoT" w jednym akapicie to przesada ;)
0 Ok, dzięki za odpowiedź. Aktualnie próbuję za pomocą programu mosquitto wysłać coś i odebrać z Azure IoT huba. Wygenerowałem sobie SAS-a i niby udaje się coś wysłać przy pomocy mosquitto_pub ale jeśli chodzi o odebranie tych danych przez mosquitto_sub to coś nie działa. Poniżej jak to wygląda:
0 Publikowanie stringa daje taki efekt:
1 Client device received CONNACK (0)Client device sending PUBLISH (d0, q0, r0, m1, 'devices/device/messages/events/', ... (22 bytes))Client device sending DISCONNECTA po stronie subskrybenta:
0 Client device received CONNACK (0)Client device sending SUBSCRIBE (Mid: 1, Topic: devices/device/messages/events/, QoS: 0, Options: 0x00)Client device received SUBACKSubscribed (mid: 1): 0Client device sending PINGREQClient device received PINGRESPGdzieś na jakiejś stronce widziałem, że przychodzą komunikaty PUBLISH po stronie subskrybenta, natomiast u mnie ich nie ma. Pytanko - czy trzeba coś ustawić/wyklikać w Azure IoT hubie na ich stronce, żeby te moje komunikaty przychodziły do mnie?
0 Edit: Przed chwilą sprawdziłem podobne akcje ale na innym brokerze i tam udaje mi się odbierać to co publikuję. O co biega z tym Azurem że nie działa?
0 Witam,Mam taki przypadek:
1 a[0]=10; a[1]=5341; a[2]=51;Chciałbym to zamienić na jedną liczbę 10534151.
0 czyli coś takiego ?
1 @Test void createUsersList() throws FileNotFoundException { File usersTest = new File("user.txt"); List<User> usersList=CheckUser.createUsersList(usersTest); assertThrows(FileNotFoundException.class,()-> {CheckUser.createUsersList(usersTest); });niestety cały czas nie łapie
1 @Bean@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)public Order ShoppingBag(){ return new Order();}Mam bean z zasięgiem sesji i czy mógłbym to jakoś wrzucić do bazy danych bez przepisywania pól do nowego Zamowienie()? Na razie to jeszcze nie ogarniam proxy w springu, tylko te zasięgi, ale muszę tego użyć
0 Generalnie nie da się rozwiązać tego bez tablicy, dowód w postaci przykładu:123123123...123tu dowolna cyfra z przedziału 1..3 <= czyli w tym miejscu trzeba znać ilości każdej z 3-ch liczb0
0 Po zmianie zadania przez moderatora:Wczoraj nie tylko @serek snu potrzebował :D
1 #include <iostream>using namespace std;int main(){ size_t bestcount=0,count=0; int bestvalue=0; for(int value=0,curr=0;(cin>>curr)&&(curr);) { if(value!=curr) { value=curr; count=0; } if(bestcount<++count) { bestcount=count; bestvalue=value; } } if(count) cout<<bestcount<<" times "<<bestvalue<<endl; else cout<<"0 times nothing"; return 0;}
0 Wywołanie metody która ma rzucić wyjątek wsadź do lambdy w assertThrows. Twój test nie przejdzie bo przecież łapiesz wyjątek w bloku catch.
0 Witam chciałbym złapać wyjątek w teście. Jestem początkujący w testach i niebardzo wiem jak to zrobić. Byłbym bardzo wdzięczny za pomoc.
0 Metoda która tworzy liste userów z pliku:
1 public static List<User> createUsersList(File users) { List<User> usersList = new ArrayList<>(); StringBuilder reading = new StringBuilder(); try { Scanner scan = new Scanner(users); while (scan.hasNextLine()) { String line = scan.nextLine(); String[] lineArray = line.split(","); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-d"); LocalDate date = LocalDate.parse(lineArray[2], formatter); if (lineArray.length < 4) { usersList.add(new User(lineArray[0], lineArray[1], date, null)); } else { Long phoneNumber = Long.parseLong(lineArray[3]); usersList.add(new User(lineArray[0], lineArray[1], date, phoneNumber)); } } } catch (FileNotFoundException e) { System.out.print("Brak pliku o podanej nazwie"); } return usersList;próba testu :
1 @Test void createUsersList() throws FileNotFoundException { File usersTest = new File("user.txt"); List<User> usersList=CheckUser.createUsersList(usersTest); assertThrows(FileNotFoundException.class,()->{}); }
0 Mój kompilator g++-8 milczy jak zaklęty, a w ogóle to nie mój kod, przepisałem tylko pseudokod @hauleth.
0 @crybaby: prawdopodobnie jest jakiś problem z szyfrowaniem. Może używasz starego TLS1.0 lub SSL3, który zostały wyłączone po stronie MF ? Spróbuj wymusić TLS1.2Akurat 8.10 były zmiany w API po stronie MF.Zmiany:• poprawione literówki w opisach błędów: WL-116 i WL-117• dodany kod błędu: WL-191• poprawiona wartość w Enum („Niezarejestrowany”) w polu „StatusVat”• dodana specyfikacja zawartości dla statusu http 400• połączenie typów Person i EntityPerson jako EntityPerson
0 WL-191 to błąd, gdy przekroczono ilość 10 zapytań z jednego adresu IP. Może w tym jest problem?Gdy przekroczysz ilość 10 zapytań, dostajesz kod 429 Too Many Requsts
0 kochansky napisał(a):Hej, szukam jakiejś klawiatury do biura mechanik chyba odpada nie chce denerwować ludzi chyba ,że jakiś mega cichy wtedy najlepiej bezprzewodowy.
0 Nie wiem jak gdzie indziej, ale u nas mechaniczne klawiatury raczej nikomu nie przeszkadzają. Niektórzy takie mają.
0 lion137 napisał(a): break; return;Może zaczniesz czytać komunikaty kompilatora?
1 lion137 napisał(a): curr_rep++;http://forum.4programmers.net/1101404
1 lion137 napisał(a): cin >> last; cout << "\n"; if (last == 0) { cout << max_rep << " times " << max_rep_num << "\n"; return; } cin >> curr; cout << "\n"; if (curr == 0) { cout << max_rep + 1 << " times " << max_rep_num << "\n"; break; return; }Słyszałeś o podstawowych zasadach jak np DRY?
0 mefsh napisał(a):Skorzystaj np. z debugbar'a https://github.com/barryvdh/laravel-debugbar i sprawdź jakie zapytanie generuje się po wywołaniu kodu, który zwraca brak wyników.
0 Coś takiego działa:
1 return Statistics::select('id', 'ip', 'date', 'user_id')->where('date', '>=', $dateFrom )->where('date', '<=', $dateTo )->where('user_id', $id)->groupBy('ip')->get();tylko jak to zapisać, żeby działało w database=>strict = true?
0 Może inaczej napiszę bo chyba się nie rozumiemy albo ja nie kojarzę.
0 Problem jest taki, że te tablice arr są generowane u mnie rekurencyjnie i za każdym razem wywołania rekurencji zapisywane są do tablicy arr. Chodzi mi o to, że ja muszę te wyniki z arr gdzieś zapisywać tak żeby mieć każdy z tych wyników np. w oddzielnej tablicy arr1, arr2, arr3 i móc to przekazać do tego Comparatora.
0 Problem został rozwiązany. Wystarczyła zmiana platformy docelowej na Win32 przy konfiguracji kompilacji x86 oraz użycie 32 bitowych bibliotek dla tego ustawienia.
1 Integer.toBinaryString(int i)
0 Hasło na wieczór: bitmask
1 XOR0^0 = 00^1 = 11^0 = 11^1=0
0 bit XOR 0 nie zmienia bitubit XOR 1 neguje bit
0 Zrób XOR z maską 0 na pozycjach bitów nieparzystych, jeden na pozycjach bitów parzystych.
1 @RunWith(Parameterized.class)public class XORParameterizedTest { @Parameterized.Parameter(value = 0) public int a; @Parameterized.Parameter(value = 1) public int b; @Parameterized.Parameter(value = 2) public int xor; @Parameterized.Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][]{ {0, 0, 0}, {0, 1, 1}, {1, 0, 1}, {0, 0, 0} }); } @Test public void shouldDoXOR() { int result = a ^ b; assertThat(result, is(equalTo(xor))); }}Wyświetlanie od tyłu dasz radę bez podpowiedzi. Zwykła pętla for odliczana -1 od końca tablicy-stringa bedzie OK
0 Nie przejmuj się zadaniem, sam musiałem wystackoverfloować ;) Integer.toBinaryString i jak się oznacza w Java XOR, to jest ^
1 public class XORTest { @Test public void shouldDo0XOR0() { int a = 10; int b = 7; int result = a ^ b; assertThat(result, is(equalTo(13))); assertThat(Integer.toBinaryString(a), is(equalTo("1010"))); assertThat(Integer.toBinaryString(b), is(equalTo("111"))); assertThat(Integer.toBinaryString(result), is(equalTo("1101"))); }}W XOR nie ma przeniesienia nadmiaru na starszy bit.
0 Wyświetlanie
1 public class XOR { public static String mirrorBinaryNumber(String binary) { if (binary == null || "".equals(binary)) { return binary; } return recReverse(binary, binary.length() - 1); } private static String recReverse(String binary, int position) { if (position == 0) { return "" + binary.charAt(position); } else { return "" + binary.charAt(position) + recReverse(binary, position - 1); } }}public class XORMirroringTest { @Test public void shouldReverseBasicCases() { assertThat(XOR.mirrorBinaryNumber(null), is(equalTo(null))); assertThat(XOR.mirrorBinaryNumber(""), is(equalTo(""))); assertThat(XOR.mirrorBinaryNumber("0"), is(equalTo("0"))); assertThat(XOR.mirrorBinaryNumber("1"), is(equalTo("1"))); assertThat(XOR.mirrorBinaryNumber("00"), is(equalTo("00"))); assertThat(XOR.mirrorBinaryNumber("11"), is(equalTo("11"))); assertThat(XOR.mirrorBinaryNumber("01"), is(equalTo("10"))); assertThat(XOR.mirrorBinaryNumber("10"), is(equalTo("01"))); assertThat(XOR.mirrorBinaryNumber("10110001101"), is(equalTo("10110001101"))); }}I do poćwiczenia w/s pyt. na priv.
1 public class XOR { public static String mirrorBinaryNumber(String binary) { if (binary == null || "".equals(binary)) { return binary; } return recTailReverse(binary, binary.length() - 1, ""); } private static String recTailReverse(String binary, int position, String acc) { if (position < 0) { return acc; } else { return recTailReverse(binary, position - 1, acc + binary.charAt(position)); } }}Test zostaje ten sam
0 Może ktoś dać jakieś wskazówki do tych 2 zadań, nie wiem czy należy przesuwać bity czy nie, jeżeli tak to jak to zrobić. Nie liczę na rozwiązanie, a na jakąś podpowiedź. Jeżeli temat jest w złym miejscu to napiszcie.
0 1.Zadeklaruj i zainicjuj zmienną b typu byte. Napisz program wyświetlający na konsoli liczbę, którego zapis binarny jest lustrzanym odbiciem zapisu binarnego zmiennej b.
0 public class xxx{ public static void main(String[] args){ byte b = 14; // 00001110}}2.Zadeklaruj i zainicjuj zmienną b typu byte. Napisz program wyświetlający na konsoli liczbę, którego zapis binarny powstaje z zapisu binarnego zmiennej b po zastąpieniu na pozycjach parzystych 1 zerem, 0 jedynką.
0 Skorzystaj np. z debugbar'a https://github.com/barryvdh/laravel-debugbar i sprawdź jakie zapytanie generuje się po wywołaniu kodu, który zwraca brak wyników.
0 Ja mam takie coś: Logitech pro 2800. Grubo ponad 10 lat i nadal super działa.
0 Myślisz o czymś takim:
1 return DB::table('statistics') ->select(DB::raw('ip, id, user_id', 'date', 'quest_id')) ->where('user_id', '=', $id) ->where('date', '>=', $dateFrom) ->orWhere('date', '<=', $dateTo) ->groupBy('ip') ->distinct() ->get();```?Jeśli tak, to ten kod zwraca wyniki
0 Stwórz sobie projekt maven. Klikasz new->maven project. Zaznaczasz tam skip archetype project.
0 Następnie będziesz miał w plikach plik pom.xml.
0 Do tego pliku doklej taki kodzik:
1 <properties> <maven.compiler.version>12</maven.compiler.version> <maven.compiler.target>12</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.6.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.4.4.Final</version> </dependency> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> </dependencies>Następnie stwórz plik "persistence.xml" w folderze src/main/resource/META-INF. Jeśli go nie masz to stwórz. Wklej do niego to i uzupełnij.
1 <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1"> <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/**TUTAJ NAZWA TWOJEGO SCHEMATU BAZY DANYCH**?useSSL=false&serverTimezone=UTC" /> <property name="javax.persistence.jdbc.user" value="**TUTAJ PODAJ LOGIN BAZY DANYCH**" /> <property name="javax.persistence.jdbc.password" value="**TUTAJ PODAJ HASŁO**" /> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> </properties> </persistence-unit></persistence>Value drop-and-create oznacza że przy każdym starcie programu będzie usuwana baza danych i tworzona.
0 Potem stwórz sobie klase, najprostszą java którą nazywa się DAO. Załóżmy że chciałbyś zapisywać, odczytywać ludzi z danej bazy, więc powinna w najprostszym wykonaniu wyglądać tak.
1 import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.EntityTransaction;import javax.persistence.Persistence;public class PeopleDao { private EntityManagerFactory emFactory; private EntityManager entityManager; public PeopleDao() { emFactory = Persistence.createEntityManagerFactory("myPersistenceUnit"); // myPersistenceUnit jest to nazwa z pliku persistence.xml tam nazwaliśmy w ten sposób nasze dane do połaczenia entityManager = emFactory.createEntityManager(); } public void save(People people) { EntityTransaction tx = entityManager.getTransaction(); tx.begin(); entityManager.persist(people); tx.commit(); } public People get(Long id) { People people= entityManager.find(People.class, id); return people; } @Override public void cleanUp() { entityManager.close(); emFactory.close(); }}Ostatnia rzecz to stworzenie klasy People która przechowuje człowieka. A następnie klasa main cos w tym stylu:
1 public class Main { public static void main(String[] args) { People people= new People("Jacek", "Wrona"); PeopleDao peopleDao= new PeopleDao(); peopleDao.save(people); System.out.println("People saved"); peopleDao.cleanUp(); }}Oczywiście nigdy w życiu tego nie wykorzystasz w pracy czy coś, ale jest to "najprostsza" implementacja. Do webowych aplikacji polecam pouczyć się Springa, Springa data, rest itd.
0 Wklej ponownie ten kod i wrzuć w znaczniki ```csharp.Napisz z czym dokładnie masz problem. Czego nie rozumiesz?Nie wiesz jak działa któraś część czy nie wiesz jak rozbudować ten program?
0 Dla dziennikarza, PM'a, pisarza, sekretarki ... i innych zawodów gdzie napierdziela się tony tekstu to może mieć znaczenie, ale dla programisty o ile nie pisze w ASM nie powinno mieć to znaczenia. Ja często kończę dzień poprawiając potężny bug zmieniając 1 linijkę kodu (i to trwożnie). Jeśli pisze się coś nowego to gro rzeczy generuje IDE. Moim zdaniem czas wklepywania do maszyny to jakieś 1% pracy programisty i nie jest on robiony ciągiem.
0 Jak w tytule - więcej info na priv.
0 Według mnie wszystkie potrzebne biblioteki zostały zawarte, nie mam pojęcia co może powodować ten błąd. Reinstalowałem już całego Visuala (projekty można zakładać, ale również bez możliwości ustawienia kompilacji pod x86):
0 @hauleth: Sprawdź, poprawiłem to max_curr_rep i dodałem 1 w wydruku, bo nie zapamiętywał pierszej wczytanej liczby:
1 #include <iostream>using namespace std;void readNums() { int last; int curr = 0; int max_rep = 1; int curr_rep = 1; int max_rep_num; cout << "Enter the number: \n"; cin >> last; cout << "\n"; max_rep_num = last; if (last == 0) { cout << max_rep << " times " << max_rep_num << "\n"; return; } while (1) { cin >> curr; cout << "\n"; if (curr == 0) { cout << max_rep << " times " << max_rep_num << "\n"; break; return; } if (last == curr) { curr_rep++; if (curr_rep > max_rep) { max_rep = curr_rep; max_rep_num = curr; } } if (last != curr) { last = curr; curr_rep = 1; } }}int main(int argc, char **argv){ readNums(); return 0;}
0 Tak sprawdż na której jestes stronie w stopce grupy.
0 Uuuu... polskie nazwy kolumn :(
0 Nie widzę sensu stosowania nazw dla PK w stylu "IdLekarza". Nazwij to po prostu "Id".
0 Polskie litery w nazwach kolumn? Auć...
1 Varchar(20) to może być za mało dla niektórych danych.
0 A zrób może query metodą RAW i zobacz czy zwróci Ci prawidłowe wyniki.
0 MackoSawko napisał(a):Hej,
0 lekko pozmieniałem bazę, wyszło tak :
0 Wygląda OK...
0 Mam pytanie czy dla takich funkcjonalności jak tworzenie pacjentów, lekarzy z przydzielaniem specjalizacji, tworzenie wizyt (termin, lekarz, pacjent) będzie to wystarczające ?
0 Co do modelu relacyjnego to tak.A co do atrybutów (jakie kolumny mają mieć poszczególne tabele i co powinno się w nich znaleźć), to sam sobie odpowiedz.
0 Chcę napisać proste REST Api w Springu a do frontu chciałem użyć Angulara.
1 Mógłby mi ktoś jeszcze pomóc w dobieraniu typów ? Czy BigInt będzie dobrym rozwiązaniem dla numeru telefonu i peselu ?Nie.Użyj Varchar lub Char.
0 Czy jak stworzę kilka specjalizacji w bazie "Specjalizacje" to klucz obcy (IdSpecjalizacji) w "Lekarzach" jest okej do przydzielania kilku specjalizacji lekarzom ?Np. rekordy dla jednego lekarza, który ma kilka specjalizacjiChodzi mi o coś takiegoIdLekarzaImię/NazwiskoIdSpecjalizacji1Jan Kowalski1 (Lekarz rodzinny)2Jan Kowalski2 (Laryngolog)3Jan Kowalski3 (Kardiolog)Czy takie rozwiązanie chodź trochę jest dobre ? :D
0 To jest fatalne rozwiązanie...Jeżeli lekarz może mieć wiele specjalizacji, to nie jest to poprawne.Potrzebujesz dodatkowej tabeli która będzie wiązała wiele specjalizacji do wielu lekarzy.Analogicznie jak zrobiłeś tabelę Terminy.
0 Zmienne:
1 last - ostatnia wczytana liczbacurr = 0 - obecna liczbamax_rep = 1 - najdłuższe powtórzeniecurr_rep = 1 - obecne powtórzeniemax_rep_num - liczba w najdłuższej sekwencjiKroki:
0 Wczytaj liczbę do last.Przypisz last do max_rep_numJeśli last równe 0:Zakończ i wypisz "max_rep_num times max_rep_num"Wczytaj liczbę do curr.Jeśli curr równe 0:Zakończ i wypisz "max_rep_num times max_rep_num"Jeśli last jest równe curr:zwiększ curr_repjeśli curr_rep większe od max_rep:Przypisz curr_rep do max_repPrzypisz curr do max_rep_numJeśli last jest różne od curr:Przypisz curr do lastPrzypisz 1 do curr_repPrzejdź do kroku 4.
0 @lookacode1: Dla 2, 3, 2, 2, 4, 5 ,0 daje 2 times 2, a powinno 3 times 2.
0 Neron101 napisał(a):23 22 23 22 23 3 3 23 2 -6 -6 -6 0wynik powinien byćLongest sequence: 4 times 23
0 Wynik nic nie ma to wspólnego z sekwencją kolejnych liczb o tych samych wartościach.
0 Wynikiem raczej powinno być 3 times -6
0 Nwm czy dobrze zrozumiałem treść zadania ale jeżeli chodzi o zliczanie kolejnych takich samych liczb to tak można to zrobić:
1 int main() { int previousSeqValue = 0, previousSeqNumber = 0; int currentSeqValue = 0, currentSeqNumber = 0; int value; do { std::cin >> value; if (value == currentSeqValue) ++currentSeqNumber; else { if (currentSeqNumber > previousSeqNumber) { previousSeqValue = currentSeqValue; previousSeqNumber = currentSeqNumber; } currentSeqValue = value; currentSeqNumber = 1; } } while (value != 0); if (currentSeqNumber > previousSeqNumber) { std::cout << currentSeqNumber << " times " << currentSeqValue << std::endl; } else { std::cout << previousSeqNumber << " times " << previousSeqValue << std::endl; } return 0;}dla 10 20 30 40 40 40 50 60 70 wynik bedzie: 3 times 40
0 Hej,
0 lekko pozmieniałem bazę, wyszło tak :
0 Mam pytanie czy dla takich funkcjonalności jak tworzenie pacjentów, lekarzy z przydzielaniem specjalizacji, tworzenie wizyt (termin, lekarz, pacjent) będzie to wystarczające ? Chcę napisać proste REST Api w Springu a do frontu chciałem użyć Angulara.
0 Mógłby mi ktoś jeszcze pomóc w dobieraniu typów ? Czy BigInt będzie dobrym rozwiązaniem dla numeru telefonu i peselu ?Czy jak stworzę kilka specjalizacji w bazie "Specjalizacje" to klucz obcy (IdSpecjalizacji) w "Lekarzach" jest okej do przydzielania kilku specjalizacji lekarzom ?Np. rekordy dla jednego lekarza, który ma kilka specjalizacjiChodzi mi o coś takiego
0 IdLekarzaImię/NazwiskoIdSpecjalizacji1Jan Kowalski1 (Lekarz rodzinny)2Jan Kowalski2 (Laryngolog)3Jan Kowalski3 (Kardiolog)Czy takie rozwiązanie chodź trochę jest dobre ? :D
0 Odpal Visual Studio Installer i zobacz czy nie brakuje tam czegoś oczywistego w wybranych pakietach..
0 Czy problem występuje też po utworzeniu nowego projektu? (i czy w ogóle udaje się go utworzyć?)
0 Commander300 napisał(a):Panowie próbowałem już wszystkiego. Taki oto jest komunikat:
0 VCS root configuration problemsThe directory 'tu adres na dysku' is registered as a Git root, but no Git repositories were found there.
0 w konfiguracji wybrałem folder projektu. Ja to rozumiem, że nie chce utworzyć folderu .git
0 Czy na Twoim repo są jakieś dane już, czy jest to całkiem nowe repozytorium?
0 Jeśli jest tam już coś to wystarczy że wpiszesz:git clone https://adres-Twojego-repo # ale "clone", a nie "init"i jesteś w domu.
0 Jeśli to jest zupełnie nowe repo to musisz zrobić tak:Zainicjalizować repo u siebie w folderzeDodać jakiś plikZrobić commitDodać "remote'a" w gicieWypchnąć zmiany na servergit init # bez adresu!git add jakiśTwójPlik.txtgit commit -m "Initial commit"git remote add origin https://adresTwojego-nowego-repogit push -u origin master
0 Witam wszystkich serdecznie na tym Forum, jestem początkującym programistą w języku C# i chciałbym się zwrócić do was o pomoc z pewnym zadaniem. Czy możecie mi pomóc i wyjaśnić jak mogę owe zadanie zakończyć tak abym mógł je w pełni zrozumieć. Niestety są to technologie których nie łapie a bym chciał się ich nauczyć. (Podaje plik w załączniku)
0 Bardzo bym prosił o pomoc i wyjaśnienie co i jak z tym programem (jestem początkujący i chciałbym to zrozumieć).
0 Dziękuję za wszelkie wskazówki i pomoc
0 Dobrą klawiaturę do pracy, która wytrzyma lata można kupić poniżej 100zł. […] Wystarczy nie szukać świecidełek i szpanerskich mechaników jak z hakerskiego filmu.
0 Zależy czego oczekujesz. Jeśli zadowala Cię membrana to ok, ale niestety jest tutaj trochę więcej rzeczy do uwzględnienia.
0 Oczywiście Razer, Corsair czy Logitech w swoich klawiaturach "dla graczy" ma głównie marketing, bo jakość wykonania mocno kuleje. Jeśli ktoś chce sobie kupić "zwykłego mechanika" to znajdziesz do 350 zł bez problemu. Jednak jeśli ktoś chce coś "bardziej" to już zaczynają się trochę schody, bo:
0 przełączniki to 1-5 zł za sztukę (na AliExpress też) a na większość klawiatur potrzeba od 64-109 przełącznikówPCB kosztują ok 60-100 zł za sztukę, od razu z mikrokontroleremobudowa zależy od materiału - od 25 (plastik) do 400/500 (aluminium CNC)plate (jeśli klawisze mają być na osobnej płytce a nie montowane bezpośrednio na PCB) - 20-80 złdo tego same klawisze od 30 zł za tanie ABSy po dużo za customowe double-shot PBTstabilizatory (jeśli trzeba) - 20-50 złWięc jak się to poskłada do kupy, to nagle się okazuje, że trochę tego jest i to wszystko kosztuje.
0 Witam, dopiero zaczynam przygodę z c++ i trochę męczę się z tym zadaniem ponieważ nie umiem zrobić tego bez tablic. Ktoś ma jakieś pomysły?
0 Napisz program wczytuj¡cy liczby całkowite aż do pojawienia się zera i wypisujący długość najdłuższej sekwencji kolejnych liczb o takich samych warto±ciach (oraz tę wartość). Na przykład dla23 22 23 22 23 3 3 23 2 -6 -6 -6 0wynik powinien byćLongest sequence: 3 times -6
0 Nie używaj tablic, napisów ani żadnych innych kolekcji.
0 Z góry dzięki ;D
0 O ile święcące, mechaniczne czy inne klawiatury to imho troche fanaberia, tak ergonomiczna klawiatura to life changer. Polecam MS Sculpt Ergonomic Desktop, klawiatura i myszka. Da się to wychaczyć chyba za jakieś 400PLN, więc spokojnie mieści się w budżecie.
0 Panowie próbowałem już wszystkiego. Taki oto jest komunikat:
0 VCS root configuration problemsThe directory 'tu adres na dysku' is registered as a Git root, but no Git repositories were found there.
0 w konfiguracji wybrałem folder projektu. Ja to rozumiem, że nie chce utworzyć folderu .git
0 Krystian Zarzycki napisał(a):Dobra przebudowałem cały ten syf, i działa dzięki za pomoc i następnym razem będę się starał robić to porządnie, chociaż brak mi jeszcze umiejętności!
0 Działa? Co działa? Sortowanie wg adresu struktury? Przecież skoro to jedna tablica to adresy będą wzrastająco czyli żadnego sortowania!
0 No to jak się chwalimy, to tez pokażę, na czym (w domu) sobie klepię:
0 furious programming napisał(a):Wyraźnie napisałem co jest rozwiązaniem – ActivateHint i CancelHint.
0 Napisałeś owszem wyraźnie, ale najwyraźniej nie sprawdziłeś jak to zadziała.
0 Dobra przebudowałem cały ten syf, i działa dzięki za pomoc i następnym razem będę się starał robić to porządnie, chociaż brak mi jeszcze umiejętności!
0 Tomek Pycia napisał(a):Jam ma takie coś chyba już 6 albo 7 rok i daje radę.
0 Przebijam. Mam takie coś. Od półtora roku co prawda ale jednak.
0 Krystian Zarzycki napisał(a):Powiem ci tak, wiele zwłaszcza te C to po prostu z poradnika jaki dostaliśmy od prowadzącego, po prostu do skopiowania stąd te C, chciałem inaczej zrobić ale patrze, mam coś co działa to biorę :D
1 No tak, copy paste driven development
0 Powiem ci tak, wiele zwłaszcza te C to po prostu z poradnika jaki dostaliśmy od prowadzącego, po prostu do skopiowania stąd te C, chciałem inaczej zrobić ale patrze, mam coś co działa to biorę :D
0 Krystian Zarzycki napisał(a):... Nie wiem w sumie jak to dokładnie już zrobić, jakieś sugestie ...
0 Jak ty nie wiesz w jakiej kolejności mają iść rekordy to skąd my mamy wiedzieć?
0 Witam,Jestem początkujący, uczę się na materiałach pewnej uczelni. Jedno z poleceń mówi ,,Zadeklaruj i zainicjuj zmienną typu byte. Napisz program wyświetlający na konsoli sumy wszystkich bitów na pozycjach parzystych/nieparzystych.Prosiłbym o odpowiedź w kodzie.
0 Dziękuję za pomoc
0 Poczytaj sobie o reverse engineering w kontekście interoperacyjności jeśli chodzi Ci o legalność takich rozwiązań do urządzeń, których żywot dobiegł końca. Zwłaszcza w Polsce.
0 To, że producent nie zapewnia już wsparcie technicznego wcale nie świadczy o tym, że klient nie posiada odpowiednich techników lub może wynająć zewnętrzną firmę, która świadczy takie usługi. Dla nich kierowany jest nasz produkt.
0 Soft, jak rozumiem, to generator kluczy? Nie widziałem na żywo tomografu, ani tym bardziej umowy licencyjnej, która reguluje warunki korzystania z takiego urządzenia, ale nasuwa mi się pytanie, czy to jest legalne?
0 Drugie pytanie, czy to jest odpowiedzialne? Skoro nie ma "odpowiedniego wsparcia technicznego", to dlaczego udostępniać kody serwisowe personelowi, który jest "nietechniczny"?Osoba nietechniczna w dobrej wierze coś tam pogrzebie, pacjent być może ucierpi.
0 Po if'ie otwórz klamerkę, bez tego algorytm się zacina
1 for (int j = 1; j < N - i; j++){ if (tab[j - 1] > tab[j]) { swap(tab[j - 1], tab[j]); changes = true; }}Miałbym bardzo wiele do stylu.Między innymi nazwy funkcji kłamią, toString nie robi żadnego toStringa ino drukuje.Dwie przesilone funkcje jedna powinna korzystać z drugiej, a nie kopia implementacjiKolejne to takie brzydkie C "ze strumieniami C++", nawet nie C z klasami.Drukowanie z wewnętrznych części algorytmu (implementacji) a powinno być przez klienta (aby mógł tego nie robić)
0 Wyraźnie napisałem co jest rozwiązaniem – ActivateHint i CancelHint.
0 Po to podałem dwie metody, jedną do pokazywania i drugą do chowania dymku, aby z obu skorzystać. Bo rozwiązaniem nie jest jedynie ukrywanie hinta, ale też jego pokazywanie w odpowiednim momencie. Do tego wbudowany mechanizm absolutnie się nie nadaje i zamiast doklejać protezy parcianym lepcem, należy zaimplementować w całości własny mechanizm.
0 Zresztą sam taki mechanizm implementowałem swego czasu na potrzeby formatowalnej etykiety, w której linków może być bądź ile, a każdy z nich posiada swój własny dymek (gdzie czas wyzwalania i okres widoczności dymku może być różny dla linków w obrębie tego samego komponentu). Działa wyśmienicie. Wykorzystany został m.in. w demówce, którą przedstawiłem w wątku Własny interfejs aplikacji – przegląd kontrolek i test działania (w załącznikach jest spakowana binarka, można się pobawić).
0 Wiele urządzeń medycznych, takich jak tomografy komputerowe Philips CT K2000 posiadają wewnętrzne menu serwisowe, które nie jest dostępne bez podania specjalnego kodu dostępu, tzw. kodu serwisowego.
0 Często dostęp do kodów serwisowych jest niemożliwy do uzyskania ze względu na wiek sprzętu medycznego i brak odpowiedniego wsparcia technicznego.
0 Nasza firma stworzyła generator kodów serwisowych dla tych urządzeń. Na podstawie identyfikatora sprzętowego (tzw. machine id) potrafi wygenerować odpowiedni kod serwisowy do wykorzystania w oprogramowaniu K2000 Visa Entry, które stworzy odpowiedni plik pozwalający na dostęp do menu serwisowego.
0 https://www.pelock.com/pl/usl[...]y-generator-kodow-serwisowych
0 cerrato napisał(a):@Freja Draco: To jest tak samo, jak z bieganiem. Dawniej po prostu się zakładało trampki i do parku.
0 Aktualnie trzeba kupić specjalne buty za przynajmniej 5 stów, do tego obcisłe legginsy z błyszczącego materiału, koszulka która aktywnie odprowadza pot, ipod ze specjalnymi słuchawkami do joggingu, smartwatch z monitorowaniem pulsu, wysoce chłonna opaska na czoło i dwie na ręce, plus butelka napoju izotonicznego - oczywiście w wersji przeznaczonej dla biegaczy. Bo ludzie od rowerów czy piłki nożnej muszą mieć izotonik o innym składzie.
0 Trochę offtop ale tu jest podobnie jak z klawiaturami. W butach biegowych biega się o niebo lepiej niż w trampkach. Tyle tylko, że swoje buty do biegania kupiłam za 250 zł zamiast 400 zł bo... to był model z zeszłego roku. Wnioskuję, że szybkość postępu technologicznego jest tu kilka razy większa niż obecnie w branży komputerowej ;) Ubranie też ma znaczenie, odpowiednie upięcie włosów, odpowiednie zabezpieczenie stuków (u obu płci), ale ponownie - to wszystko można ogarnąć za 100 - 200 zł, a można wydać jakieś kosmiczne pieniądze, jak dziunie, które biegną się pokazać. A stoper i Excel mi w zupełności wystarcza, żeby sprawdzać wyniki. Natomiast słuchawki z zausznikami są bez sensu. Stare dobre douszne (nie dokanałowe) z pałąkiem przerzuconym przez szyję i żabką trzymają się gdzie trzeba i nie zatykają uszu.
0 Kiedyś to się szło do komputronika i kupowało klawkę za 20 dyszki ;)
0 Jam ma takie coś chyba już 6 albo 7 rok i daje radę.
0 @Freja Draco: To jest tak samo, jak z bieganiem. Dawniej po prostu się zakładało trampki i do parku.
0 Aktualnie trzeba kupić specjalne buty za przynajmniej 5 stów, do tego obcisłe legginsy z błyszczącego materiału, koszulka która aktywnie odprowadza pot, ipod ze specjalnymi słuchawkami do joggingu, smartwatch z monitorowaniem pulsu, wysoce chłonna opaska na czoło i dwie na ręce, plus butelka napoju izotonicznego - oczywiście w wersji przeznaczonej dla biegaczy. Bo ludzie od rowerów czy piłki nożnej muszą mieć izotonik o innym składzie.
0 Budżet ~700/800 złoty jak coś mega dobrego będzie to oczywiście nie zamykam się na tą kwotę mogę dołożyć.
0 Ludzie, co wy macie z tymi klawiaturami za milion debiliardów?
0 Dobrą klawiaturę do pracy, która wytrzyma lata można kupić poniżej 100zł. Logitech to w tej kwestii bardzo dobra firma. Wystarczy nie szukać świecidełek i szpanerskich mechaników jak z hakerskiego filmu.
0 Poszukaj jakiegoś Logitech Deluxe albo coś.
0 leonpro778 napisał(a):Ogólnie to zarówno group by jak i distinct działa poprawnie. Możesz jeszcze pokazać model Statistics?
1 class Statistics extends Model{ protected $quarded = ['id']; protected $fillable = ['company_id', 'agent', 'date', 'ip', 'user_id', 'quest_id', 'browser', 'platform', 'language']; public $timestamps = false; //protected $table = 'statistics';}
0 Ogólnie to zarówno group by jak i distinct działa poprawnie. Możesz jeszcze pokazać model Statistics?
0 kochansky napisał(a):axde napisał(a):G915.Nie będzie za głośna?
0 Dla mnie osobiście nie, i pewnie wybrałbym pierwszą. Masz 3 różne rodzaje kliku. Ewentualnie IBM Model M. Dziś co prawda nie nazywa się już tak.Po przejęciu przez pracowników IBM, którzy odkupili patenty, maszyny, i całą technologię to teraz Unicomp. Ale to nadal ta sama klawiatura z tym samym mechanizmem - sound test, review.
0 leonpro778 napisał(a):To może pokaż co masz w tabeli Statistics :)
0 W Accessie w raporcie z grupowaniem danych nie ma możliwości policzenia stron w grupie. Właściwość Pages podaje ilość stron całego raportu, sumę stron wszystkich grup. Czy dałoby się za pomocą jakiejś sztuczki policzyć strony dla każdej grupy zawartej w raporcie?
0 To może pokaż co masz w tabeli Statistics :)
0 hauleth napisał(a):Jeśli mechaniki to szukaj czegoś z tactile (brown, purple, orange) lub linear (red, black, silver, gold, yellow). Ewentualnie możesz ogarnąć Topre, które też są bardzo ciche.
0 Sprawdzę na pewno.
0 axde napisał(a):G915.Nie będzie za głośna?
0 axde napisał(a):Kamil Żabiński napisał(a):Konfederat napisał(a):A to Kotlin już nie na topie?
0 Kotlin nie jest uważany przez wielu za język funkcyjny. Chyba główny zarzut to brak niezmiennych kolekcji co można rozwiązać za pomocą biblioteki vavr. Jeśli do tego doda się bibliotekę ARROW to ma się już dość ładny język funkcyjny. Problemem jest to że ARROW nie ma jeszcze wersji 1.0.0 oraz posiada zależności do Javy więc nie można jej używać w kotlinie.js oraz kotlinie native
0 A nie dlatego, że Kotlin jest Multi paradigm? Języków w wersji pure functional powołując się na wikipedię jest 18, a tych będących do wszystkiego znacznie więcej.
0 Multi paradigm to trochę takie marketingowe pojęcie. Powołując się na wikipedię:
0 Go ma 4 paradygmaty (concurrent, imperative, reflection, pipelines)Java 6 ma 5 paradygmatówHaskell ma od 8 do 15 paradygmatów, w tym oczywiście programowanie obiektowe, ale tylko dla niezmiennych obiektów. Co w czasach bezstanowego backendu nie powinno często przeszkadzać
0 Dzięki. Teraz się wykonuje, ale zwraca także 0 wyników
0 Jeżeli chcesz skorzystać z groupBy to: https://stackoverflow.com/que[...]r-access-violation-1055-error
0 Na tym polegają praktyki, że masz wynieść z nich jak najwięcej. Dobrze, że rzucili Cię na głęboką wodę, a nie każą konfigurować sprzęt 10 dni.Nie wyrabiasz się w godzinach praktyk? Posiedź nad tym wieczorem. Im więcej zrobisz, tym bardziej to zaowocuje potem.Masz problem? Podpytaj opiekuna, ale niech to będzie sensowny problem a nie pytanie w stylu dlaczego tu w kodzie używa się equals a nie ==.
0 Nie poddawaj się, początki zawsze są trudne.
0 Nie znam się, to się wypowiem.
0 W skrócie: Haskell.
0 Byłem w podobnej sytuacji, tzn. co wybrać, bo nie mógłbym powiedzieć, że znam FP, bo umiem w Javie korzystać ze streamów i pisać w czymś tam funkcje bez efektów ubocznych. Jakiś czas temu postanowiłem zagłębić się w paradygmat funkcyjny i początkowo wybór padł na Scalę, ale po pewnym czasie doszedłem do wniosku, że jeśli chcę na poważnie podejść do tematu, to powinienem:
0 zaprzestać podejścia: "nauka jedynie mechaniki nowego języka" (żeby nie skończyć przygody z FP na poziomie przećwiczenia API)zbudować solidne podstawy teoretyczne i zrozumieć koncepty, które są wykorzystywane w językach FP, zmienić język na taki, który nie da mi większego wyboru jeśli chodzi o możliwość odjechania od FP (przez użycie nawyków i chęci szukania drogi na skróty).Po różnych przemyśleniach różnymi ludźmi, dochodzę do wniosku, że dla mnie Haskell będzie odpowiedni do wejścia w świat FP:
0 "pure functional" - może nie powinienem, ale patrzę na brak znajomości języka "pure functional", jak na braki w "edukacji informatycznej"mniejsza szansa na znalezienie bzdurnych materiałów (mniejsze grono specjalistów i mniejsze parcie na autopromocję przez bloga - w porównaniu do innych języków, mniej bootcampów z haskella ;P)bawi mnie wizja realizacji projektu, gdzie coś tam w Haskellu, czy Erlangu naskrobię, a później oddział indyjski weźmie to do utrzymania/rozwoju ;)
0 Opiekuna tam nie ma żadnego?
0 Witajcie. Jestem na praktykach i dostałem zadanie z którym nie mogę sobie poradzić. Otóż. Muszę użyć https://github.com/1and1/cosmoDo zrobienia przykładowego projektu w którym użytkownik będzie mógł utworzyć kalendarz i ogólnie muszę napisać nowa bibliotekę która będzie ogarniała kalendarz i synchronizację z urządzeniami. Ale zadanie teraz mam następujące:
0 utworzyć projekt przykładowy.Jako bazę użyć właśnie tego Cosmo 1&1Przykładowa aplikacja ma być w spring boot i vaadinI teraz mam problem. NIGDY nie robiłem niczego z kalendarzami i żadnymi serwerami kalendarzy. Więc pierwsze co chciałbym to co to w ogóle jest ten cosmo najprościej jak się da? Jak w ogóle to ugryźć i zrozumieć? Naprawdę jestem w szoku zadaniami jakie tu dostaję (dla praktykanta w pierwszym miesiącu bez żadnego wcześniejszego doświadczenia)
0 leonpro778 napisał(a):A tak?
1 return Statistics::select('ip') ->where('user_id', $id) ->whereBetween('date', [$dateFrom, $dateTo]) ->distinct() ->get();Analogicznie jak wcześniej, zawsze 0.
1 return Statistics::whereBetween('date', [$dateFrom, $dateTo])->where('user_id', $id)->groupBy('ip')->get();zwraca mi z kolei: SQLSTATE[42000]: Syntax error or access violation: 1055 'db.statistics.id' isn't in GROUP BY (SQL: select * from statistics where date between 2019-10-15 00:00:00 and 2019-10-22 00:00:00 and user_id = 2 group by ip)
0 A tak?
1 return Statistics::select('ip') ->where('user_id', $id) ->whereBetween('date', [$dateFrom, $dateTo]) ->distinct() ->get();
0 Myślisz o czymś takim:
1 return Statistics::whereBetween('date', [$dateFrom, $dateTo]) ->where('user_id', $id) ->select('ip') ->distinct() ->get();?
0 Jeśli tak, to zawsze mam liczbę 0 w wyniku :(
0 Odświeżam wątek , otóż korzystam z API wykorzystując kod :
1 Dim reader As StreamReader Dim request As HttpWebRequest = DirectCast(WebRequest.Create("https://wl-api.mf.gov.pl/api/search/nip/7740001454?date=2019-10-15"), HttpWebRequest) request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse) reader = New StreamReader(response.GetResponseStream())do dnia 2019-10-08 wszystko działało pięknie , niestety po tej dacie wprowadzili jakąś modyfikację i nie mogę przeskoczyć komunikatu :
1 {"Odebrano nieoczekiwany znacznik EOF lub 0 bajtw ze strumienia transportowego."}
0 Może DISTINCThttps://laravel.com/docs/5.8/queries#parameter-grouping
0 Witajcie.
0 Mam taki kod:
1 Schema::create('statistics', function (Blueprint $table) { $table->bigIncrements('id'); $table->bigInteger('company_id')->unsigned(); $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade'); $table->text('agent')->nullable(); $table->date('date')->nullable(); $table->ipAddress('ip'); $table->bigInteger('user_id')->default(0); $table->bigInteger('quest_id')->default(0); $table->string('browser', 70)->nullable(); $table->string('platform', 70)->nullable(); $table->string('language', 12)->nullable(); $table->engine = "InnoDB"; $table->charset = 'utf8mb4'; $table->collation = 'utf8mb4_unicode_ci'; });Generuje statystyki za pomocą poniższego kodu:
1 public function generateStatistics(string $dateFrom, string $dateTo, int $id) { return Statistics::whereBetween('date', [$dateFrom, $dateTo])->where('user_id', $id)->get(); } $statisticsTotal = $this->frontendRepository->generateStatistics($dateFrom, $dateTo, $request->user()->id); $statisticsResultsTotal = []; $period = CarbonPeriod::create($dateFromInput, '1 day', $dateToInput); foreach ($period as $dt) { $date = $dt->format("Y-m-d"); $count = 0; $count2 = 0; foreach ($statisticsTotal as $stat){ if ($stat->date == $date){ $count = $count + 1; } } array_push($statisticsResultsTotal, "$date|$count"); };Powyższy kod generuje mi statystyki poprawnie.Chciałbym je przerobić na statystyki unikalnych wejść.
0 Unikalne wejście = unikalne IP.
0 Wie ktoś może jak to przerobić? :)
0 Jaki SAP? Czy sprawdzałeś w dokumentacji? Wygląda na to, że do chmurowego masz standardowy OAuth: https://help.sap.com/viewer/6[...]98954d62833ffd5a19ec4523.html
0 Ja mam sennheiser pxc 550, nie tłumią tak dobrze jak sony - ale dają radę :).
0 Mi przypadły do gustu ze względu na to że mogą się łączyć z dwoma urządzeniami po bluetooth-ie, dzięki czemu jak ktoś dzwoni mogę rozmawiać przez słuchawki.I podczas ładowania można na nich słuchać - a sony chyba nie ma tej opcji.
0 Jeśli (błędnie) za podstawę funkcyjności bierzemy zwięzły cukier składniowy dla domknięć to tych języków "funkcyjnych" jest cała masa, włącznie z Javą 8, C++, JavaScriptem itd
0 Rozwiń skrót SAP bo aż jestem ciekaw.
0 Konfigurowałem logowanie z użyciem GitHuba - https://javaleader.pl/2019/07[...]ign-on-na-przykladzie-github/ być może Ci to rozwiązanie pomoże. Daj znać czy chciałbyś abym opisał artykuł z logowaniem z użyciem Twittera ;)
0 Cześć. Spotkaliście kiedyś z zadanie podpięcia autoryzacji SAP ? Znacie jakieś przykłady gdzie ta autoryzacja jest użyta ? Jak poradziliście sobie z tym zadaniem ?
0 Jeśli mechaniki to szukaj czegoś z tactile (brown, purple, orange) lub linear (red, black, silver, gold, yellow). Ewentualnie możesz ogarnąć Topre, które też są bardzo ciche.
0 Dobra, wracam do tematu po dwóch tygodniach przerwy :DWydawało mi się że produkuję to co chcę, ale znów pojawił mi się problem z elementami <parameterslist> -> <parameter>.Chcący uzyskać dokładnie taką samą strukturę XMLa zbudowałem sobie klasę Parameter która to wygląda tak:
1 public class Parameter { public string parameterName; public string parameterValue; public string parameterUnit; public Parameter() { } public Parameter (string _pName, string _pValue, string _pUnit) { this.parameterName = _pName; this.parameterUnit = _pUnit; this.parameterValue = _pValue; } }Następnie tą klasę ładuje w klasę Description:
1 public class Description { //[System.Xml.Serialization.XmlArrayAttribute()] //[System.Xml.Serialization.XmlArrayItemAttribute("EAN", IsNullable = false)] public string productName; public string productDescription; public List<Parameter> parametersList; }A w ogóle całość wygląda tak:
1 [XmlRoot("productsFeed", IsNullable = true)] public class productsFeed { [XmlElement(IsNullable = true)] public string schemaVersion; public string fileLastModificationDateTime; public List<Product> productsData; } public class Product { [XmlElement(IsNullable = false)] public Identifiaction identification; public Description description; public Product() { } public Product(string _idproduktu, string _exProductId, string _productdesc, string _productname, List<string> _numerEan, List<Parameter> _parameter) { Identifiaction ident = new Identifiaction(); ident.productId = _idproduktu; ident.exProductId = _exProductId; ident.EANlist = _numerEan; Description desc = new Description(); desc.productDescription = _productdesc; desc.productName = _productname; desc.parametersList = _parameter; this.identification = ident; this.description = desc; } public Product(string _idproduktu, string _exProductId, string _productdesc, string _productname, string _numerEan1, List<Parameter> _parameter) { List<string> numeryEan = new List<string>(); Identifiaction ident = new Identifiaction(); ident.productId = _idproduktu; ident.exProductId = _exProductId; numeryEan.Add(_numerEan1); ident.EANlist = numeryEan; Description desc = new Description(); desc.productDescription = _productdesc; desc.productName = _productname; desc.parametersList = _parameter; this.identification = ident; this.description = desc; } } public class Identifiaction { [System.Xml.Serialization.XmlArrayAttribute()] [System.Xml.Serialization.XmlArrayItemAttribute("EAN", IsNullable = false)] public List<string> EANlist; public string productId; public string exProductId; } public class Description { //[System.Xml.Serialization.XmlArrayAttribute()] //[System.Xml.Serialization.XmlArrayItemAttribute("EAN", IsNullable = false)] public string productName; public string productDescription; public List<Parameter> parametersList; } public class Parameter { public string parameterName; public string parameterValue; public string parameterUnit; public Parameter() { } public Parameter (string _pName, string _pValue, string _pUnit) { this.parameterName = _pName; this.parameterUnit = _pUnit; this.parameterValue = _pValue; } }i później wypełniam to jakimiś śmieciami póki co:
1 public void CreatePO(string filename) { XmlSerializer serializer = new XmlSerializer(typeof(productsFeed)); TextWriter writer = new StreamWriter(filename); productsFeed po = new productsFeed(); List<Product> pr = new List<Product>(); List<string> numeryEan = new List<string>(); List<Parameter> parameters = new List<Parameter>(); po.schemaVersion = "1.0"; po.fileLastModificationDateTime = DateTime.Now.ToString(); po.productsData = pr; for (int i = 0; i < 5; i++) { parameters.Add(new Parameter("name", "val", "unit")); pr.Add(new Product(i.ToString(), i.ToString(), "productdesc", "productname", "1111" + i.ToString(), parameters)); } serializer.Serialize(writer, po); writer.Close(); }I mam problem z Eanami i parameters. Chciałbym za każdym przejściem pętli "zerować" klasę parameters, i przekazywać jedynie to co wrzucę tam przy jednej iteracji. O ile eanów będzie max 2, to mogę je przekazywać do produktu jako osobne zmienne, ale w przypadku parametrów raz będę miał jeden zestaw parametrów dla produktu, innym razem może ich być 5. Tymczasem to co wyprodukowałem, zbiera wszystkie parametry do kupy i wrzuca całość do każdego produktu. Jak to rozsądnie ugryźć?
0 @cerrato: Można podpisać, ale trzeba dodać certyfikat do magazynu i nikt nie zagwarantuje, że jest on bezpieczny. Do użytku domowego jak znalazł, ale kazać klientowi dodawać certyfikat na prodzie to słabe jest. https://stackoverflow.com/que[...]e-for-code-signing-on-windows Zresztą w porównaniu do kosztu apek cena certu jest mała.
0 Kamil Żabiński napisał(a):Konfederat napisał(a):A to Kotlin już nie na topie?
0 Kotlin nie jest uważany przez wielu za język funkcyjny. Chyba główny zarzut to brak niezmiennych kolekcji co można rozwiązać za pomocą biblioteki vavr. Jeśli do tego doda się bibliotekę ARROW to ma się już dość ładny język funkcyjny. Problemem jest to że ARROW nie ma jeszcze wersji 1.0.0 oraz posiada zależności do Javy więc nie można jej używać w kotlinie.js oraz kotlinie native
0 A nie dlatego, że Kotlin jest Multi paradigm? Języków w wersji pure functional powołując się na wikipedię jest 18, a tych będących do wszystkiego znacznie więcej.
0 Nie. To musi bezpieczna organizacja zweryfikować Ciebie i poświadczać o tym, przez jakiś czas. Nikt za darmo tego robić nie będzie.
0 Tzn. możesz sobie podpisać program, ale Windows nie zweryfikuje sobie tego podpisu w bazie autoryzowanych podpisów.
0 To prawda. Metoda asynchroniczna (oznaczona przez async) jest asynchroniczna :DJeśli wywołujesz coś przez await, to to się wykona asynchronicznie.Możesz nic nie wywołać, np:
0 public async Task Foo(){ a(); b(); c();}Wtedy metoda będzie mimo wszystko synchroniczna i async Ci tu niczego nie daje. Dopiero w takiej sytuacji możesz zrobić:
1 public async Task Foo(){ await Task.Run(() => { a(); b(); c(); });}
0 Za mało danych. Trzeba by to zdebugować. Czy jest jakiś powód, dla którego tak właśnie robisz deploy, a nie poprzez sieć? Wirtualka powinna mieć dostęp do sieci i powinieneś móc się z nią połączyć. W Twój sposób nigdy tego nie robiłem, więc nie wiem, czy tu może być jakiś problem.
0 To co mam zawsze na początku (bo zapominam), to odpowiednie wpisy w plikach appsettings. Sporo rzeczy mam w "secrets", a one się nie diplojują. Więc upewnij się w pierwszej kolejności, czy tu masz wszystko dobrze.
0 Dla potomnych:
1 curl/firefox/chrome - przed uruchomieniem przeglądarki/aplikacji opartej na libcurl wyeksportować zmienną SSLKEYLOGFILEaplikacje javowe - agent http://jsslkeylog.sourceforge.net/ openssl - LD_PRELOAD -> https://git.lekensteyn.nl/pet[...]rk-notes/tree/src/sslkeylog.c (w przyszłych wersjach openssla będzie wsparcie dla SSLKEYLOGFILE)
0 Niestety, ale działa to w dokładnie ten sam sposób co prędzej.
0 Flaker napisał(a):Możliwe, że na którymś etapie przetwarzania tego pliku na spoju kodowanie polskich znaków się kaszani i powoduje błąd kompilacji.Spróbuj bez ogonków.
0 Raczej problemem nie jest kodowanie znaków, ale niedosłowne rozumienie treści zadania.W treści jest wyraźnie cyfry są opisane bezogonkowo, a OP sobie dopisał ogonki.Na SPOJ zadania zawsze definiowane są tak by mieścić się w ASCII.
0 Nie ma żadnej darmowej opcji?
0 U mnie przeważył ten reiew między innymi:
0 Do takich zagwozdek odnośnie słuchawek czy szeroko pojętego audio polecam stronę audiofanatyk.pl , lepszych recenzji/poleceń nie znajdziecie. Może się komuś przyda.
0 Mam poprzedni model - WH1000XM2 i chodzę w nich wszędzie i zawsze. Poza naprawdę dużymi upałami to nigdy nie czułem dyskomfortu. Chociaż niestety po niecałym roku zaczęły skrzypieć plastiki :/
1 Na serwerze mam serwis, który wystawiony jest na porcie 1234, zaś komunikacja zabezpieczona TLSv1.2. Mam też złapane pakiety, które się przewinęły w ramach sesji klient-serwer, przykład:
0 Chciałem ten ruch zdeszyfrować w Wiresharku używając klucza prywatnego, którym dysponuję. Niestety (z perspektywy ćwiczenia, a nie bezpieczeństwa ;-) ) dostaję:
0 ssl_decrypt_pre_master_secret: session uses Diffie-Hellman key exchange (cipher suite 0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) and cannot be decrypted using a RSA private key file.Wiresharek ma alternatywną metodę deszyfrowania, ale trzeba wskazać mu plik z logiem "Pre-Master-Secret". Jakieś pomysły skąd wziąć taki pre-master-secret?
0 Hej, szukam jakiejś klawiatury do biura mechanik chyba odpada nie chce denerwować ludzi chyba ,że jakiś mega cichy wtedy najlepiej bezprzewodowy.Budżet ~700/800 złoty jak coś mega dobrego będzie to oczywiście nie zamykam się na tą kwotę mogę dołożyć.Spodobała mi się Logitech MX Keys jakieś opinie o niej? ktoś z was już używa?Dzięki :)
0 Ostatecznie zdecydowałem się na Sony WH1000XM3, troszkę droższe, ale z tego co wybadałem w necie, dla moich zastosowań będą lepsze - (minimalnie) lepsze wyciszenie, znacznie dłuższy czas pracy na baterii bo aż 30h. Po pewnym czasie użytkowania zdam relację jak się sprawdzają :DDziękuję za odpowiedzi i rekomendacje.Dzięki za rekomendacje.
0 Może to jest problem z zawartością Visuala - nie masz w tej chwili zainstalowanego kompilatora x86.
0 Konfederat napisał(a):A to Kotlin już nie na topie?
0 Kotlin nie jest uważany przez wielu za język funkcyjny. Chyba główny zarzut to brak niezmiennych kolekcji co można rozwiązać za pomocą biblioteki vavr. Jeśli do tego doda się bibliotekę ARROW to ma się już dość ładny język funkcyjny. Problemem jest to że ARROW nie ma jeszcze wersji 1.0.0 oraz posiada zależności do Javy więc nie można jej używać w kotlinie.js oraz kotlinie native
1 // ##### Obsługa ADD button $('#add').on("click", function() { let quantity = $('#quantity').val(); if( quantity == "" || quantity < 1) { alert("Please select product and enter number of licenses.") } else { let licence = $('#choose_licence option:selected').html(); let added_html_div = '' + '<div class="input-group input-group-sm mb-1">'+ '<div class="input-group-prepend">'+ '<span class="input-group-text input-group-text-1 bg-light" id="inputGroup-sizing-sm">' + licence + '</span>'+ '</div>'+ '<input type="text" class="form-control" aria-describedby="inputGroup-sizing-sm" name="' + licence + '" required value="' + quantity + '">'+ '<input type="submit" class="rem btn btn-danger btn-sm" id="del" value="DEL">'+ '</div>'; $('#dodawane_produkty').append(added_html_div); $('#quantity').val(""); $('#choose_licence').prop('selectedIndex', 0); $('#add').prop("disabled", true); // $('.rem').on("click", function() // { // $(this).parent().remove(); // }); } }); // close $('#add').on("click", function() // ##### Obsługa REM button $('.rem').on("click", function() { $(this).parent().remove(); }); // close $('.rem').on("click", function()
0 Div (z nazwa licencji , iloscia i przyciskiem DEL) pojawia sie po dodaniu przez ADDJesli kod obsługi DEL jest w ciele kodu ADD to przycisk działa , jeśli wyjmę go poza ADD to przestaje działać.DEL odnosi się do this.parent(diva w ktorym jest)struktura ktora tworzy sie za pomoca ADD :
1 <div class="input-group input-group-sm mb-1"> <div class="input-group-prepend"> <span class="input-group-text input-group-text-1 bg-light" id="inputGroup-sizing-sm">EuroDrewno 1 EN</span> </div> <input type="text" class="form-control" aria-describedby="inputGroup-sizing-sm" name="EuroDrewno 1 EN" required="" value="1"> <input type="submit" class="rem btn btn-danger btn-sm" id="del" value="DEL"></div>wiec przycisk DEL gdziekolwiek go wywolam powinien usunac diva
0 a nie działa jesli wyjmę kod obsługi DEL poza ciało kodu ADD</p>czemu ?
1 Cześć mam problem z konfiguracją logowania przy użyciu Twittera. Korzystam ze spring-security-oauth2-client-5.1.6.RELEASE. Logowanie z użyciem Facebooka i Google działa, i konfiguracja w tym przypadku nie wymaga, aż tylu szczegółów. Moja konfiguracja:
1 spring.security.oauth2.client.registration.facebook.clientId=<SECRET>spring.security.oauth2.client.registration.facebook.clientSecret=<SECRET>spring.security.oauth2.client.registration.facebook.redirect-uri=http://localhost:8080/oauth2/callback/facebookspring.security.oauth2.client.registration.facebook.scope=public_profile emailspring.security.oauth2.client.registration.twitter.client-id=<SECRET>spring.security.oauth2.client.registration.twitter.clientSecret=<SECRET>spring.security.oauth2.client.registration.twitter.redirect-uri=http://localhost:8080/oauth2/callback/twitterspring.security.oauth2.client.registration.twitter.authorization-grant-type=authorization_codespring.security.oauth2.client.provider.twitter.token-uri=https://api.twitter.com/oauth/access_tokenspring.security.oauth2.client.provider.twitter.authorization-uri=https://api.twitter.com/oauth/authorizePo requeście na `http://localhost:8080/oauth2/authorization/twitter``z dostajętaki błąd na twitterze:
0 Konfigurował to ktoś? Czy złe linki podałem? zły sposób autoryzacji?
0 Nie mam pojęcia jak tego tematu szukać w dokumentacji Visual Studio. Wszystkie instrukcje w tym ta ze strony MS informują o tym, że w menadżerze konfiguracji należy za pomocą opcji "new" dodać wymaganą platformę z tym, że na liście dodawanych platform posiadam tylko "ARM" a tego problemu dane instrukcje nie poruszają.
0 furious programming napisał(a):do manualnego pokazania dymku w określonym miejscu ekranu, a także CancelHint i HideHint, które umożliwiają jego zamknięcie w dowolnym momencie.
0 Po czym automatyczna aktywacja hinta nie będzie działać dopóki nie zejdziesz z kontrolki.
0 furious programming napisał(a):Tym bardziej że TLabel to kontrolka graficzna, a TRichEdit jest komponentem okienkowym, więc etykieta nigdy nie wskoczy nad edytor.
0 O tym zapomniałem, dopiero teraz przypomniałeś mi czemu w podobnym rozwiązaniu użyłem TStaticEdit.
0 furious programming napisał(a):Zresztą to ”rozwiązanie” i tak jest na tyle absurdalne, że komentować nie trzeba.
0 Poproszę o działający przykład nie absurdalnego rozwiązania, w TRichEdit trzy słowa:- "pies kot koń" po najechaniu w dymku masz tłumaczenie "dog cat horse".Na pozostałe słowa nie reagować. Uwaga nie możesz użyć mojego "absurdalnego" rozwiązania, anie dopuścić do mrugania kontrolki.
0 furious programming napisał(a):@_13th_Dragon: nie sugeruj nikomu takiego badziewia.
0 No cóż wyzwanie w akapicie wyżej, zobaczymy jak wygląda nie badziewie.
0 Jeślic chcesz manipulować danymi które mają być wpisane do data classy to lepiej zrobić to w statycznej metodzie fabrykującej. W Scali takie metody umieszcza się w obiektach singletonowych. W Kotlinie chyba można w obiektach stowarzyszonych
0 Co na ten temat jest napisane w dokumentacji?
0 Cześć, mam dosyć mocny problem z visual studio 2019. Prowadzę dwa projekty serwera i klienta gry, domyślnie mimo procesora x64 celowałem w procesory x86 (wiadomo dlaczego), ostatnio miałem problem z systemem windows po aktualizacji i musiałem dokonać format systemu co skutkowało przeniesieniem projektu na nowy system.
0 Do sedna: W kompilatorze po formacie i ponownym instalowaniu visuala nie mam wgl możliwości przeprowadzenia kompilacji na maszynę x86 (tej opcji wgl nie ma). Nawet podczas dodawania nowej platformy docelowej w menadżerze konfiguracji posiadam tylko maszynę x64 i ARM.
0 Wie ktoś jakie możne być rozwiązanie tego problemu?
0 Kamil Żabiński napisał(a):Wszystkie nowe funkcyjno obiektowe języki jak Scala, Kotlin czy F# mniej lub bardziej zrzynają z Ocamla (rok powstania 1996) tylko się nie przyznająNie jest żadną tajemnicą że F# to praktycznie "OCaml.NET", bo takie było założenie. Można pisać kod który będzie poprawnym OCaml i poprawnym F#.
0 Scala i Kotlin to jednak co innego.
0 Możesz tak
1 <StackPanel> <ListView> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"></StackPanel> </ItemsPanelTemplate> </ListView.ItemsPanel> <ListViewItem> <StackPanel Orientation="Horizontal"> <Image Source="sciezka" Margin="0,0,5,0" /> <TextBlock>Test</TextBlock> </StackPanel> </ListViewItem> <ListViewItem> <StackPanel Orientation="Horizontal"> <Image Source="sciezka" Margin="0,0,5,0" /> <TextBlock>Test</TextBlock> </StackPanel> </ListViewItem> </ListView> </StackPanel>
0 Biorąc to wszystko pod uwagę zastanawiam się czy istnieje jakiś naprawdę nowy język programowania. Taki który zawierałby idee młodsze niż 20 lat? Może prawa własności obiektów w Ruscie?
0 Borrow checker z Rusta to (w trochę prymitywnym uproszczeniu) wbudowany w język linter do smart pointerów i move semantics z C++. Polecam sprawdzić listę języków na których Rust się wzorował przygotowaną przez samych autorów Rusta: https://doc.rust-lang.org/stable/reference/influences.html Czy smart pointery i move semantics to idee młodsze niż 20 lat? Nie dociekałem.
0 Z jednej strony można powiedzieć, że wszystko co da się wymyślić (w sensie możliwości które daje język) wymyślono już w Lispie kilkadziesiąt lat temu, ale to było oparte o dynamiczne typowanie. To na czym skupiają się twórcy statycznie typowanych języków są dodatkowe gwarancje wynikające ze statycznej analizy programu i tu jest ciekawie. Sztuką jest stworzenie języka, który z jednej strony da się w rozsądnym czasie ogarnąć tak, by być w nim produktywnym, a z drugiej strony by dawał duże możliwości abstrakcji i jednocześnie dużo statycznie sprawdzanych (tzn przed uruchomieniem programu) gwarancji.
0 Czyli
1 return $this->belongsToMany(Partner::class, 'partner_partner', 'partner_id', 'user_id', 'user_id', 'user_id', Partner::class);```?
0 W skrócie da się. Bajtkod jest wspierany w pełni. API z JDK niekoniecznie. https://4programmers.net/Forum/1619258
0 A ja odradzam dublobwanie kodów EAN na własny użytek. Może zdarzyć się, że nadamy swój własny kod dla produktu który się powtórzy. I wtedy osoba w kasie mając 2 kody na opakowaniu zamiast sztabki złota naliczy kajzerkę. Nie bez powodu jest organizacja nadająca te kody unikalnie.I żeby nie było. Można.Chyba lepiej jednak jak już chcemy mieć swoje kody, używać np. Barcode 128 i na wzór EAN zrobić sobie jakiś swój prefiks czy nawet rodzaj sumy kontrolnej.
0 Jestem jak Linus Torvalds żaden z nowych języków programowania mnie nie ujął.
0 A czy w ogóle są jakieś naprawdę nowe języki programown?
0 Wszystkie nowe funkcyjno obiektowe języki jak Scala, Kotlin czy F# mniej lub bardziej zrzynają z Ocamla (rok powstania 1996) tylko się nie przyznająWszystkie nowe czysto funkcyjne języki programowania jak Elm zrzynają z z Haskella (rok powstania 1990) tylko się nie przyznająClojure i Racket to Lispy (rok powstania 1958) i tu trudno się nie przyznawaćElixir to krzyżówka Erlanga i Rubiego, oba były inspirowane Smalltalkiem (rok wpostania 1972). Oczywiście wszystkie języki zrzynają także między sobą i między grupami na jakie je tu podzieliłem (np. Clojure i Scala z Haskella) . Biorąc to wszystko pod uwagę zastanawiam się czy istnieje jakiś naprawdę nowy język programowania. Taki który zawierałby idee młodsze niż 20 lat? Może prawa własności obiektów w Ruscie?
0 Juteo bede max do 12:30, chetnie z kims zamienie slowo ;)
0 @_13th_Dragon: nie sugeruj nikomu takiego badziewia. Tym bardziej że TLabel to kontrolka graficzna, a TRichEdit jest komponentem okienkowym, więc etykieta nigdy nie wskoczy nad edytor. Zresztą to ”rozwiązanie” i tak jest na tyle absurdalne, że komentować nie trzeba.
0 @loza: w klasie TApplication są różne metody, w tym ActivateHint do manualnego pokazania dymku w określonym miejscu ekranu, a także CancelHint i HideHint, które umożliwiają jego zamknięcie w dowolnym momencie.
0 @Rafał D: a co w ogóle chcesz osiągnąć? Do czego konkretnie to ma służyć?
0 ... no i poza Jarkiem nikogo nie spotkalem :O@CountZero: znajac zycie beda nagrania w sieci
0 Witam, czy na ListView można wyświetlać itemy w jednej linii obok siebie? Jeśli tak to w jaki sposób.Chcę stworzyć wyświetlające się obok siebie zdjęcia ale gdy wyświetlam jest w ListView to są jedno pod drugim.
0 Jeśli te klasy to zwykłe data classes to jak najbardziej się nadają do tłumaczenia wprost na wiadomości, które mają potem być przesyłane używając SimpMessagingTemplate.
0 Właśnie wydaje mi się, że to nie wystarczy. Pod wpływem tych eventow stan gry się zmieniajeśli miałyby być one obsługiwane gdzieś "wyżej" to znowu sprowadza się to do tego o czym pisałemw pierwszym poście, że jakbym dostał taki event to przed wysłaniem czegoś do klienta/owpytałbym co on niżej spowodował, wyciągałbym stan (wbrew zasadzie TellDontAsk).
0 Te klasy to nie jest to co ma być 1:1 wysyłane do gracza. One tylko implikują jakieś zachowaniew grze, a te zachowanie to jest logika, która gdy jakieś warunki są spełnione to informuje o czymś gracza.
0 Największa wiedza jest w klasach nieanemicznych z pakietu model, tam się dziejecały biznes - wiec moze i tam powinna byc wysylka opakowana jakims interfejsem/fasada?
0 Wtedy tam zamiast rzucać wyjatkiem bezposrednio bylaby wysylka do gracza lub innaobsluga tego jako normalne flow gry. Poniewaz mysle, ze wszystkie wyjatki, ktorezrobilem tak naprawde nie sa to sytuacje wyjatkowe tylko normalne reguly gry, ktoretrzeba obsluzyc.
0 Jeśli tak miałoby być (tj. wysyłka najniżej w modelu "pomiędzy wierszami" w ciałach metod applyEventtam gdzie dzieje się największy biznes)to powstaje kolejny problem ponieważ stan gry za każdym razem jest odtwarzany z eventow z bazy wiec jakby było na obiekciegry robione applyEvent(? extends GameEvent) to byłby ciagle spam tego samego do graczy.Tylko te "pierwsze" eventy powinny być "w pełni" obsługiwane tzn. włączając wysyłke do graczy, informując co w danej chwili zdarzyło się w grze.Te eventy wyciągniete z bazy już nie powinny tego powodować (chociaż aplikowane są przez te same metody applyEvent co te "pierwsze").
0 do użytku wewnętrznego możesz sobie drukować co Ci się żywnie podoba - możesz wymyślić nawet swój własny format kodu i nim się posługiwać. Jeśli nie potrzebujesz zapisywać bardzo dużo danych w kodzie (różnie dla różnych kodów, ale nie więcej niż 100 znaków) oraz jeśli wystarczą Ci same cyfry to masz Ean8 / Ean13 (te mają stałą długość) oraz 2 of 5 (zmienna długość). Jeśli potrzebujesz cyfry i litery to masz Ci Code39 / Code93 / Code 128 (zmienna długość kodu). Możesz spokojnie sobie tam zapisać kod produktu, partię, datę przydatności, wagę, cenę. Wystarczy ustalić jeden format co gdzie jest i tyle. Drukować można na zwykłej drukarce atramentowej / laserowej albo na specjalnej etykieciarce (koszt najtańszych to coś koło 1000zł brutto - mówię o takich "bardziej" firmowych). Etykieciarki mają tę zaletę, że mają wbudowany generator kodów 1D a te droższe również 2D. Przy wydruku na zwykłej drukarce musisz mieć program (kupić / napisać), który będzie potrafił wydrukować taki kod. do użytku zewnętrznego nikt Ci nie przyjmie do siebie kodów, które sobie sam wymyślisz. Powód jest prozaiczny - w jaki sposób zagwarantujesz, że np. kodu EAN13 który sam nadasz swojemu produktowi nieoficjalnie nie dostanie ktoś inny, kto produkuje całkiem inny asortyment? Wyobraź sobie, że np. taki real / auchan / praktiker czy co tam jeszcze ma asortyment od powiedzmy 500 producentów i każdy z nich nadaje sobie swoje kody, jak mu się podoba. W wyniku tego masz np. 7 różnych produktów od 7 różnych dostawców z takim samym kodem. Co powinien zrobić system po sczytaniu takiego kodu (zawieszenie się nie jest opcją)?Sam "temat" kodów kreskowych wcale nie jest trudny - trzeba podjąć decyzję, że wprowadzamy, zadeklarować, że kody są do użytku wewnętrznego, ustalić co chcemy tam mieć, zakupić sprzęt (drukarka, nośnik - zwykłe kartki, etykiety samoprzylepne, skaner), skonfigurować soft na którym pracujemy do korzystania z kodów kreskowych i zacząć drukować i skanować. Często jakie kody, jakie informację oraz na czym to będzie drukowane narzuca sam system CRM, który już jest w firmie.
0 I nie ma się co bać - mogę Ci zagwarantować, że w większości firm produkcyjnych, po halach śmigają etykiety z kodami, które koło certyfikatów i standardów nawet nie stały ale to nie ma znaczenia bo one nie wychodzą poza zakład.
0 Konfederat napisał(a):A to Kotlin już nie na topie?
0 "łatwiej" chyba sie pouczyć funkcyjnego paradygmatu na czymś co go wymusza. W kotlinie możesz pisać imperatywnie bez problemu
0 A to Kotlin już nie na topie?
0 Jak mam do wyboru bibliotekę czy język do nauki FP to wybrał bym język.
0 Tyle, że sensowny wybór jest szerszy:
1 ScalaElixirHaskellClojureElm(posortowane wg indeed.com)https://en.wikipedia.org/wiki[...]_by_type#Functional_languages
0 Ja bym poszedł w kierunku odliczania czasu do rozpoczęcia wyprzedaży.
0 Allegro:
0 X-kom:
1 Spróbuj git clone <tu adres do nowo-utworzonego repozytorium na moim githubie>https://git-scm.com/book/en/v[...]sics-Getting-a-Git-Repositoryhttps://subscription.packtpub[...]sitory-and-pushing-code-to-ithttps://www.git-tower.com/learn/git/commands/git-clone
0 Najlepsze co możesz zrobić, to pogodzić się z tym, że nie da się tego zrobić. Ostatecznie, taki system ZAWSZE można oszukać. Nawet takie platformy jak Valve nie potrafią zawsze skutecznie walczyć z użytkownikami np. z USA, którzy podszywają się pod Bagladesz, żeby mieć grę za 15% wartości, a mówimy o sytuacji gdzie użytkownik ma zainstalowany Steam - czyli praktycznie porogram który może o wiele więcej sprawdzić w systemie klienta, niż "Ty" będąc stroną internetową. Odpuść sobie, a jak Cię szef naciska to mu to wyjaśnij, a jak dalej nie rozumie, to znaczy, że jest, za przeproszeniem, debilem, i wtedy radzę zmieniać pracę.
0 poniatowski napisał(a):Mogę tak zrobić, ale tutaj tez jest kilka problemów. Bo jak mamy wyprzedaż biletów na wydażenie to każda minuta jest ważna. Chodzi o to, że takie przedsprzedaże mają limitowaną ilość biletów. I często jest tak, że lubie trochę walczą o te bilety. Mamy czasme 500-100 użytkowników. Po drugie użytkownik nie musi być zalogowany, żeby widzieć liste biletów. Wiec moze widziec złą godzinę/date. I moze łatwo ominąc przed sprzedaż. Nie wiem czy dobrze to wytłumaczyłem? Musi być jakieś sensowne rozwiązanie.
0 Strona jest wielojęzyczna? Jak nie, to ustawiasz taką strefę, która odpowiada językowi. Tak jest zwykle, a to, że jesteś z innej strefy, to Twój problem.
0 Ewentualnie zamontuj u góry strony na czas wyprzedaży kilka zegarów, każdy dla innej strefy xD
0 EDIT: Albo walnij odliczanie. To będzie zawsze prawidłowe, bez względu na strefę czasową.
0 Mogę tak zrobić, ale tutaj tez jest kilka problemów. Bo jak mamy wyprzedaż biletów na wydażenie to każda minuta jest ważna. Chodzi o to, że takie przedsprzedaże mają limitowaną ilość biletów. I często jest tak, że lubie trochę walczą o te bilety. Mamy czasme 500-100 użytkowników. Po drugie użytkownik nie musi być zalogowany, żeby widzieć liste biletów. Wiec moze widziec złą godzinę/date. I moze łatwo ominąc przed sprzedaż. Nie wiem czy dobrze to wytłumaczyłem? Musi być jakieś sensowne rozwiązanie.
0 Nie możesz dodać do bazy do tabelki z userami nowej kolumny z informacją o strefie czasowej? Na samym początku ustawiasz nulla. A potem jak ktoś nie ustawi, to np. nie może zrobić zamówienia, póki nie zmieni tego. Albo po prostu ustaw domyślną strefę zamiast nulla na Europe/Warsaw, jeśli większość klientów to Polacy. A jak nie, to np. na Europe/London. Skoro to jest tylko wyświetlanie, to chyba nic się wielkiego nie stanie, jak przez chwilę ktoś będzie miał złą strefę czasową. Możesz np. tymczasowo dodać alerta z tekstem "proszę ustawić Twoją strefę czasową".
0 Najprościej wypakować do tempowej lokalizcji i skopiowac do docelowej, sprawdzajac nazwe pliku i ewentualnie podmieniając nazwę.
0 @mr_jaro Sklep juz istnieje ponad 10 lat. Tysiace uzytkowników. I nie mamy zapisanej takiej informacji o uzytkowniku. Wiec raczej odpada.
1 ''' Online Python Interpreter. Code, Compile, Run and Debug python program online.Write your code in this editor and press "Run" button to execute it.'''class Hand: # nie programuj w python2 tylko w python3 (python2 ma tylko wsparcie do konca roku) """ Ręka - wszystkie karty trzymane przez gracza. """ def __init__(self): self.cards = [] def __str__(self): if self.cards: rep = "" for card in self.cards: rep += str(card) + "\t" else: rep = "<pusta>" return rep def add(self, card: "Card") -> None: # dodawaj typowanie argumentow i to co funkcja zwraca self.cards.append(card)class Card: """ Karta do gry. """ RANKS = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"] SUITS = ["pik", "kier", "trefl", "karo"] def __init__(self, rank, suit): self.rank = rank self.suit = suit def __str__(self): rep = f"{self.rank} {self.suit}" # poczytaj co to f stringi :) return repclass WarCard(Card): # piszemy kod po angielsku. nazwy klas sa uppercase czyli WarCard nigdy War_Card to jest mic uppercase z snakecase """ Karta do wojny. Ustawienie wartości kart. """ @property def value(self) -> int: value = WarCard.RANKS.index(self.rank) return value # co to znaczy v? staraj sie pisac doslowniej, bo kiedys sie zgubisz w wiekszysc kodzieclass WarHand(Hand): # tu tak samo jak wyzej """ Ręka w wojnie. """ def __init__(self, name): super().__init__() # w python3 nie musisz do super przekazywac klasy self.name = name def __str__(self): rep = f"{self.name} {super(WarHand, self).__str__()}" if self.total: rep += f"(ma {self.total} punktów)" return rep @property def total(self) -> int: t = 0 for card in self.cards: t += card.value return t card1 = WarCard("3", "pik")print("karta: " + str(card1) + ". Jej wartość wynosi: " + str(card1.value))card2 = WarCard("2", "kier")print("karta: " + str(card2) + ". Jej wartość wynosi: " + str(card2.value))reka = WarHand("Tomasz")reka.add(card1)print(reka)reka = WarHand("Jan")reka.add(card2)print(reka)input("\n\nAby zakończyć program, naciśnij klawisz Enter.")dalem Ci pare wskazowek plus tutaj WarHand/WarCard jest zbedne i dziedziczenie po Hand/Card mozesz spokojnie w tych klasach te metody z War klas przeniesc
0 lavoholic napisał(a):Jeśli masz na Githubie już stworzone repo (puste) to z Twojego folderu z projektem robisz to:git init -> git add . -> git commit -m 'Opis commit'a' -> git remote add origin "URL" -> git push origin master
0 Chyba git push -u origin master
0 Najprościej: dokładnie pod kursor myszy podstaw TLabel 1x1 i natychmiast go schowaj.
0 A nie możesz zrobić tego w JavaScript? Tzn. prekazać sobie z JS odczytany parametr do PHP?
0 Nie ma pewnej metody. Każde ustawienia można zmienić świadomie bądź niechcący.Przykład Rosji- mają kilka stref czasowych i np. Ip może się wyświetlać w jednej strefie, użytkownik być w drugiej. Wykrycie języka też nie pomoże bo jest "ru".Jeśli to rodzaj sklepu to najlepszą metodą wspomnianą już przez @mr_jaro jest możliwość zapisania wybranej przez użytkownika strefy w danych jego konta.
0 Witam, mam wyświetlanie podpowiedzi w edytorze RichEdit w zdarzeniu OnmouseMove. Po najechaniu na tekst wyskakuje podpowiedz, problem jest taki że pokazuje tylko pierwszy, następne dopiero po kliknięciu myszką lub po ponownym najechaniu na edytor i tekst. Mam ustawioną hintpause:=100 i hinthidepause:=3000. Jaką funkcję zastosować która zakończy wyświetlanie poprzedniego hinta aby płynnie poruszając się po tekstcie wyskakiwały następne oczywiście po zwłoce hintpause:=100. Podobnie jak podpowiedzi w edytorze Delphi. Dziękuję za każdą pomoc.
0 Zamiast Eclipse polecam IntelliJ IDEAZamiast MySQL polecam PostgreSQLI przedewszystkim Zamiast ręcznego ściągana bibliotek polecam Maven
0 @mr_jaro Wydaje mi sie, że się mijamy troche. Mi chodzi wyłącznie o wyświetlenie odpowiedniej godziny zależnie od lokalizacji. To wszystko. Pytanie jest na czym oprzeć, albo jak przekonwertować czas z serwera na dana lokalizacje użytkowniką. Bo opcji jest kilka :p
0 editMyślałem, zeby uzyc np :https://www.php.net/manual/en/book.geoip.phphttps://github.com/maxmind/GeoIP2-php/releases
0 ale odradzacie. Wiec zamiast takiego rozwiazania co innego moge uzyc?
0 to polecam się podszkolić z logicznego myślenia. Strefę czasową możesz użyć tylko do pokazania godziny, ale nie do tego czy jest obecnie promocja czy jej nie ma.
0 To z tab to już pisałem tak z braku pomysłu, Nie wiem w sumie jak to dokładnie już zrobić, jakieś sugestie? Chłop na zajęciach powiedział że noo takie sortowanie jest dobrze:
1 void sort(struct Struktura** tab, int N){ for (int i = 1; i < N; i++) { int flag = 0; for (int j = 1; j < N - i; j++) { if (tab[j - 1] > tab[j]) swap(tab[j - 1], tab[j]); flag = 1; } } }
0 @mr_jaro: Ok, ale co mam zrobić? Przecież potrzebuje jakąś lokalizacje czy coś a skąd to mam wziąć. Sorry, nie kumam o co kaman w twoim pomysle.
0 oczywiście, że tak i tak się robi, czyli robisz promocje np 2 dni przyjmujesz jakaś godzinę startu i masz gdzieś to, że w to polsce 18 a w chinach 8
0 @serek Przecież na serwerze zawsze będzie taka sama godzina. Nie zależnie czy user odwiedza sklep online z Polski czy z Chin. Chyba dalej nie kumam Waszych rozwiązań :(
0 Co chcesz osiągnąć? Zegar na formatce? Do tego nie potrzebujesz wątku.Oblicz czas do najbliższej pełną sekundy: x:=1000-(Trunc(Now()*SecsPerDay*1000))mod(1000);Weź nie więcej niż 50 ms x:=Min(x,50);Ustaw timer: SetTimer(Handle,1,x);Złap zdarzenie w: procedure Form1.WmTimer(var Msg:TWmTimer);message WM_TIMER; message WM_TIMER;- tylko w deklaracjiNo i wewnątrz zabij timer: KillTimer(Handle,Msg.TimerId); wyświetl czas i znowu nastaw timer jak wyżej.
0 Jeśli masz na Githubie już stworzone repo (puste) to z Twojego folderu z projektem robisz to:git init -> git add . -> git commit -m 'Opis commit'a' -> git remote add origin "URL" -> git push origin master
0 Zatem jak wrzucić ten projekt na gita?
0 Taki, że tą komendą tworzysz folder o niedozwolonej nazwie, a nie dodajesz od razu zdalne repozytorium ( Pewnie to chcesz zrobić ).
1 A czemu robisz to przez git init?
0 Witam,
0 Używam IntelliJ. W Terminalu będąc w folderze projektu robię git init tu adres do nowo-utworzonego repozytorium na moim githubie.Niestety otrzymuję wiadomość taką:fatal: cannot mkdir tu adres do nowo-utworzonego repozytorium na moim githubie: Invalid argument.
0 O co może chodzić?
0 Pozdrawiam.
0 Witam zrobilem zadanie , z systemu 10 na system 16, ma ktoś jakiś pomysł na lepsze rozwiązanie?#include <iostream>
1 using namespace std;
1 int main(){int n;cin>>n;int w;int c=0;int tab[c];while(n>0){c++;w=n%16;n=n/16;
1 tab[c]=w;}cout<<"System szesnastkowy to: ";for(int i=c; i>0; i--){if(tab[i]==10){cout<<"A";}else if(tab[i]==11){cout<<"B";}else if(tab[i]==12){cout<<"C";}else if(tab[i]==13){cout<<"D";}else if(tab[i]==14){cout<<"E";}else if(tab[i]==15){cout<<"F";}else{cout<<tab[i];}}}
0 Czyli tak to mam zrobić w przypadku wątków?
1 type TProcessTime = class(TThread) private fObject: TObject; fWork: integer; procedure ShowTime; public constructor Create; class procedure Execute(ALabel: TObject):TProcessTime ; property SetParameters : TObject read fObject write fObject; protected procedure Execute; override; end;constructor TProcessTime.Create;begin fWork := 0; FreeOnTerminate := True; inherited Create(true);end;procedure TProcessTime.ShowTime;begin if fObject is TLabel then TLabel(fObject).Caption := 'Czas trwania: ' + IntToTime(fWork);end;procedure TProcessTime.Execute;var I: integer;begin while not Terminated do begin for I := 0 to 99 do begin if not CloseForm then if I = 0 then Synchronize(ShowTime) else else Terminate; sleep(10); end; Inc(fWork); end;end;class procedure TProcessTime .Execute(ALabel: TObject):TProcessTime ;begin Result:=Create(Application); Result.SetParameters := ALabel; Result.Resume;end;
0 colorfullgirl napisał(a):Hej. Dopiero co zaczęłam się uczyć programować, a muszę przekształcić jedną funkcję. Siedzę nad tym już bardzo długo i mi nie wychodzi, próbowałam wszystkiego i nie mam pojęcia co robię źle. Może ktoś coś podpowie?double *u = v;
0 Ot tak stworzyłeś sobie nowy wektor?
0 Witam,stworzyłem formularz w Accessie, a w nim przycisk pod którym kryje się uruchomienie kodu rozpakowującego pliki .zip w określonym folderze. Każdorazowo podaję ścieżkę, gdzie ten plik się znajduje.Spakowany plik posiada nazwę np. a.zip, w nim jest plik b.pdf. Chciałbym jednak, aby po rozpakowaniu plik został zapisany jako a.pdf, a nie b.pdfObecny kod wygląda następująco. Jakby ktoś mógł rzucić okiem co nim zmienić, żeby sterować nazwą zapisywanego pliku.
1 Dim File As Object
1 Dim Files As ObjectDim MainFldr As Object
1 Dim MainPath As VariantDim oShell As ObjectDim ZipFile As VariantDim ZipFldr As ObjectDim nowaNazwa As StringMainPath = Me.sciezka
1 Set oShell = CreateObject("Shell.Application") Set MainFldr = oShell.Namespace(MainPath) Set Files = MainFldr.items Files.Filter 32, "*.zip" For Each File In Files Set ZipFldr = oShell.Namespace(File) For Each ZipFile In ZipFldr.items MainFldr.CopyHere ZipFile.pathNext ZipFile
1 Next FileEnd Sub
0 if (tab[j] > tab[j]) - pomijając fakt że tu porównujesz wskaźniki, jak kompilator ma porównać dwie struktury? możesz przeciążyć operator >
1 Program pobiera z pliku ilość struktur i je tworzy, ma wypisać 20 z nich i je posortować, mam już wszystko ale nie sortuje mi ich :/
1 #include "pch.h"#include <time.h>#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;struct Struktura{int a;char b;float c;};Struktura** losuj(int N) {struct Struktura** tab = (struct Struktura**) malloc(N * sizeof(struct Struktura*));int flag = 0;for (int i = 0; i < N; i++){tab[i] = (struct Struktura*) malloc(sizeof(struct Struktura));tab[i]->a = ((rand() % (-1000 - 9000)) + -1000);tab[i]->b = ((rand() % ('b' - 's')) + 'b');tab[i]->c = 1000 + (rand() % (1-N));}return tab;}void toString(Struktura s){cout << s.a << " " << s.b << " " << s.c << endl;}void toString(Struktura* s){cout << s->a << " " << s->b << " " << s->c << endl;}void toString(Struktura** tab, int N){for (int i = 0; i < N; i++) {toString(tab[i]);}}void sort(struct Struktura** tab, int N){for (int i = 1; i < N; i++){int flag = 0;for (int j = 1; j < N ; j++){if (tab[j] > tab[j])swap(tab[j], tab[j]);flag = 1;}if (flag = 0) break;}}int main(){/srand(time(NULL));/clock_t begin, end;double time_spent;begin = clock();/* here, do your time-consuming job */end = clock();time_spent = (double)(end - begin) / CLOCKS_PER_SEC;int N;char X;FILE* fp = fopen("inlab01.txt", "r");if (fp == NULL)return -1;fscanf(fp, "%d %c", &N, &X);fclose(fp);struct Struktura** tab = (struct Struktura**) malloc(N * sizeof(struct Struktura*));sort(tab, N);tab = losuj(N);sort(tab, N);toString(tab, 20);sort(tab, N);}
1 beach_boy napisał(a):Hej,
0 Od jakiegoś czasu noszę się z zamiarem przybliżenia się do paradygmatu funkcyjnego. Z pragmatycznego punktu widzenia (uwzględniając przede wszystkim rynek pracy), na co lepiej zwrócić uwagę? Vavr czy Scala? Może jakiś inny język funkcyjny? Proszę o możliwie wnikliwe elaboraty! :)
0 Ja bym wjechał w Haskella. Co prawda pracy w PL to raczej nie uświadczysz ale chyba nie ma bardziej hardcorowego funkcyjnego. Inna sprawa to projekty. Co innego onsite, a co innego remote z drugiego końca świata. Wybór należy do Ciebie.
0 Możliwe, że na którymś etapie przetwarzania tego pliku na spoju kodowanie polskich znaków się kaszani i powoduje błąd kompilacji.Spróbuj bez ogonków.
0 Hej. Dopiero co zaczęłam się uczyć programować, a muszę przekształcić jedną funkcję. Siedzę nad tym już bardzo długo i mi nie wychodzi, próbowałam wszystkiego i nie mam pojęcia co robię źle. Może ktoś coś podpowie?
1 #include <stdio.h>void usun_ujemne(double *v, int *n){ /* Usuwa ujemne elementy z wektora v */ double *u = v; int l = *n; while (l--) { if (*v >= 0) /* jeśli element jest dodatni */ *u++ = *v; /* to zapamiętaj go w "nowym" * wektorze */ else (*n)--; /* w przeciwnym razie zmniejsz * wartosc wskazywana przez n */ v++; }}void pwekt(double *v, int n){ printf("[ "); while (n--) { printf("%g ", *v); v++; } printf("]");}int main(){ double v[] = {-10, 0, 10, -20, 30, 1.1, -2.2, -3.3, 300.003, 1024.5}; int n = sizeof v / sizeof v[0]; printf("Wektor: "); pwekt(v, n); printf(" (%d elementow)\n", n); usun_ujemne(v, &n); printf("Wektor po usunieciu ujemnych elementow: "); pwekt(v, n); printf(" (%d elementow)\n", n); return 0;}Mam taki program i muszę przerobić funkcję usun_ujemne tak, aby traktowała pierwszy argument jako wektor i posługiwała się indeksami i - do iteracji po wektorze i j - do zapamiętywania elementów nieujemnych. Próbowałam cos takiego ale to nie to.void usun_ujemne(double *v, int *n){ double *u=&v[0]; int l = *n; int j=0; for(int i=0;i<l;i++) { if (v[i] >= 0) *u++ = v[j]; else (*n)--; }}
0 Ja przyjde w bluzie Programistok (taka z tarczami mieczami itp, mysle ze nei bedzie duzo takich :) )
0 Byłem, szkoda że tego tematu nie widziałem. Plus czytania 4programmers - można wygrać wejściówki. Minus czytania 4programmers - wykład @jarekr000000 nie ma takiego efektu bo to wszystko widziałeś już wiele razy na forum :D. Ale przynajmniej ta prezentacja dała współpracownikom do myślenia.
0 Szkoda tylko że jutrzejszy dzień jest taki krótki i że dzisiaj było bardzo wiele nakładających się fajnych konf, przez co parę razy trzeba było wybierać.
0 Witam,Mam problem z połączeniem bazy danych MySQL w Eclipse. Mam już zainstalowaną baze MySQL i pobrany Connector/J (mysql-connector-java.jar). Nie wiem co gdzie wstawić lub skonfigurować, co muszę zrobić? Proszę o odpowiedź co mam zrobić krok po kroku
0 Z góry dziękuję ;)
0 _13th_Dragon napisał(a):Masz zwykły bąbelkowy bubel, czyli O(N^2)
0 Bubel czy nie bubel, nie istotne, jedynym moim zadaniem jest poprawnie oszacować złożoność. dlaczego O(N^2) a nie O(N^3) ?
0 Geolokalizacja to zły pomysł w tym wypadku. Można ją oszukać prosto, a do tego trzeba przyznać uprawnienia, bo inaczej nici.
0 Tak jak @mr_jaro napisał, zwykłe zapisywanie daty startu wyprzedaży do jakichś ustawień + porównywanie z czasem serwera w UTC wystarczy.
0 Ciężko stwierdzić o jakim przypadku sprzedaży piszesz.Do lokalizowaniu użytkowników możesz skorzystać z geolokacji:Firefox geo
0 Możesz też skorzystać z rozwiązania które oferuje na przykład https://www.aliexpress.com/Czyli wybieranie lokalizacji statycznie.
0 Lokalizację zawsze można sfałszować. Jeśli sprzedaż jest zależna od lokalizacji, to lepiej zrobić, aby nie była.Lokalizacja powinna upraszczać życie użytkownikom, a nie je utrudniać.
0 tak jak wyjaśniłem wcześniej i nadal nie rozumiem dlaczego ci to potrzebne przy promocji, ja bym zrobił po prostu konwersje daty pokazywanej ale sam start został by określony w utc w bazie danych i wystartował wszędzie równo
0 @mr_jaro Wiem, ze nie da (VPN etc). Ale jak inaczej?
0 ip nie da ci 100% pewności + łatwo to oszukać
0 @mr_jaro: Mam jezyk, ale przeciez uzytkownik moze uzyc jezyka Polskiego i byc np w Australii. Myslalem, zeby po adresie IP namierzyc lokalizacje uzytkownika i strefe czasowa i pozniej na tych informacjach wyswietlic odpowiednia godzine.
1 $datetime = new DateTime();$timezone = new DateTimeZone('Europe/London');$datetime->setTimezone($timezone);echo $datetime->format('F d, Y H:i');
0 Tzn czego dokładnie nie wiesz? Jaką strefe ma user? Nie bez powodu w większośc stron w ustawieniach w profilu masz do wyboru strefę, to jedyny w 100% pewny sposób. Jeśli nie masz rejestracji to po prostu strefę uzależnia się od wersji językowej strony lub języka ustawionego w przeglądarce.
0 Co do wysprzedaży to przecież dzieje się niezależnie od strefy.
0 Witam,
0 Mam sklep online. Musze wyswietlic sprzedaz zaleznie od lokalizacji klienta. Jezeli wyprzedaz zaczyna sie o 11:00 w PL, to wiadomo, ze np w UK bedzie to 10:00. Jakies pomysly jak pobrac lokalizacje/time zone?
0 Kamil Żabiński napisał(a):vavr to mniej więcej kopiuj wklej ze standadrowej biblioteki Scali (podstawowe monady Try/Either/Option + kolekcje niemutowalne + tuple i funkcje), więc jeśli nauczysz się używać jednego to drugie też szybko załapiesz.Większy problem to jest to że ani jedno ani drugie nie dostarcza sposobu do pisania kodu czysto funkcyjnego (czyli monady IO) oraz ładnego sposobu do pisania kodu asynchronicznego (czyli monady Task).IHMO w miarę prawdziwe programowanie funkcyjne zaczyna się od bibliotek Scalaz, Cats, ARROW, ZIO lub Functiona Java
0 Taka naprawdę super czysta czystość to brak jakichkolwiek efektów ubocznych, czyli brak obserwowalnego efektu działania programu (oprócz zużycia zasobów) ;]
0 Monady IO w przeciwieństwie do niemutowalnych struktur danych nie mają jasnych zalet (przynajmniej dla mnie). Przy monadach IO efekty uboczne i tak masz i masz mniej więcej te same problemy co w kodzie nieopakowującym efekty uboczne w abstrakcje. Możesz nawet napisać automat, który kod imperatywny zamieni na kod monadyczny 1:1 (tzn za pomocą monad IO możesz emulować mutowalność struktur danych, zmiennych lokalnych, stosu, itp itd). Ja tam nie jestem specjalnie przekonany do opakowywania wszystkiego w monady IO.
0 Jak dla mnie Scala jest takim trochę złotym środkiem - z jednej strony udostępnia masę niemutowalnych struktur danych z dobrą wydajnością (dzięki structural sharing w kolekcjach) oraz sporo mechanizmów umożliwiających funkcyjne abstrakcje (typy wyższych rzędów, rekurencja ogonowa, implicity, etc), a z drugiej nie zmusza mnie do pakowania się w monady IO na każdym kroku.
0 Ponadto nie ma jedynej słusznej monady IO. zio to nowe podejście do monad IO, które zmniejsza użycie monad transformers. Monada IO w zio to taka super-monada, łącząca wiele aspektów - izolacja efektów ubocznych, wartości opcjonalne, asynchroniczność, obsługa błędów, planowanie i zarządzanie zadaniami, itd Kiedyś to było rozczłonkowane na wiele monad łączonych tymi monad transformers co było uciążliwe.
0 No bo masz:
1 return (i < 10) ? '0' + 1 : i;
0 Ja mam koszulkę Dream Theater
0 https://jsfiddle.net/bp1tnkzh/ - rzuć okiem, czy jest OK. Moim zdaniem ta wersja działa poprawnie.
0 Problemem była funkcja dodająca zero na początku. Lekko zmieniłem i w poniższej postaci wydaje się działać poprawnie. W ogóle taka porada - nie musisz stosować uproszczonego zapisu warunkowego, takie "zwykłe" if ...then jest znacznie czytelniejsze. Zwłaszcza nie polecam czegoś takiego osobom początkującym, bo oszczędność miejsca jest znikoma, za to masz wiele możliwości rypnięcia się ;)
0 function leadingZero(i) { if (i<10) return '0'+i; else return i;}Poza tym czemu skorzystałeś z document.querySelector a nie z (moim zdaniem bardziej odpowiedniego) document.getElementById? Ma to jakieś uzasadnienie (o którym nie wiem), czy po prostu "tak wyszło"? ;)
0 jak chcesz sie nauczyc pisac funkcyjnie to wez sie za haskella i potem sobie wdrazaj takie praktyki w projektach. jakos nigdy w tym kierunku specjalnie sie nie pakowalam ale na tyle na ile mialam do czynienia z projektami uzywajacymi fp:a) w lepszych firmach/zespolach jest dosc mocna tendencja na pisanie javy funkcyjnie (co jest oczywiscie ograniczone i czesto przekombinowane bo java jest strasznie buracka jesli chodzi o skladnie i typowanie)b) projekty w scali czesta sa pisane przez javowcow i w "javowym stylu" przez lepiej moze byc jednak isc w a)najwiecej chyba zalezy od ciebie, jak sie naumiesz dobrych praktych to zespol/firma nie bedzie ci raczej przeszkadzac, beda sie tez bali wchodzic w dyskusje bo znajomosc monad jednak budzi respekt ;)
0 vavr to mniej więcej kopiuj wklej ze standadrowej biblioteki Scali (podstawowe monady Try/Either/Option + kolekcje niemutowalne + tuple i funkcje), więc jeśli nauczysz się używać jednego to drugie też szybko załapiesz.Większy problem to jest to że ani jedno ani drugie nie dostarcza sposobu do pisania kodu czysto funkcyjnego (czyli monady IO) oraz ładnego sposobu do pisania kodu asynchronicznego (czyli monady Task).IHMO w miarę prawdziwe programowanie funkcyjne zaczyna się od bibliotek Scalaz, Cats, ARROW, ZIO lub Functiona Java
0 Witam. Mam w htmlu prosty paragraf w którym wyświetlam aktualną godzinę. Robię to w nie pierwszym projekcie i zawsze było ok ale teraz mam problem z dziwnym freezem. Zawsze gdy liczba sekund dochodzi do 59 to nagle przeskakuje na 1. sekundę nowej minuty i freezuje mi do 10. sekundy a potem idzie normalnie, i tak w kółko, dochodzi do 59., przeskakuje na 1. sekunde i freezuje do 10.Wrzucam kodzik:
1 function leadingZero(i) {return (i < 10) ? '0' + 1 : i;}function showTime() {const currentDate = new Date();const time = leadingZero(currentDate.getHours()) + ":" + leadingZero(currentDate.getMinutes()) +":" + leadingZero(currentDate.getSeconds());document.querySelector('.fs-timer').innerHTML = time;}setInterval(showTime, 1000);
0 Czy ja wiem czy niska. W Krakowie niejedna firma szuka Scalowca. Poza tym Scala > Kotlin > Java jeżeli chodzi o pisanie funkcyjne. W Javie jest tyle boilerplate'u że szybko Ci się odechce. :D
0 Możesz też użyć tego:
1 #include<iostream>#include<string>using namespace std;void decimal_to_any() { int a=0, base = 0; cout<< "Convert integer to any base up to 16 \n"; cout<< "Enter base (2 - 16): \n"; cin >> base; cout << "\n"; cout<< "Enter integer to converse: \n"; cin >> a; cout << "\n"; string letters ="0123456789ABCDEF"; int rest; int c = 0; char b[sizeof(a)<<3]; do { rest = a % base; b[c]=rest; a=a / base; c++; } while (a!=0); for(int i= c-1 ; i >= 0;i--) cout << letters[b[i]];}To tylko nieco zmieniony kod z tego wątku: https://4programmers.net/Forum/C_i_C++/320885-konwersjazamiana_z_systemu_dziesietnego_na_szesnastkowyheksadecymalny?p=1556927#id1556927
0 EDIT: Wersja rekurencyjna, w pseudokodzie (Python), // - dzielenie w integerach, w C/C++ można zastąpić przez /:
1 def dec_to_any(n,base): """convert decimal n to base, base: 2 - 16""" conv_string = "0123456789ABCDEF" if n < base: return conv_string[n] else: return dec_to_any(n // base, base) + conv_string[n % base]EDIT2 wersja rekurencyjna w C++:
1 string decimal_to_any(int n, int base) { string conv_string = "0123456789ABCDEF"; if (n < base){ char c = conv_string[n]; string str(1, c); return str; } else return decimal_to_any2(n / base, base) + conv_string[n % base];}
0 Ja bym jeszcze wziął pod uwagę clojure.https://clojure.org/https://hnhiring.com/technologies/clojure
0 no bez problemu to zrobisz w many to many, nic stoi na przeszkodzie by był tam podany ten sam model
1 W obu szansa na pracę jest dość niska ;)
0 Może haskel?
0 nie patrzyłam dokładnie na xml-a, ale czy na pewno masz dobrze podanego Issuera (localhost??) i SSO callback address?
0 Hej,
0 Od jakiegoś czasu noszę się z zamiarem przybliżenia się do paradygmatu funkcyjnego. Z pragmatycznego punktu widzenia (uwzględniając przede wszystkim rynek pracy), na co lepiej zwrócić uwagę? Vavr czy Scala? Może jakiś inny język funkcyjny? Proszę o możliwie wnikliwe elaboraty! :)
0 Prezentacja Jarka to punkt obowiązkowy ;) łysy z dziarą na ręce i przekrwionymi od kawy oczami, ubrany na czarno to ja :P
0 Dziękuję wszystkim za porady. Odzyskałem dane. Pozdrawiam. Wątek uważam za zamknięty.
0 Ponieważ Bruno a Bruno(M) to ten sam użytkownik. Po prostu tok mnie nie było a hasła do 4programmers zapomniałem. Dziękuję admin za hasło.
0 Czemu zwyczajnie nie użyjesz ArrayList<int[]> tb; ?tb[3] -> rozmiar 3tb[10] -> rozmiar 10Ewentualnie HashMap<int,int[]> tb;i tak samo:tb[3] -> rozmiar 3tb[10] -> rozmiar 10
0 Ok admin sorki i przepraszam. KOCHAM Was ale sami wiecie, że panikuj. Wszystko odzyskała. Nikt tego nie czyta. Tylko teraz chce iść o krok dalej bo stracę np miesiąc w umieszczaniu plików w katalogach. Jurek jak i pan który pisze chłopie nie wiesz co robisz daj do labolatorium dysk. Nie trzeba. Tylko trzeba pomyśleć tak jak ja.
0 Ok Moje dawny login to Bruno(M) na for programmers. Nie mogę hasła odzyskać więc pisze przez fb jako Bruno.
0 @Bruno: Fakt jest taki, że @Klojtex ma rację - wrzucanie wielu jednozdaniowych postów jeden po drugim jest złym pomysłem i proszę, żebyś tak nie robił. A co do "Mariusza" - Ty to wiesz, my nie :P
0 A niech sprzątanie. Wypowiadasz się za admina i nie chłopie tylko Mariusz mam na imię. Nie wiem czy czytasz mam dane już zgrane na nowym dysku. Ja Cię krańce. Nie potrzeba żadnego labolatorium. Tylko normalnej życzliwej odpowiedzi i tyle a nie wnikania w bok i ucieczka poprzez krytykę. Ta wiedza jest mi w tej chwili najmniej potrzebna.
0 Przecież Ty nie masz pojęcia co robisz chłopie.Używanie narzędzi, których nie znasz i nie rozumiesz jak działają na ślepo za dużo Cię nie nauczy.
0 Oddaj ten dysk do porządnego labu, zanim zrobisz sobie większą krzywdę lub zrobi ją jakiś Janko-serwisant kasując parę stów.Jak chcesz, to się odezwij na priv, dostaniesz nazwę firmy, d której warto się odezwać.
0 I proszę Cię, jesteśmy w przestrzeni publicznej, a forum to nie komunikator.Pisz choć trochę poprawną polszczyzną i nie sadź 5 mikro-postów pod rząd, bo zaraz ktoś się wkurzy, że musi sprzątać ten bajzel.
0 Wydaje mi się, że nazwa wyjątku opisuje całkiem dobrze co jest problemem... Użyj np. AsyncTask
0 Witam, mam tabelę partnerów i tabelę pośrednią partener_partner, założenie jest takie że każdy partner może dodawać swoich partnerów i każdy partner może mieć swoich partnerów dlatego też potrzebuję relacji partner->partner. utworzyłem tabelę przestawną w której jest user_id i partner_id i teraz nie wiem jaką relację (wydaje mi się że many to many) i jak zastosować aby spełnić te założenia. Relacja musi działać na jednej tabeli "partners"
0 Laravel 5.8
0 Z góry dzięki
0 @Tomek Pycia, mamy produkty które są już na sklepie i nie posiadają kodu kreskowego a producent nie przewiduje wprowadzenia kodu kreskowego. Myślałem to rozwiązać aby nadrukować kody qrcode i zapomnieć o tym.. ale zacząłem się zastanawiać czy nie pójść o krok do przodu i olać wszystkie kody producentów i przestać się zastanawiać czy któryś ma kod kreskowy czy go nie ma, i drukować na wszystko qrcode w drodze "z półki-do kasy"
0 Już się z @danek spotkaliśmy na konfie, @baant będziesz na prezentacji Jarka?
0 Markuz napisał(a):https://www.quora.com/What-ar[...]e-image-search-APIs-out-there
0 Znalazłem z tego wszystkiego chyba tylko to się nadające. https://rapidapi.com/contextu[...]oint=5b864ca4e4b085e3f407eccaLecz mam problem bo nie potrafię tego użyć - pomimo ustawienia dependencies i trycatcha i tak wywala mi to aplikację.
1 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/ImageSearchAPI?autoCorrect=false&pageNumber=1&pageSize=10&q=Taylor%20Swift&safeSearch=false") .get() .addHeader("x-rapidapi-host", "contextualwebsearch-websearch-v1.p.rapidapi.com") .addHeader("x-rapidapi-key", "0e28cd199bmsh5de37872ac0fea1p16ee77jsnf066b79f9a9b") .build(); try{ Response response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); }//DEPENDENCIESimplementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.5.0' implementation group: 'com.squareup.okio', name: 'okio', version: '1.6.0'Wywala taki o to error android.os.NetworkOnMainThreadException z bloku trycatcha (ten response). Po drugie chyba ten "x-rapid-key" jest zły bo go skopiowałem ze strony, a w przeciwnym wypadku licencja wymaga tam chyba abonamentu (SING_UP_FOR_KEY)
0 Scala 2.12+ wymaga JRE 8+ do odpalenia. Nie wiem czy Android jest w stanie obsłużyć w pełni bajtkod Javy 8. Jeśli nie to trzeba używać Scali 2.11-
0 scalaz jest bardzo przenośną biblioteką, bo jest to tylko zbiór abstrakcyjnych typów danych i ich zachowań, a nie nakładki na imperatywne API. Powinieneś być w stanie spokojnie używać scalaz (czy też cats) na Androidzie.zio natomiast jest biblioteką do opakowywania imperatywnych API w funkcyjne interfejsy - tutaj więc zależy co leży pod spodem tych funkcyjnych interfejsów. Jeśli zio używa API niewspieranego na Androidzie to nie pójdzie.
0 Scala-Native to dość niedoinwestowany projekt, z planowanymi dużymi zmianami w integracji z natywnymi bibliotekami, jeszcze bez wsparcia dla wielowątkowości (jest zamiast tego event loop na którym można odpalać Future'y) i bez wsparcia dla Scali 2.12+. Na razie nie oczekiwałbym od niego zbyt wiele. Już prędzej bym poczekał na wsparcie Androida w native-image z GraalVMa.
0 Pozostaje jeszcze pytanie jak dużo można wrzucić programowania czysto funkcyjnego do aplikacji Androidowych? Coś mi się wydaje, że Android to platforma silnie zarządzana (tzn Android zarządza wieloma klasami użytkownika, a typowy JVM tylko odpala maina i dalej się nie wtrąca) więc też okazji do programowania czysto funkcyjnego jest mniej. Nie pisałem jednak niczego pod Androida (a tym bardziej czegokolwiek w Scali pod Androida), więc tylko zgaduję.
0 Oczywiście odzyskała dużo danych. Nagłówki zostały napisane. To dotyczy struktury katalogów.
0 Problem w tym, że żaden program nie radzi sobie tylko Raw Porfirion recorvery. Też powtarzam. Dlatego jak piszesz zrób kopię dysku. Uwierz mi że test disc czy inne programy sobie nie radzę w zrobieniu kopii dysku.
0 Bo wszystkie oprogramowania bazują na fat czy NTFS i tyle. Wskaż program do skopiowania sektor po sektorze program. Gdzie partycja rozpadła się. Uwierz mi że będą wywołały błędy wejścia i wyjscia
0 I żadnej kopii nici. Wskaż program. A nie mówisz że mam zablokować płytkę i znów dysk męczyć a sam mówisz aby tego nie robić. No dobra jak piszesz Jurek zobaczymy w jakiej kondycji jest dysku. To absurdalne i zaprzeczenie sam Twoich słów.
0 Pliki wymiany i hibernacji mają wartość 0 po odzyskaniu ich. To mnie zastanawia. A hibernowalem kompa że względu na algorytmy które pisałem brute force.
0 Jurek zapłacę 1000zl za odzyskanie danych. Ale aby było to w strukturze katalogów. Wszystko odzyskała tylko mój projekt musi śmigać. Moje dane do fb. Mariusz Bruniewski.
0 Po to masz moje dane i 4programmers aby być wiarygodnym do przyjęcia przez Ciebie zlecenia. Odezwij się. Czekam i pozdrawiam.
0 Jak masz poprawny binarny to już "kaszka z mleczkiem". Tak jak napisał @_13th_Dragon
0 Masz zwykły bąbelkowy bubel, czyli O(N^2)
0 Witajcie,
0 Mamy problem odnoście wyświetlania się mikroformatów ( gwiazdek ocen) na naszym serwisie https://www.zlecenia24.pl/ pod naszymi podstronami w Google. Przez pewien moment wyświetlałby się w Google. Natomiast po jakimś czasie wystąpił błąd i mikroformaty zniknęły. Występuje taki opis błędu: Article nie jest znanym poprawnym typem celu dla właściwości itemReviewed****
0 W załączniku PDF jest jak to mniej więcej wygląda. Proszę o informację czy jesteście Państwo rozwiązać ten problem. Storna nie jest na WP tylko na PHP.
0 Jeśli ktoś jest nam wstanie pomóc to prosimy o kontakt pod [email protected]. Mamy nadzieję że z Waszą pomocą uda się rozwiązać problem.
0 Pozdrawiamy,
0 Jedno nie ma związku z drugim. EAN jest standardem kodowania w 1D i możesz sobie tam nadrukować, co sie podoba. Co do samej poprawnej wartości kodu EAN - tak nadaje go organizacja i jest przypisany do produktu. Weź soebie np taki generator kodów: http://www.barcodegenerator.online/. Możesz wpisać, co sie podoba i zakodować w EAN ileś tam. Tak że te wasze kody zmożecie wydrukować w postaci zwykłych kodów 1D i to tylko od was zależy co z tym zrobicie dalej.
0 Można użyć zwykłego Worda, żeby zrobić taki kod. Jak znasz takie firmy, to mogę im to wdrożyć za miskę ryżu.
0 Jakoś bardzo w kodach EAN nie siedzę, więc jeśli teraz napiszę głupoty to proszę o sprostowanie, ale z tego co kojarzę, to nie możesz tak sobie po prostu wydrukować i nakleić kodu.
0 https://pl.wikipedia.org/wiki/EAN - są one koordynowane przez odpowiednie organy: kod wytwórcy to unikatowy kod przydzielony każdemu producentowi przez odpowiednią instytucję zarządzającą, producent otrzymuje określoną pulę kodów do wykorzystania - produkty produkowane przez danego wytwórcę będą używały tego samego kodu wytwórcy oraz różnych kodów produktu aż do wyczerpania przydzielonej puli numerów produktów. Nie wiem, z jakimi opłatami się to wiąże, ale raczej z tego co rozumiem, to nie możesz wprowadzić na rynek towaru z jakimś kodem, który Tobie się objawił podczas porannej sesji w toalecie, musisz mieć to zgłoszone, a numeracja musi być skoordynowana z pozostałymi producentami.
0 po ean trzeba udać się do gs1 a po qrcode nie trzeba
0 Z tego co kojarzę to niekoniecznie. Jest kilka rodzajów kodów paskowych, ponadto mają one różne długości. Chyba tylko niektóre wymagają zgłoszenia/rejestracji, część można sobie wykorzystywać samodzielnie. Tylko wtedy nie ma znaczenia, czy dasz QR czy EAN, tak samo będzie to jedynie lokalne rozwiązanie, wykorzystywane jedynie w Twoim sklepie i nigdzie indziej. A - jak pisałem kilka postów wyżej - kody paskowe są aktualnie obsługiwane przez wszystkie skanery i oprogramowanie, więc lepiej sobie wydrukować paski, niż kody 2D.
0 wydaje mi się ze problem jest bardziej złożony bo po ean trzeba udać się do gs1 a po qrcode nie trzeba - i o to mi głównie chodzi
0 Pitasato napisał(a):@cerrato, ja wiem o czym piszę bo widzisz produkty które mają kody kreskowe producenta są znacznie droższe, a wiele produktów które są dobrej jakości nie ma kodów kreskowych ponieważ producent nie ogarnia jeszcze tej technologii gs1.Wtedy market sięga po produkty które posiadają już takie kody ale są one znacznie droższe a kto za to płaci ?
0 Jak ktoś nie ma kodów, to żaden szanujący się dystrybutor nie zainteresuje sie takim towerem, co jest jednoznaczne ze śmiercią przedsięwzięcie. Koszt drukarki to jakieś 350 PLN. Można użyć zwykłego Worda, żeby zrobić taki kod. Jak znasz takie firmy, to mogę im to wdrożyć za miskę ryżu.
0 @cerrato, ja wiem o czym piszę bo widzisz produkty które mają kody kreskowe producenta są znacznie droższe, a wiele produktów które są dobrej jakości nie ma kodów kreskowych ponieważ producent nie ogarnia jeszcze tej technologii gs1.Wtedy market sięga po produkty które posiadają już takie kody ale są one znacznie droższe a kto za to płaci ?
0 @Tomek Pycia, o taką podpowiedź mi chodziło dzięki za info
0 Ja tylko dodam, że QR kod jest specjalną odmianą kodu 2D i służy głównie do przekierowywania w jakieś miejsce. Do zapisu danych stosuje się standardowe kody 2D i tylko w tedy kiedy w normalnym 1D braknie miejsca na dane. Z reguły 2D kody wymagają lepszych jakości wydruku, co nie jest łatwe w przypadku drukarek przemysłowych, które nawet z 1D maja problemy.
0 Bo do tego, co jest potrzebne, EAN jest wystarczający. Poza tym ten standard przyjął się wieeeele lat temu, wszyscy producenci go wspierają, każdy produkt ma paseczki z boku, wszystkie kasy mają skanery tego typu kodów, oprogramowanie umie z nimi współpracować itp.
0 Moim zdaniem, potencjalny zysk z przejścia wszystkich na QR będzie znacznie niższy, niż komplikacje z tego wynikające.
0 produkty nie zawsze mają kody kreskowe
0 OK, ale jednak większość posiada paseczki. I teraz masz do wyboru - albo wszystkie obkleić kodami QR, albo tylko tej części, która nie ma swojego kodu, dokleić kod EAN. Co jest łatwiejsze?
0 vpiotr napisał(a):https://www.geeksforgeeks.org[...]d-arrays-with-o1-extra-space/
0 No tu jest to inaczej zrobione nie wiem jak mam to do swojego algorytmu odnieść, mógł by ktoś wytłumaczyć jak tą złożoność oszacować na podstawie konkretnie mojego algorytmu ?
0 lol, ogólnie zastanawiam się dlaczego markety nie wykorzystują qrcode do identyfikacji towarów tylko korzystają z ean
0 https://stackoverflow.com/que[...]-for-rebooting-tp-link-router w ostatnim poście masz przykład jak zresetować router programistycznie za pomocą usługi windows z poziomu visual basic. W C# będzie to samo chyba sobie przetłumaczysz.
0 Znaczy - podpinasz dwa łacza: WAN oraz "coś drugiego", jak nie działa pierwsze, to ma się przełączyć na drugie. W czym jest problem?
0 W tym, że jedno łącze dochodzi na parter, a drugie na poddasze czyli 3. piętro i obecnie nie ma bezpośredniego (dodatkowego) kabelka, który łączy te dwa miejsca.
0 Światełko sobie kończysz gdziekolwiek, a potem kablem UTP doprowadzasz Gbit do "głównego" routera.
0 W teorii racja, ale poprowadzenie takiego kabelka przez trzy piętra to nie taka prosta sprawa. Wolałem rozwiązanie software'owe, a hardware'owe z kładzeniem nowych kabli w ostateczności.Niemniej to jest użyteczna informacja - bo jeśli się nie da software'owo zrobić tak, aby mieć 2 łącza WAN wpięte w osobne routery (a nie jeden wspólny), to będę myślał, którędy poprowadzić ten kabel.
0 Może spasuje Ci Flutter?
0 Co prawda to nieco inna bajka, ponieważ pisze się w Dartcie, lecz - przynajmniej mi - ogarnięcie podstaw zajęło kilkanaście minut (na plus jest natywna integracja z Android Studio!).
0 Sam od tygodnia tworzę sobie apkę do fiszek i muszę przyznać, że choć szczerze nienawidzę składni Darta (bojówka #rust), to jest to całkiem produktywny język do pary z Flutterem, do którego istnieją tysiące różnych mikroporadników w internecie.
0 Ale w czym jest problem? :P
0 no dobra jak się zbiorę to napisze
0 postaram się napisać jak "krowie na granicy", ale to też wtedy chciałbym odpowiedzi jak "krowie na granicy" uzyskać
0 pozdrawiam
0 Zastanawiam się czy przeszedł by wątek z qrcode jako standard w sklepie detalicznym w procesie identyfikacji towarów.
0 Chodzi o to że produkty nie zawsze mają kody kreskowe i musimy posługiwać się kodami id z bazy danych, myślałem o tym aby naklejać naklejki z qrcode zaszytym kodem id do skanowania na każdy produkt
0 I na pewno żadna z setki istniejących w sklepie aplikacji tego nie oferuje? Zresztą sama obsługa GC w oparciu o komponenty dostarczane z Androidem jest trywialna, do tego przecież kalendarze można udostępniać określając prawa odczytu/zapisu dla poszczególnych ludzi. Nie to, żebym Cię zniechęcał, ale wydaje mi się, że to jest niepotrzebne wymyślanie koła na nowo/wyważanie otwartych drzwi itp.
0 Kalendarz Read Only zbliżających się wydarzeń. No ludzie mało techniczni słabo ogarniają Google Calendar
0 Może offtop, ale czy możesz napisać (chociaż z grubsza) co to za społeczność oraz jaką funkcjonalność ma ta aplikacja dostarczyć?
0 sygnał musi być doprowadzony do jego portu WAN [...] kieruj pakiety na 192.168.0.xxx,
0 Nie do końca rozumiem, o czym piszecie. Znaczy - podpinasz dwa łacza: WAN oraz "coś drugiego", jak nie działa pierwsze, to ma się przełączyć na drugie. W czym jest problem?
0 światłowód musiałbyś mieć obok tego routera ze względu na anteny
0 Ale (ponownie) - w czym jest problem? Światełko sobie kończysz gdziekolwiek, a potem kablem UTP doprowadzasz Gbit do "głównego" routera. Nie uwierzę, że Gbit będzie Ci za mało :P
0 Co do przełączania to o ile kojarzę ten MR3420 miał fail over
0 On ma failover, ale tylko taki, że sygnał musi być doprowadzony do jego portu WAN. Nie ma takiego czegoś, że "jeśli nie działa główne łącze, to kieruj pakiety na 192.168.0.xxx, który jest na drugim końcu budynku".
0 W tym wypadku z kolei światłowód musiałbyś mieć obok tego routera ze względu na anteny.
0 No właśnie tego chciałem uniknąć, bo nie wiem nawet czy będą chcieli / mogli mi to tak wysoko doprowadzić.
0 Cześćznajomi wpadli na pomysł, że dla ich społeczności przydałaby się apka na Androida i padła propozycja że mógłbym coś takiego zrobić hobbystycznie. Niestety jestem programistą Javy i Scali serwerowe (backendowej) i nieznam się na Androidzie, a w czasie wolnym najchętniej uczyłbym się programowania funkcyjnego, najlepiej przy pomocy Scali. Dlatego mam kilka pytań:
0 TL;DR
0 Czy można pisać aplikacje na Androida w Scali? znalazłem coś takiego https://scala-android.org/ , ale nie wiem czy to jest używalne. Np. Scala Native na pierwszy rzut oka też wyglądała na używalnąJeśli (1) jest prawdą to czy na Androidzie można używać bibliotek do programowania funkcyjnego dla Scali jak Scalaz i ZIO ?Jeśli (1) nie jest prawdą to czy na Androidzie można używać bibliotek do programowania funkcyjnego dla Kotlina jak ARROW? Jak ostatnio sprawdzałem to ARROW nie napisany w czystym Kotlinie, ale czy wpływa to jakoś na używanie go na Androidzie?Za wszystkie odpowiedzi z góry dziękuję i pozdrawiam
0 Najgorsze przy pełnych to strasznie gorąco, latem zostają pchełki.
0 Ilość miesięcy między dwoma datami możesz policzyć w ten sposób:
1 import datetimedate1 = datetime.date(2019, 10, 13)date2 = datetime.date(2019, 8, 11)print((date1.year - date2.year) * 12 + date1.month - date2.month)Możesz również zainteresować się modułem https://dateutil.readthedocs.io/en/stable/ który rozszerza możliwości datetime.
0 Światełko doprowadź sobie tam gdzie potrzebujesz największego transferu np. Jeśli na 1 piętrze masz TV i netflixa w 4K to najlepiej tam mieć bezpośrednie łącze. Oczywiście o ile to technicznie możliwe.Co do przełączania to o ile kojarzę ten MR3420 miał fail over. Wtedy w razie awarii głównego łącza router sam przyłączy się na LTE. Niestety o ile pamiętam przyłączenia ponownie na łącze główne trzeba dokonać już ręcznie. W tym wypadku z kolei światłowód musiałbyś mieć obok tego routera ze względu na anteny.
0 Co do przełączania - większość routerów ma taką opcję. Sam niedawno bawiłem się Ubiquiti EdgeRouter POE i bezproblemowo tam daje się ustawić, żeby w przypadku padnięcia łącza głównego, ruch szedł przez łącze zapasowe. Ale, jak pisałem - duża część tych za więcej niż stówka ma taką możliwość.
0 Co do mocnego sygnału i wymiany AP'ków - ponownie polecam Ubiquiti. Rzuć okiem na coś takiego - https://www.senetic.pl/produc[...]maCh0JXwLzEAQYASABEgKFUPD_BwE. Mam takich kilka zainstalowanych w firmie i naprawdę polecam. Mają zupełnie inną charakterystykę/rozkład rozchodzenia się fal radiowych. Zamiast jakiegoś patyka, który sieje dookoła, tutaj mamy coś w stylu stożka. Montujesz to na suficie i cieszysz się odczuwalną różnicą. Plusem jest też, że ma to zasilanie PoE, więc ciągniesz jedną skrętkę i nic poza tym. No i jest soft do zarządzania tym: te apki nie mają wbudowanego web-serwera, tylko zarządza się nimi przez odpowiednią aplikację. Wszystko masz w 1 miejscu.
0 Co do wiercenia w kominach i odrywania listew - a nie myślałeś, żeby na razie (do czasu kolejnego remontu) puścić kabel na zewnątrz? Wiem, że to prowizorka, ale na kilka lat może być OK, a potem, przy okazji remontu, rozkujesz ściany, wsadzisz kable i zrobisz to porządnie.
0 Jeszcze co do rozmieszczenia urządzeń - nie znam rozkładu Twojej chatki, ale jeśli chcesz mieć łącze zapasowe przez GSM, to urządzenie (modem czy router) który się łączy z tą anteną na dachu bym zostawił jak najwyżej (żeby kabel antenowy był możliwie najkrótszy, bo wiadomo - straty sygnału i takie tam), a potem do głównego routera już bym szedł skrętką.
0 lion137 napisał(a):iksde napisał(a):krysteq28 napisał(a):Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)
0 Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.
0 Czyżby?
1 >>> import datetime>>> date1 = datetime.date(2019, 10, 14)>>> date1.month10Chodzi o typ timedelta, a nie date/datetime. Pisząc datetime w poprzednim poście miałem na myśli cały moduł :)
0 Ponieważ królików mi się w domu trochę namnożyło, to przenieśliśmy się do większego domu. No i pojawił się problem - jak tu na takiej dużej powierzchni zapewnić dostęp do Internetu.Z piwnicy wyciągnąłem wszystkie stare routery i access-pointy i zbudowałem sieć, która wygląda na razie tak:
0 Poddasze: TP-LINK MR3420wpięty modem LTE na USBzewnętrzna kierunkowa antena LTE na dachuuruchomione: DHCP, NATAP wifi 2,4 GHz obejmujący poddasze i 2. piętrowychodzi z niego kabelek ethernet kat 6. na pierwsze piętroPierwsze piętro: DLink DIR-615podłączony kabelkiem ethernet z routerem na poddaszu; pracujący w trybie zwykłego switcha z AP (bez NAT, bez DHCP)zapewnia wifi 2,4 GHz na 1. piętrze i północnej części ogroduzapewnia dostęp przewodowy dla komputerów i drukarki w pracowni oraz przekazuje sygnał kablem ethernet dalej na parterParter: Cisco WRT54G2podobnie jak Dlink, pracuje tylko jako switch + APpołączony z pierwszym piętrem kabelkiem kat 5e + kat 7 + kat 5e (sztukowany z trzech, nie pytajcie dlaczego, to nie ja!) zapewnia wifi 2,4 GHz na parterze / tarasie / południowej części ogroduzapewnia internet po kabelku dla TV, wieży itp.Studzienka w ogrodzie 2m od domu: ŚWIATŁOWÓD!!! (1 Gb/s) Nie jest podłączony jeszcze, ale niedługo mają go podłączyć Inne informacje:
0 Stropy i ściany betonowe, silnie tłumią sygnał wifiNiestety mam tylko jeden kabelek ethernet z poddasza na 1. piętro i jeden z pierwszego piętra na parter. Dołożenie nowego jest możliwe, ale będzie niezłym wyzwaniem (odsuwanie szaf, wiercenie w kominach, odrywanie listw przypodłogowych i takie tam). Wszystkie piętra działają w jednej wspólnej podsieci i tak ma zostać (SSID WiFi zresztą też wspólny, kanały wymuszone tak aby nie zachodziły)Pytania:
0 Do którego punktu w domu najlepiej doprowadzić światłowód? Jak zrobić, aby światłowód działał jako główne łącze, a LTE na dachu działało jako łącze zapasowe i aby przełączanie między nimi było możliwie proste / szybkie (może nawet automatyczne), bez rekonfiguracji klientów? Czy są sprzęty, które potrafią w sytuacji gdy padnie dostęp przez WAN, routować na inny gateway (ten na poddaszu)? Na jaki sprzęt wymienić te zabytki, aby wifi wszędzie miało silny sygnał i szybko działało?
0 Jak zamieniłeś na binarny to dalej z górki każde 4 bita to cyfra szesnastkowa.Tu masz z każdego na każdy: http://forum.4programmers.net/1005274
0 iksde napisał(a):krysteq28 napisał(a):Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)
0 Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.
0 Czyżby?
1 >>> import datetime>>> date1 = datetime.date(2019, 10, 14)>>> date1.month10
0 Kiedyś rozważałem Bose QC35 II i Sony WH1000XM3 (przedział cenowy 1k-1.5k). Jeszcze nie nabyłem i się waham, czy w moim przypadku (częste telekonferencje), będzie się sprawdzać. Warto wiedzieć, że Android 8+ wspiera natywnie LDACa, co może dla niektórych miłośników muzyki posiadających telefon oparty o Androida może być zaletą.
0 Witam Wszystkich!Korzystam z Visual Studio Professional 2019. Napisałem aplikacje webowa (.NET Core 2.2) i chciałbym ją umieścić na maszynie wirtualnej, na której jest zainstalowany IIS 10. W Visual Studio robię "Publish --> Web Deploy Package --> Tworzy się paczka ZIP, którą przenoszę na maszynę wirtualną. Na serwerze odpalam IIS, klikam na instancji aplikacji prawym "Wdróż --> Importuj aplikację --> Wskazuję ścieżkę do paczki ZIP i importuję aplikację. Po uruchomieniu aplikacji w przeglądarce otrzymuję komunikat: 500 Internal Server Error - There is a problem with the resource you are looking for, and it cannot be displayed.Wcześniej miałem na serwerze IIS 6 i wszystko działało. Zainstalowałem IIS 10 na kolejnej maszynie i już jest wyżej opisany problem.Będę wdzięczny za pomoc.Pozdrawiam
0 krysteq28 napisał(a):Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)
0 Z tego co pamiętam datetime nie umie liczyć miesięcy. Spróbuj pendulum.
0 No to ja też dodam, że nie mam pojęcia o co chodzi. Może jak jeszcze kilka osób napisze, ze pytanie jest totalnie nieczytelne i źle sformułowane, to w końcu autor wątku zrozumie, ze tak rzeczywiście jest i przestanie nas przekonywać, ze wszystko jest OK ;)
0 Nie obrażaj się i nie obrażaj też tonem wypowiedzi innych. Większość osób na tym forum umie czytać po polsku. Twoj post jest niespójny. Za nic nie można wywnioskować co chcesz osiągnąć. Poświęć chwilę czasu i opisz dokładnie wszystko jeszcze raz.
0 maf2 napisał(a):Chodzi o to, że ilość tablic się zmienia.Czyli raz mamy trzy tablice
0 Nie wiem jak to rozwiązać ze generowany kod te wartości {0,1} itp. jest przypisywany do tablicy o innej nazwie. Jak do tego podejść.?
0 Sprawdzić, czy istnieje taka tablica. Masz metodę Arrays.equals(int[], int[]), która sprawdza, czy tablice są równe co do długości i wartości pod indeksami.
0 ja zacząłem tak - napisałem do firmy X z prośbą o pozwolenie na "pobawienie" się ich systemem i dostałem nawet oficjalną pisemną zgodę :)
0 którego zdania nie rozumiecie?
0 powinienem napisać jakie są sposoby na zablokowanie wykonania kodu, który robi to i to?co zresztą jest napisane
0 @czysteskarpety:
0 i7-7700HQ 2.8GHz 4c 8t16GB RAMNVIDIA 940MX 2GB512 GB SSD windows 10 Progwarancja do 28.06.2021 (On-Site) - ofc obowiązuje w Polscestacja dokująca Lenovo Thinkpad UltraDock 40a2Matryca.. IPS FullHD mat, można te detale dotyczytać w oficjalnych speckach T470p bo raczej pod tym względem się one nie różnią ;)
0 mam podobne wymagania + zalezy mi zeby ladne, ostatnio uzywam sennheiser momentum 2 i po raz kolejny ta firma mnie nie zawiodla
0 Pobijam bose qc 35 ii, walka w segmencie ~1.5k to tylko Sony i Bose, sony ma lepszy dzwiek i minimalnie lepsze wygluszenie, ale bose to najwygodniejsze sluchawki jakie posiadam. Testowane od miesiecy po 8h dziennie na glowie w bitwie z open-space'owym halasem od klimy, nawilzacza i rozmow i oceniam bardzo dobrze.
0 Ja używam bose qc 35 II i śmiało mogę polecić.
0 Nie napisałeś czy chodzi o słuchawki dokanałowe czy nauszne.Jeżeli masz na myśli nauszne to co prawda sam posiadam droższy model ale do 1000 też zainteresowałbym się Sony, np.: https://www.sony.pl/electroni[...]hawki-palak-na-glowe/wh-h900n
0 lookacode1 napisał(a):@Wibowit:
0 Mam w systemie właśnie klasę GameEvent jenak nwm czy mógłbym jąwykorzystać w taki sposób. Jest ona abstrakcyjna i po niej dziedzicząkonkretne eventy np.
1 GameStartedEvent extends GameEventPlayerDidSomethingEvent extends GameEventGameEndedEvent extends GameEvent
0 Jeśli te klasy to zwykłe data classes to jak najbardziej się nadają do tłumaczenia wprost na wiadomości, które mają potem być przesyłane używając SimpMessagingTemplate. W Scali użyłbym do tego sealed case classes i wsparcia od kompilatora podczas pattern matchingu (kompilator Scali sprawdza czy obsłużyłeś wszystkie możliwe przypadki w przypadku pattern matchingu na sealed class). W Javie tego jeszcze nie ma, dopiero ma dojść http://cr.openjdk.java.net/~briangoetz/amber/datum.html ale zamiast na to czekać możesz po prostu przygotować jakąś specjalną infrastrukturę testową (która daje zadowalającą gwarancję, że nie zapomnisz o jakimś przypadku).
0 Natomiast w podejściu obiektowym mógłbyś wstawić metodę toSimpMessagingTemplate wprost do GameEvent i wtedy odpadłby problem z poprzedniego akapitu, ale czy GameEvent powinien wiedzieć cokolwiek o SimpMessagingTemplate? Chyba nie. Pokombinuj i sprawdź jaki kod ci wyjdzie.
0 Witam,
0 Chodzi o symulację/modelowanie sensorów działających w oparciu o triangulację laserową (punktowych i liniowych), które umożliwiają uzyskanie obrazów 3D np. powierzchni. W celu badania zdolności czujników do wykonywania pomiarów różnych wielkości geometrycznych, w tym topografii powierzchni.
0 Laserowe czujniki triangulacyjne mogą przybierać różne geometrie: https://senseit.nl/tech-talk-laser-triangulation/Dokładność pomiaru odległości zależy od różnych czynników, w tym: koloru powierzchni, odblaskowości, chropowatości, odległości roboczej, nachylenia do mierzonej powierzchni, wzajemnego ułożenia matrycy i lasera, mocy i długości fali lasera, oświetlenia zewnętrznego itd...
0 Do tego dochodzi również analiza wyników, wykreślanie korelacji itd.
0 Pytania:
0 1) W jakim zakresie Matlab będzie do tego przydatny?2) Jakie toolboxy należałoby dobrać (istotne, ponieważ kupienie ich razem z Matlabem na starcie jest tańsze niż dokupienie ich później)?
0 Pozdrawiam :)
0 Może Sony https://www.sony.pl/electronics/truly-wireless/wf-1000xm3
0 Jak w tytule. Moje pancerne bezprzewodówki po wielu latach służby, zderzeniach z chodnikiem i innymi powierzchniami, wreszcie przegrały walkę.
0 Szukam bezprzewodowych słuchawek z aktywnym wyciszeniem a jestem kompletnie zielony w temacie i w sumie nie wiem jakie wybrać.Generalnie ważne są dla mnie: długi czas pracy na baterii, dobre aktywny wyciszenie i wygoda - praktycznie nie zdejmuję z uszu więc muszą być wygodne.
0 Audiofilem raczej nie jestem, ale muzyki lubię posłuchać, także fajnie jakby też umiały w miarę głośno grać.Z budżetem chcę się zmieścić do 1000 zł.
0 Jakie są wasze rekomendacje w temacie?
0 Edit: oczywiście nauszne
0 Witam. Czy korzysta ktoś może z https://www.google.com/search[...]GzW9A8W6c4XaZWA:1571001409083 jako rozszerzenia dysku? Czy w ogóle można na tym normalnie pracować? Chodzi mi czy mogę na tym trzymać swoje repozytoria i używać tego jak normalnego dysku? Czy może tego typu karty są tylko i wyłącznie do trzymania filmów/zdjęć - w sensie raz wrzucić i niech leży... Mam aira 128gb i zastanawiam się czy to nie jest dobre rozwiązanie. Niby dedydykowane do maca i chyba ok, ale wolę zapytać czy warto. Dzięki za wskazówki.
1 #include <iostream>int main() { std::cout << std::hex << 93 << '\n';}
0 Witam mam zadanie zamienic z 10 na 16 system, zamienilem na binarny i dalej nie mam pojecia jak to zrobic, jakies porady ?:)
0 Chodzi o to, że ilość tablic się zmienia.Czyli raz mamy trzy tablice
1 int[] arr1 = {0,1}; int[] arr2 = {0,1}; int[] arr3 = {1,1}; Set<int[]> mySet = new TreeSet<int[]>(new ArrayComparator());innym razem mamy 4 array czyli arr1,arr2,arr3,arr4. Jakiś tam kod generuje mi wynik i muszę go za każdym razem przypisać do tych tablic i potem przepuścić przez Comparator żeby sparawdzić czy już nie było takiego wyniku.Nie wiem jak to rozwiązać ze generowany kod te wartości {0,1} itp. jest przypisywany do tablicy o innej nazwie. Jak do tego podejść.?
0 Hej, w zasadzie to gdy użyję minimum raz await w metodzie async, to całość jest jakby automatycznie w tasku i nie muszę zamykać ciała w task? Tak mi mówi IDE. Słabo się googluje takie rzeczy. Mam locki i nie chce żeby mi blokowało.
0 Nie za bardzo wiadomo o co chodzi. Wiem, że chcesz dodawać int[] do Set'u. Wiem, że wiesz co to jest Set.add(). Nie wiem tylko, czego nie możesz zrobić.
0 Chodzi ci o to, żeby do Set'a nie wepchnąć tablicy, która ma istniejącą długość? Po prostu sprawdź przed dodaniem, czy taka tablica jest już w zbiorze
1 import java.util.Arrays;import java.util.Set;import java.util.stream.Collectors;import java.util.stream.Stream;public class Fun { public static void main(String[] args) { Set<int[]> set = prepareData(); int[] firstTested = {1,2}; // shouldn't pass int[] secondTested = {1}; addToSet(firstTested, set); addToSet(secondTested, set); String resultText = set.stream().map(Arrays::toString).collect(Collectors.joining(",")); System.out.println(resultText); } private static boolean addToSet(int[] tested, Set<int[]> set) { if (isArrayLengthInSet(tested, set)) { return false; } else { return set.add(tested); } } private static boolean isArrayLengthInSet(int[] tested, Set<int[]> set) { return set.stream() .anyMatch(array -> array.length == tested.length); } private static Set<int[]> prepareData() { int[] first = {1,2,3,4}; int[] second = {2,3}; int[] third = {3,4,5}; return Stream.of(first, second, third) .collect(Collectors.toSet()); }}
0 Myślę, że temat jest do ogarnięcia i za dosłownie 2-3 stówki ktoś Ci to napisze w jeden wieczór. Czy nie lepiej by Ci było dać informację w Ogłoszenia drobne, zapłacić i mieć to porządnie zrobione, a nie bawić się jakimś ręcznym grzebaniem w notatniku? Poza tym zrobienie tego w ramach aplikacji znacznie zmniejsza możliwość popełnienie przez Ciebie błędu. Naprawdę - zastanów się. Zwłaszcza, że "specjalistyczna i niszowa branża sportowa" sugeruje, że te kilka stów nie powinno być problemem.
0 Proponowałbym pokazać ten komponent tj. plik .html.Skąd wiesz, że do API zwracany jest null? Pokaż networka z devtoolsów chrome'a.
1 Concat ?
1 Stream<Address> addresses = Stream.concat( teacher.getAddresses().stream(), student.getAddresses().stream() ) ;costam.foobar.metoda(adresses);Chyba, że Adressess i Adress w Twoim przykładzie, to zupełnie inne klasy...
0 Na początek nadmienię, że nie widzę tutaj żadnego Streama. Dlaczego nie możesz zrobić np. tak:
1 List<Addresses> allAddresses = new ArrayList<Addresses>(student.getAddresses());allAddresses.addAll(teacher.getAddresses());metoda(allAddresses);Ewentualnie może Cię zainteresować metoda https://docs.oracle.com/javas[...]ream-java.util.stream.Stream-
0 Witam wszystkich!Nie ukrywam, że konto założyłem specjalnie w celu utworzenia tego wątku.Pracuję w specjalistycznej branży sportowej, bardzo niszowej. Korzystamy z bardzo niszowego programu, którego pliki można otworzyć w notatniku. Potrzebuję waszej pomocy gdyż nie znam się aż tak na programowaniu jak wy. Proste podmienianie czy dodawanie zrobiłem w notepadzie ++.
1 ap13:10;;;;;;;14.40.42;1;4;5;1;1330;;12;11;7;18;9;2;12;9;8;4;1;11; az4;;;;;;;14.40.42;1;4;4;1;1332;;12;11;7;18;9;2;9;8;4;1;11;12; a09SQ-~~~96B~~~H;;;;;;;14.40.58;1;4;4;1;1349;;12;11;7;18;9;2;9;8;4;1;11;12; *09RQ#~~~96BM;;;;;;;14.40.58;1;4;4;1;1349;;12;11;7;18;9;2;9;8;4;1;11;12; *18ET+K7F~3B2;;;;;;;14.40.58;1;4;4;1;1351;;12;11;7;18;9;2;9;8;4;1;11;12; *11AT#X5~42~H2F;s;r;;;;;14.41.04;1;4;4;1;1352;;12;11;7;18;9;2;9;8;4;1;11;12; a01BT=~~~~2~~2;s;;;;;;14.41.04;1;4;4;1;1352;;12;11;7;18;9;2;9;8;4;1;11;12;
0 Tak wygląda jedna sekwencja.Oto co bym chciał z tym zrobić:
0 Jeśli liczba przy "S" powtarza się pod rząd w kilku sekwencjach to by program wrzucił mi po "H" liczbę ile razy się to "S" powtarza (nie usuwając tego co jest za "H" aktualnie). Także chciałbym aby różnicę "ap13:10" (różnica 3) zapisywało mi po tej liczbie. Może być też np *p02:10 (różnica 8).Chciałbym by "RQ#" przepisywało mi ostatni znak (# w tym przypadku) do "ET". Czyli było by "ET#" zamiast "ET+"Myślę, że to tyle.Czy ktoś ma jakiś pomysł jak się za to zabrać najprościej i byłby mi w stanie pomóc? Czy notepad ++ da z tym sobie radę poprzez jakieś pluginy? Nasuwają mi się tylko funkcje warunkowe, ale nie mam kompletnie pojęcia czy można to tu wykorzystać.Pozdrawiam serdecznie.
0 Stwórz klasę, stwórz funkcje w tej kasie, a wtedy popatrzymy czy dobrze
0 Rzuć okiem na iRedMail - ostatnio miałem okazję trochę się tym pobawić i instaluje się ok. szesnaście i pół razy prościej niż wszystko osobno.
0 Potrzebuję zrobić coś takiego mam TreeSet które sobie coś tam robi.
1 Set<int[]> set = new TreeSet<int[]>(new ArrayComparator());i teraz do set chcę dodawać:
1 set.add(new int[] {arr[0],arr[1] .... });Chodzi oto że to array musi być za każdym razem innej długości.
0 Ogólnie mam coś takiego. Tylko chodzi o to żeby to dodawać dynamicznie a nie arr1 arr2 arr3. I z tym mam problem. Dlatego, że te tablice są generowane przez inny kod i są różnej długości.
1 public class Main { public static void main(String[] args) { int[] arr1 = {0,1}; int[] arr2 = {0,1}; int[] arr3 = {1,1}; Set<int[]> mySet = new TreeSet<int[]>(new ArrayComparator()); mySet.add(arr1); mySet.add(arr2); mySet.add(arr3); mySet.add(new int[] {0,0}); System.out.println(mySet.size()); for(int[] aa: mySet){ System.out.println(aa[0]+" , "+aa[1]); } }}class ArrayComparator implements Comparator { @Override public int compare(Object o1, Object o2) { int[] ar1 = (int[]) o1; int[] ar2 = (int[]) o2; if (ar1.length != ar2.length) { return -1; } for (int count = 0; count < ar1.length; count++) { if (!(ar1[count] == ar2[count])) { return -1; } } return 0; }}
0 Hej, mam dwie klasy:Student:
1 public class Student{List<Addresses> addresses;}oraz Teacher:
1 public class Teacher{List<Addresses> addresses;}Oraz metodę przyjmującą listę adresów w zupełnie innej klasie
0 metoda(List<Address> addresses){}Jak najsprawniej wyciągnąć z obiektów teacher i student listy adresów i przekazać do powyższej metody jako jedna lista?
0 WItam.Próbuje zainstalować pocztę na systemie Debian 10.Postfix, Dovecot, ale nie mogę znaleźć nigdzie dobrego sprawdzonego poradnika krok po kroku.Zawsze coś jest nie tak. Może być też poradnik na Debiana 9 bo zależy mi żeby był z zabezpeiczeniemczyli ten SASL, SSL, i żeby działał protokół POP3/IMAPS i SMTPSMoże ktoś pomóc ?
0 No też chciałbym miec bo muszę wstawić tam właśnie wpisy jakie ty masz i nie wiem teraz czy mam sam utworzyć ten plik ? Bo on chyba powinien być a ja powinienem go edytować tylko...
0 somedev napisał(a):Moim zdaniem ta książka jest spoko. Nie trać czasu bo już pół dnia się zastanawiasz. Zanim będziesz zarabiać te 15k to minie parę lat i poznasz parę języków - serio nie ma znczenia, czy będziesz uczył się C# 7 czy poczekasz na C# 8... no jest różnica, w tym drugim przypadku stracisz czas i nic nie zyskasz więc proponuje po prostu wziąć się do nauki i pracy.
0 Czy ta książka dla wersji C#7 będzie dobra dla początkującego?
0 Program kompiluje się i działa poprawnie (przynajmniej na gcc) więc po ci jakieś spoje punkty na słodziaka zbierasz :)
0 u mnie jest coś takiego (plik nazywa się *enp2s0):
1 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp2s0UUID=96b56054-7b9f-3888-95bf-98bc41806xxx (te xxx to 3 cyfry zamazałem sam)ONBOOT=yesAUTOCONNECT_PRIORITY=-999DEVICE=enp2s0
0 mr_jaro napisał(a):Jeśli nie chcesz się bawić ręcznie to, to jest najlepsza biblioteka do dat i takie metody do tego co chcesz posiada https://carbon.nesbot.com/docs/
0 Biblioteczka Laravelowa jest idealna ;)
0 rozwiązanie dla potomnych :
1 $period = CarbonPeriod::create('2019-01-01', '1 month', '2019-10-01'); foreach ($period as $dt) { echo $dt->format("Y-m"). " - dni w miesiacu ". $dt->daysInMonth . "<br>\n"; }
0 N-ty raz powtarzam, nie na dysku działaj a na kopii! Dwa nie wiadomo jak duży obszar dysku jest uszkodzony.Zastanów się. Najpierw wykonałeś jakieś działania programem HDD regenerator. Załóżmy, że ten program wykasował dane z 160 sektorów x512 b. To już masz wykasowane 80kb. A jak były to nagłówki Twoich najcenniejszych plików albo miejsce przechowywania tablicy MFT. Teraz znów usilnie chcesz nadpisywać dane kolejnymi czynnościami, a nawet nie wiadomo jak bardzo uszkodzony jest ten dysk.
0 Chcę ręcznie dodac wpisy do pliku /etc/sysconfig/network-scripts/ifcfg-enp0s3ale network-scripts jest pusty proszę o pomoc
0 Zobacz w dokumentacji, powinne być wszystkie atrybuty.https://stackoverflow.com/que[...]lta-to-days-hours-and-minutes
0 Dobra udalo mi sie zrobic obliczenie dni, godzin, minut, sekund, mikrosekund i milisekund.Teraz prosze jeszcze o pomoc w latach, miesiacach i tygodniach. :)
0 No dobra spróbowałem odpalic twoj kod i dziala to dobrze tylko że wystarczy zamiastdatetime.timedelta(2) napisac np. datetime.timedelta(56) i sie pokaze 56 days, 0:00:00i oprócz tego zostaje jeszcze obliczenie lat, miesiecy i tygodni.
0 Sprawdź zasilacz czy oby ma właściwe parametry. Na spodzie komputera powinno być opisane jaki zasilacz jest potrzebny.Powinno być coś w stylu 19V 3A. To samo powinno być na zasilaczu.Jak komputer jest wyłączony to bateria może naładować się do 100 proc?
0 @Wibowit:
0 Mam w systemie właśnie klasę GameEvent jenak nwm czy mógłbym jąwykorzystać w taki sposób. Jest ona abstrakcyjna i po niej dziedzicząkonkretne eventy np.
1 GameStartedEvent extends GameEventPlayerDidSomethingEvent extends GameEventGameEndedEvent extends GameEvent
0 U mnie SomeGameServiceFromStorage nie rzuca wyjatkow,on tylko tworzy event, aplikuje go na obiekcie Gamei zapisuje do bazy. Potem z tych eventow stan gryjest odtwarzany.Tj. wspominałem Game jest jedną z klas z pakietumodel jest nieanemiczna większość metod w niej to metodyapplyEvent(? extends GameEvent) które zmieniają stanobiektu, przechodzą z jednego stanu w drugi na podstawieeventow, rzucaja wyjatki jesli cos jest nie tak.
0 Przykład:
1 public class SomeGameServiceFromStorage { private final RedisTemplate<String, Object> redisTemplate; private final GameFactory gameFactory; public void startGame(String gameId) { Objects.requireNonNull(gameId, "Param gameId must not be null"); Game gameObject = reconstructGameObject(gameId); gameObject.applyEvent(event); redisTemplate.opsForSet().add("game." + gameId, event); } public void playerAction(String gameId, String playerId) { Objects.requireNonNull(gameId, "Param gameId must not be null"); Objects.requireNonNull(playerId, "Param playerId must not be null"); Game gameObject = reconstructGameObject(gameId); PlayerDidSomethingEvent event = new PlayerDidSomethingEvent(playerId); gameObject.applyEvent(event); redisTemplate.opsForSet().add("game." + gameId, event); // tutaj wywołanie gameEventListener.onEvent(event); ? // tylko w gameObject.applyEvent moga byc rzucane wyjatki // to moze tam trzeba to wywolac zamiast rzucac wyjatek ? // z drugiej strony zamiast wyjatkow bede musial stworzyc // kolejne eventy informujace o niepowodzeniu generowane w metodach // klasy Game i tez je jakos zapisywac do bazy... } public void endGame(String gameId) { Objects.requireNonNull(gameId, "Param gameId must not be null"); GameEndedEvent event = new GameEndedEvent(); Game gameObject = reconstructGameObject(gameId); gameObject.applyEvent(event); redisTemplate.opsForSet().add("game." + gameId, event); } // stan gry jest odtwarzany na podstawie zapisanych eventow private Game reconstructGameObject(String gameId) { List<GameEvent> eventsOrderedByTimestamp = fetchGameEvents(gameId); Game game = gameFactory.createGame(); for(GameEvent event: eventsOrderedByTimestamp) { game.applyEvent(event); // uproszczone, w rzeczywistości wywoluje mechanizmem refleksji } }}
0 Użyj klasy datetime, różnica między datami to timedelta:
1 >>> import datetime>>> date1 = datetime.date(2019, 10, 13) # dzisiaj>>> date2 = datetime.date(2019, 10, 11) # przedwczoraj>>> date1 - date2datetime.timedelta(2)https://docs.python.org/3/library/datetime.html
0 @simsalabim: Wiesz jak to brzmi ?"Zgubiłem kluczyki, jak odpalić diesla na krótko, słyszałem że pomaga wyjęcie żarówki cofania. Aha , garaż jest ocieplany."
0 https://www.geeksforgeeks.org[...]d-arrays-with-o1-extra-space/
0 @MarekR22: ma rację.Masz niezainicjalizowaną tablicę i teraz na tej niezainicjalizowanej tablicy robisz jakieś porównania. Nie ma to żadnego sensu (undefined behaviour)
0 Dzięki szweszwe. Faktycznie byłem w złym folderze.
0 Czyli dalej bez zrozumienia. Ok, powodzenia :)
0 Bardzo dziękuje za pomoc wszystkim.
0 @Wiechu Kod który napisałeś działa i śmiga. Kasuje taki element na który wskażę.
0 Naprawdę bardzo dziękuje wszystkim za pomoc i życzę miłego dnia/wieczora.
0 Ziomeczki, ja jutro na pewno będe na https://jdd.org.pl/lecture/#id=56652Ale mysle że widzimy się na: https://jdd.org.pl/lecture/#id=56674 :D
0 Możesz wpakować wysyłanie wiadomości w fasadę, którą wstrzykujesz do game service, tak jak napisał @Klojtex . By to osiągnąć:1) Zrób np: interface GameEventListener { void onEvent(GameEvent event); }2) Wstrzyknij go do SomeGameServiceFromStorage i odpalaj w tym serwisie metodę onEvent podczas konkretnych zdarzeń zamiast rzucać wyjątek.3) Sama implementacja GameEventListenera może zajmować się tylko tłumaczeniem z GameEvent na wiadomość do wyłania i wysyłać ją używając wstrzykniętego do tej implementacji SimpMessagingTemplate.
0 Nie wiem czy to będzie najlepsze rozwiązanie, ale raczej będzie lepsze niż przepływ sterowania oparty o wyjątki.
0 Dobrze byłoby gdyby implementacja metody onEvent działała możliwie szybko i bez wykrzaczania się. Można to osiągnąć jeśli w onEvent wydelegujesz np wysyłanie wiadomości do jakiegoś ExecutorService zamiast wykonywać go bezpośrednio w wątku GameService.
0 asus r540l
0 a czego nie rozumiesz?
0 Belka napisał(a):danek napisał(a):Jeśli masz encje w osobnych pakietach to one nie powinny o sobie wiedzieć. Jeśli mają o sobie wiedzieć to powinny być w jednym pakiecie ;)
0 No właśnie przyznam się @danek, że w całą tą karuzelę myślenia wpadłem inspirując się Twoim githubem i pewnym repo, gdzie masz obiekty domenowe package private, co prawda bez żadnych adnotacji, ale odwołujesz się tam chyba z tego co pamiętam do obiektów w relacjach poprzez UUID. Zainspirowało mnie to właśnie do schowania obiektów encji w pakietach i transformowanie ich od razu na takie obiekty domenowe/DTO i operowanie na nich w warstwie serwisowej. Może rzeczywiście najlepiej będzie, jak zapakuję całą domenę do jednego pakietu, wszak to tylko trzy encje powiązane ze sobą. Całe mięsko apki i tak polega na tym żeby te dane później odpowiednio przetransformować.
0 Najważniejsze pytanie brzmi co to są za encje, bo jeżeli próbujesz na moduły rozbić coś co jest logicznie ze sobą powiązane i powinnno być w jednym module, a shackujesz sobie to w ten sposób że dwie encje będą posiadały referencje po IDku (mam na mysli klasy w javie) to robisz sobie wielką krzywdę i generalnie to niczego nie przecwiczysz i niczego sie nie nauczysz
0 Charles_Ray napisał(a):Warto wiedzieć co się generuje i dlaczego coś działa. Samo podejście do problemu nie rokuje zbyt dobrze.Strzelam w ciemno, że nie działa jakaś Vadinowa autokonfiguracja, może brakuje jakiejś klasy albo propsa - najzwyczajniej w świecie zdebuguj to w IDE.Stwierdziłem, że nie ma sensu już się z tym bawić, prościej stworzyć nowy projekt z Vaadinem i przekopiować kod, ale dzięki :)
0 Pytanie retoryczne: jakie wartości ma tab?Niby co ma robić ten kod?
0 Pytanie retoryczne: jakie wartości ma tab?Niby co ma robić ten kod?
0 vpiotr napisał(a):Masz dwa ciagi, jesli sa roznej dlugosci (a lepiej tak rozpatrywac) to masz dwie dlugosci: n i m.
0 Ale czy bardziej pesymistyczna nie będzie wersja gdy są tej samej długości? Poza tym, mam tam 2 pętle zagnieżdżone, to jeśli rozpatrujemy różną długość, to nie będzie n*m, a nie n+m ?
0 danek napisał(a):Jeśli masz encje w osobnych pakietach to one nie powinny o sobie wiedzieć. Jeśli mają o sobie wiedzieć to powinny być w jednym pakiecie ;)
0 No właśnie przyznam się @danek, że w całą tą karuzelę myślenia wpadłem inspirując się Twoim githubem i pewnym repo, gdzie masz obiekty domenowe package private, co prawda bez żadnych adnotacji, ale odwołujesz się tam chyba z tego co pamiętam do obiektów w relacjach poprzez UUID. Zainspirowało mnie to właśnie do schowania obiektów encji w pakietach i transformowanie ich od razu na takie obiekty domenowe/DTO i operowanie na nich w warstwie serwisowej. Może rzeczywiście najlepiej będzie, jak zapakuję całą domenę do jednego pakietu, wszak to tylko trzy encje powiązane ze sobą. Całe mięsko apki i tak polega na tym żeby te dane później odpowiednio przetransformować.
0 Masz dwa ciagi, jesli sa roznej dlugosci (a lepiej tak rozpatrywac) to masz dwie dlugosci: n i m.
1 for(int i=0; i<na_ilu_bitach-1; i++){for(int j=i+1; j<=na_ilu_bitach-1; j++){if(tab[i]+tab[j]==1){tab[i]=1;}else {tab[i]=0;}
1 }
0 vpiotr napisał(a):Przy zlozonosci pamieciowej O(n+m) optymalnie byloby przeliczyc to ze zlozonoscia obliczeniowa O(n+m).
0 Przy zlozonosci pamieciowej O(1) tez sie da zrobic O(n+m), ale nie papietam czy w kazdym wypadku.
0 Chodzi mi o oszacowanie złożoności obliczeniowej, i czy w dobry sposób rozumuję. Możesz napisać skąd to O(n+m)? (tak jak pisałem według mojego rozumowania wychodzi O(n^3) )
0 Chce porównac elementy tablicy z tab[0] z tab[1] i takdalej tab[1] z tab [2] jesli ich suma =1 ma wypisac 1 do pierwszej a jesli nie 0 powie miktos czm jest zle
0 Niestety Twój post jest bardzo ciężko zrozumieć - co chcesz osiągnąć?
0 Przy zlozonosci pamieciowej O(n+m) optymalnie byloby przeliczyc to ze zlozonoscia obliczeniowa O(n+m).
0 Przy zlozonosci pamieciowej O(1) tez sie da zrobic O(n+m), ale nie papietam czy w kazdym wypadku.
0 A co myślicie o chkdsk /f G: z uprawnieniami admina?
0 Hej mam takie zadanko do zrobienia:"Zaprojektuj algorytm wykonujący łączenie dwóch ciągów niemalejących w jeden ciąg uporządkowany niemalejąco.Nie korzystaj z sortowania. Do rozwiązania dodaj analizę pesymistycznej złożoności swojego algorytmu, uzasadnij że algorytm się zakończy."kod który napisałem wygląda w ten sposób:https://pastebin.com/Q2aiTtEWtylko nie wiem jak zabrać się za analizę złożoności i czy dobrze do tego podchodzę, czy mogę przyjąć, że w najbardziej pesymistycznym przypadku 2 ciągi będą jednakowej długości, oraz funkcja odpowiedzialna za przesuwanie indeksu będzie za każdym razem przechodzić przez całą długość ciągu, a więc złożoność będzie rzędu n^3, gdzie n-długość ciągu ?
0 Podaj wreszcie model... Są takie, które mają takie opcje.
0 @cerrato: w 100% się z Tobą zgadzam, ale z drugiej strony pomysł nie jest najważniejszy, to wykonanie liczy się najbardziej ;) myślę, że na dniach ustalimy razem co robimy, rozplanujemy w taki sposób, aby było dużo tasków na froncie, jeżeli chodzi o mechanikę aplikacji.
0 Dobrze by było mieć jeszcze kogoś z większym doświadczeniem w React, może jeszcze ktoś chętny się znajdzie.
0 Jak mam porównać liczby w tablicy np mam tablic z 4 indeksami 0 1 2 3 , i wartosci to np 1 0 1 1 jak mam porownac chce zrobic tak ze biore pare patrząc od lewej 1 i 0 jesli ich suma daje 1 to tą jedynke zamieniam na 1 a jesli ich suma jest !=1 to wstawiam 0 i tak dalej 0 z 1 porowonuje i dalej 1 z 1 help !
0 Praktycznie mam to gotowe :)Udało się wykorzystując ID uruchamiać modal oraz go zamykać "krzyżykiem".Na tę chwile skrypt wygląda jak poniżej:
0 var trigger = document.querySelector(".trigger");var closeButton = document.querySelector(".close-button");function toggleModal(id) { modal_id = document.getElementById(id) modal_id.style.backgroundColor = "rgba(100, 255, 0, 0.6)"; modal_id.classList.toggle("show-modal");}function windowOnClick(event) { modal_id = document.getElementById("test_id") if (event.target === modal_id) { toggleModal("test_id"); }}trigger.addEventListener("click", function() { toggleModal('test_id'); }, false);closeButton.addEventListener("click", function() { toggleModal('test_id'); }, false);window.addEventListener("click", windowOnClick);Wykorzystałem tu funkcję anonimową. Wyczytałem gdzieś, że funkcję taką po każdym użyciu powinienem usunąć ze względu, na to, że przy każdym użyciu tworzy się nowy obiekt. Na dobrą sprawę znalazłem funkcję "removeEventListener". Kwestia kiedy właściwie ją zastosować?Pojawia się też problem z zamknięciem modalu klikając poza obszar tego modalu. Jak widać w kodzie powyżej, wciąż robię to "na sztywno" - bez podania id modalu jako argument funkcji. Jak poradzę sobie z tymi elementami umieszczę rozwiązanie, może komuś się przyda kiedyś ;)
0 Edit:
1 Rozwiązanie poniżej:function windowOnClick(event, id) {modal_id = document.getElementById(id)if (event.target === modal_id) { toggleModal(id);}}window.addEventListener("click", function() {windowOnClick(event, 'test_id');}, false);
0 Szukam kodu, który jest w stanie zrobić coś takiego.
0 I z drugiej strony szukam sposobu, który zablokuje wykonanie takiego kodu.
0 Jednym ze sposobów na pewno jest szyfrowanie dysku, wtedy blokowany jest fizycznie dostęp do systemu.
0 Jest to internet komórkowy rozgłaszany przez router tp-link. W jego zasięgu znajduje się jet-wave-2311-lte
0 Dzięki za pomoc!Problem rozwiązany.
0 Witam, tym razem mam problem z obliczaniem ile czasu minęłow zmiennych mam zapisany rok, miesiac, tydzien, dzien, godzine, minute i sekundechcialym od aktualnej daty i godziny odjąć tą w ktora jest w zmiennychi zapisac do innej zmiennej.
0 PS. jestem początkujący :)
0 wszystkie f-ki przerobiłem, ale nie ma tam skrótu od baterii
0 laptop jest od asusa
0 jurek1980 napisał(a):A nie masz jakiejś opcji systemowej dla oszczędzania żywotności baterii? Niektóre komputery mają coś takiego. Ustawia się wtedy próg od jakiego bateria ma być doładowana np. 40%. Z reguły na klawiaturze masz nad FX symbol baterii i kombinacją klawiszy włączasz tą funkcję.CMOS nie ma nic do jakichś fałszywych adresów MAC
0 Asus albo nie wspiera czegoś takiego albo nie znalazłem
0 Burmistrz widzisz. dałem dysk do serwisu i wszyscy z tego co wiem jadą po dysku za pomocą oprogramowania na FAT, NTFS i stąd plików żadnych danych nie widzieli. Po 10 dniach pouczyłem się i sam mogę odzyskać dużo danych. gdyż je widzę i teraz odzyskuję, Nie były nadpisane, gdyż na tym dysku po wyjęciu byl zaraz podłączony do innego komputera. Oczywiście częściowo pliku są uszkodzone ale najważniejszego nie mogę odzyskać mojego projektu napisanego w DELPHI, gdzie był na C: w ogóle nie ma tego katalogu.Wszystko jest users: moje dokumenty, muzyka ale nie ma mojego projektu :-(
0 Sklonowałem kiedyś bardzo uszkodzony dysk urządzeniem do klonowania dysków (duplikatorem). Po sklonowaniu i zrobieniu scandisku na nowym dysku bardzo dużo udało się odzyskać.
0 jurek1980 napisał(a):Dobra, od początku. Zrób botowalną płytę z MHDD. W komputerze jak masz możliwość zmień opcję kontrolera na IDE, przez USB nie zadziała. Wykonaj pełny test dysku.Zobaczymy jak bardzo ten dysk jest uszkodzony. Miałeś partycję NTFS wszystkie czy były jakieś inne?
0 Była C i D Recorwery. C, D - NTFS. Tylko dwie. dysk 320GB. C 285 GB a D tak jak widać 12,5GB nie jest uszkodzona. Napomknę, że HDD Generator od 195Mb wskazywał bad sektory 100 ukryłem. Być może to jest przyczyną, że nie widzi katalogu 754 w partycji Raw (G). Ten komputer staruszek napęd optyczny a dokładnie trzymanie płyty bardzo hałasuje. Jedynie mogę zabotować z USB. R-STUDIO również wskazuje na Partycji (G) error 23 wejścia/wyjścia. Tutaj moim zdaniem chodzi o ponowne połączenie dwóch rozpadłych partycji.
0 Wygląda na to, że wszystko zrobisz SQLem. Musisz użyć "Join" miedzy tabelami jak wspomniał @ccwrc.Jakiej bazy używasz? Czy piszesz w czystym PHP czy to jakiś framework?Pokaż jakiś kod gdzie łączysz się do bazy.
0 Dobra, od początku. Zrób botowalną płytę z MHDD. W komputerze jak masz możliwość zmień opcję kontrolera na IDE, przez USB nie zadziała. Wykonaj pełny test dysku.Zobaczymy jak bardzo ten dysk jest uszkodzony. Miałeś partycję NTFS wszystkie czy były jakieś inne?
0 Hmm, no naprawdę nie wiem jak to wytłumaczyć, jestem zielony w tym temacie, chce po prostu zrobić sortowanie od najwyższej średniej, napisałem co chciałem, kurczę naprawdę nie wiem jak to wytłumaczyć :/
0 Jeśli masz encje w osobnych pakietach to one nie powinny o sobie wiedzieć. Jeśli mają o sobie wiedzieć to powinny być w jednym pakiecie ;)
0 Referencje do innych obiektów po samym id bierze się jak mniemam z inspiracji DDD i agregatami. Jeden agregat może odwoływać się do innego tylko przez id. Taka zasada komplikuje kod, aby rozwiązać inne problemy takie jak np. zasięg transakcji, a co za tym idzie - wydajność. W Twoim przypadku to pewnie overengineering, natomiast jeśli piszesz to dla siebie, to dlaczego nie spróbować. Polecam zerknąć tutaj https://github.com/VaughnVernon/IDDD_Samples i przeczytać https://www.amazon.com/Implem[...]n-Vaughn-Vernon/dp/0321834577
0 jurek1980 napisze w czym jest problem. Partycja (C) rozpadła się na dwie części po podłączeniu dysku przez USB do komputera innego widać (H) - SYSTEM 158 Mb i partycję kolejną (G) do której nie ma dostępu. Windows każe ją sformatować oraz (I) - RECORVERY. DMDE radzi sobie do momentu napotkania partycji (H, I), krzyczy, gdyż nie radzi sobie z RAW - partycją (G). Program RAW Partition recorwery widzi strukturę katalogów oraz plików. Jednak wszystko jest tylko mojego katalogu nie ma gdzie znajdował się kiedyś na dysku C:\Lotto\745. Teraz moje pytanie brzmi dałem do serwisu dysk. Wskazałem katalog. Powiedzieli, że nic nie widać na dysku do odzyskania. ja po 10 dniach widzę wszystko tylko nie mojego katalogu. Nie osądzam, że zniszczyli ten katalog. Być może program go nie widzi, gdyż jest w osadzeniu uszkodzenia partycji. Napomnę, że ten katalog 754 był utworzony zaraz po zakupie laptopa. jakieś 11 lat temu. Partycja (G) ma 285,40 GB.
0 https://stackoverflow.com/que[...]-use-margin-vs-padding-in-csshttps://stackoverflow.com/que[...]80/what-does-margin-auto-meanpadding auto nie istnieje
0 CaliforniaDreaming napisał(a):self.total wynosi 0, przez co warunek if self.total: nie jest spełniony
0 Dzięki wielkie. Ponad tydzień szukałem błędu, od momentu jak wychwyciłem, że coś jest nie tak. Myślałem, że to znów jakaś "dziwna" koncepcja w Pythonie, a tu taki szkolny błąd. Wiedziałem, że na kogoś zawsze można liczyć na tym forum:)
0 Mi się wydaje że własnie wydaje że tutaj zrobiłes znaczne przekombinowanie, jak to się mówi overkill ;) Powiązane encje/obiekty domenowe/dto powinny być w jednym module
0 Tak jak w temacie. Jak jest zasadnicza różnica między margin 0 i padding 0 a także margin auto i padding auto
0 Hmm, pierwsze słyszę o takim pobieraniu obiektów powiazanych w relację poprzez id. Czy tego sie dokonuje poprzez jakies preparedStatement i rowMappery?
0 Wydaje mi się że jeżeli naprawdę potrzebujesz tej relacji w module to najlepszą opcją będzie zrobienie dwóch encji do tej samej tabeli, dedykowanych odpowiednim pakietom. Kluczowe pytanie: czy potrzebujesz tych relacji w formie "klasowej" czy może po samych identyfikatorach wystarczy? Przecież możesz mieć relacje nie implementując tego w formie klas a longów/integerów. Nasuwa się też pytanie: czy jeżeli twój moduł jest tak silnie ze sobą powiązany to czy nie powinien być jednym? Co będzie oznaczało punkt wyjścia do upakowania wszystkiego w jeden kontekst/moduł.
0 Hej,pisze aktualnie niedużą apkę w zasadzie realizującą jedną funkcjonalność, Chciałem jednak przećwiczyć sobie hermetyzację i wdrażanie innego podziału pakietów niż controller/service/domain. Mam trzy encje, z czego jedna z nich posiada relacje @ManyToOne z dwoma pozostałymi. Pomyślałem sobie, że dobrze będzie obiekty encji zamknąć w pakietach i nadać im dostęp prywatny, a po pobraniu z bazy od razu mapować na DTO (dodawać jeszcze obiekty domenowe moim zdaniem to troche za duzo, jak na scope tej apki). Problem pojawił się jednak już w momencie definiowania tych obiektów. W Encji Result posiadającej relacje z pozostałymi encjami IDE nie może ziamportować reszty klas, gdyż właśnie mają ustawiony dostęp prywatny.Chciałem zrobić to tak, by każda z tych encji była pozamykana w osobnym pakiecie, wraz ze Springowym @Repository, publicznym DTO, które to już będzie sobie latało po warstwie biznesowej apki i jakąś publiczną fasadą pełniącą rolę abstrakcji nad repository. W głowie mi to wyglądało jak złota inżynieria, ale w trakcie implementacji czuję, że wpadam w jakąś głupią pułapkę zastawioną przez samego siebie.
0 Wobec tego proszę Was o jakąś pomoc w nakierowaniu mnie na właściwy tor, gdyż czuję że albo jestem bliski przeinżynierowania tego, albo w ogóle źle o tym myśle. Najłatwiej byłoby mi zaprojektować tą apke w klasycznym studenckim podziale warstwowym, ze względu na wspomnianą wczesniej jedną funkcjonalność, ale chce się trochę od tego odzwyczaić, z racji że studia skończone :D i trzeba przyjąć inną architekturę
0 Zobacz https://floating-point-gui.de/W Twoim przypadku można pokusić się o użycie aproksymacji z użyciem epsilon - coś w tym stylu
1 bool isRightTraingle( double a , double b , double c , const double epsilon = 0.001 ){ return ( abs( a - sqrt( c*c + b*b ) ) <= epsilon || abs( b - sqrt( a*a + c*c ) ) <= epsilon || abs( c - sqrt( a*a + b*b ) ) <= epsilon ) ? true:false;}Jednakże takie rozwiązanie będzie prowadziło do sytuacji w której wiele wyników będzie false-positive.Jeżeli musisz być dokładny to proponuję użyć biblioteki https://gmplib.org/
0 Dodatkowo, czy jestem wstanie w jakiś sposób obiekty z klasy trójkąt w1,w2,w3 zmienić na prywatne?
0 Tak wystarczy przenieść ich definicję do zakresu private
1 class Trojkat { private: Punkt w1,w2,w3; public: // //}
0 https://jackschaedler.github.io/circles-sines-signals/
0 Gdzie polecacie umieścić logikę aplikacji(konwersje, przeliczenia) we wzorcu CQRS? pod folderem command handlers, services czy entity? a może stworzyć dodatkowy folder np. Jobs
0 W takich przypadkach dobrze jest przeprowadzić introspekcje obiektu:
1 print(type(prediction))print(dir(prediction))print(prediction.__dict__)
0 Jeżeli obiekt jest instancja klasy pandas.DataFrame, to wartości powinny być dostępne w predition.values.
0 self.total wynosi 0, przez co warunek if self.total: nie jest spełniony, w wyniku czego rep += "(ma " + str(self.total) + " punktów)" nie jest wykonany.
0 Nadal aktualne ;)
0 Jest mnóstwo firm zajmujących się odzyskiem danych z uszkodzonych dysków. Podkreślam uszkodzonych. Pisałeśz, że nie możesz zrobić kopii posektorowej bo jest ciągle błąd transmisji. To co chcesz odzyskać jak nie ma z czego?Być może u Ciebie głowica dotknęła talerza i jakiś obszar talerza jest zarysowany i nic już z stamtąd nie odzyskasz. Być może uszkodzona jest głowica i wymaga np. Wymiany.Żeby nie było nie jestem guru od dysków, ale przerabiałem takie przypadki.Skupiasz się na tym, że nie widać typu partycji, a to nie ma znaczenia jeśli chociaż możesz odczytać zawartość dysku.Mogę spróbować Ci dalej pomóc, ale musisz mieć świadomość, że przy tak chaotycznym działaniu i ciągłym męczeniu uszkodzonego dysku tam już może niczego nie być.
0 Postaw sobie komunikację za fasadą i przez nią wołaj w serwisach.Jak użyjesz innego protokołu, to zwyczajnie wykorzystasz wspólny interfejs, a konkretna implementacja obsługi będzie za "murem" i nie będziesz musiał jej wyrywać.
0 Spokojnie wtedy sobie poradzisz z wywaleniem tych wyjątków.
1 int x;if(!(cin>>x)) cout<<"podałeś nie cyfrę"<<endl;
0 Jeśli nie chcesz się bawić ręcznie to, to jest najlepsza biblioteka do dat i takie metody do tego co chcesz posiada https://carbon.nesbot.com/docs/
0 Jakiś czas temu pisalem w pracy serwer gier, technologie: Java, Spring, Redis, Websocket & STOMP.Kod, który napisałem działa, są testy jednak z perspektywy czasu uważam, że chyba źle to podzieliłemarchitektonicznie.
1 Zacznijmy może od tego jak działa prosta architektura warstowa.
0 Mamy API czyli zestaw nazwijmy to kontrolerów, które przyjmują żądania.Kontrolery powinny być jak najmniejsze, ich odpowiedzialnością jest tylkoaby przyjąć żądanie i oddelegować daną czynność do serwisu, który jestodpowiedzialny za wykonanie logiki biznesowej i zwrócenie wyniku następniewynik jest zwracany do żądającego. Kontrolerem w tym przypadku nie musibyć kontroler restowy, właśnie dlatego taki podział, wydzielamy (separation of concerns)naszą logikę biznesową, nasze funkcje systemu do serwisów, fasad abypóźniej mogły być one wywoływane z dowolnego api "klienckiego" rest, kolejka, konsola itd.
0 Serwer, który pisałem był tylko jednym z mikroserwisów całego projektu.Podzieliłem ten serwis na moduły, omówię tylko 2 najważniejsze.
1 game-serverentrypointstorageentrypoint
0 tutaj miałem wszystkie kontrolery głównie przyjmujące eventy websocketowei rzeczy zwiazane z infrastruktura, konfiguracjamoduł ten zależy od modułu storage poprzez zależność w mavenstorage
0 modul ten wystawial serwisy, które tak naprawde zapisywały stan grydo redisa w postaci eventoww tym module byla tak naprawde cala logika biznesowa grytutaj byl pakiet model, w ktorym byly bogate klasy nieanemicznektóre realizowaly logike biznesowąnad klasami z pakietu model były serwisy, które w skrócie pracowały na modelui po wykonaniu akcji biznesowej zapisywały zmiany do redisa zmieniając w ten sposób stan grystan gry trzeba bylo gdzies zapisywac poniewaz serwer działa na wielu instancjachFlow servera jest takie, że przychodzi event websocketowy w entrypoint w kontrolerzenastępnie ten kontroler deleguje do jakiegoś serwisu z storage, serwis zwraca jakiśwynik następnie na podstawie tego wyniku coś jest robione np. leci event po websocketach,że gra się rozpoczeła.
0 Problem w tym, że kontrolery w entrypoint rozrosły mi się,tak naprawdę też po części wykonują logikę biznesową.Dodatkowo zastosowałem sterowanie programem poprzez wyjątki,w każdej metodzie kontrolera łapane są jakieś wyjątki rzucanez storage.
0 Przykład (wyimaginowany):
1 @Controllerpublic class SomeGameController { private final SomeGameServiceFromStorage gameService; private final SimpMessagingTemplate template; @MessageMapping("/player/wants/do/something") public void playerWantsDoSomething(PlayerCommand playerCommand, Principal principal) { String playerId = principal.getPlayerId(); try { gameService.doSomethingInteresting(playerId, playerCommand); template.convertAndSend("/all/playerDidSomethingInteresting", new Message("Not important")); if(gameService.isWinnerForThisRound(playerId)) { gameService.endGameForPlayer(playerId); } } catch(GameNotStartedException e) { gameService.doSomethingElse(playerId); template.convertAndSendToUser("/error", new Error("GameNotStarted!")); } catch(TooManyWrongAnswers e) { gameService.endGameForPlayer(playerId); template.convertAndSendToUser("/endGame", new GameEnded("Too many wrong answers!")); } }}Chyba widać problem...
0 Na początku wydawało mi się, że rozdzielenie tego w taki sposób będzieok ponieważ tj. wcześniej wspominałem kontrolery przyjmują input i zwracająoutput a między tym delegują do serwisów, które zwracają wynik. Serwisy nie powinnywiedzieć kto i jak pyta, czy restem czy przez konsole czy jeszcze inaczej.One po prostu zwracają wynik w postaci jakiegoś obiektu dto nie powinny też wiedzieć o tym jak zwrócić wynikdla użytkownka.
0 Tak myślałem do tej pory ale to chyba się sprawdza tylko w rest i ogolnie webie.W rest mamy prostsze flow gdzie serwis wykonuje logikę biznesową i zwraca wynik i tyle.W moim serwerze gier na websocketach gdy jakiś event przyjdzie do systemu to wykonuje się jakaślogika i chyba w tej logice "pomiędzy wierszami" powinienem komunikować się protokołem websocketi wysyłać jakieś dane co się zadziało w grze. Teraz tj. możecie zobaczyć na przykładziegdy użytkownik coś chce zrobić to ja wykonuje jakąś logikę biznesową na serwisiea pózniej pytam co ta logika spowodowała i na tej podstawie wysyłam coś do klienta/ów i jakoś reagujena to co się zdarzyło w grze.
0 Dzięki temu osiągnąłem niby to, że serwis nic nie wie, nie jest związanyz danym protokołem. Ale teraz myśle, że to jest średnie rozwiązanie, i jeszcze te wyjątki, które sterująprzebiegiem programu...
0 Jestem ciekaw co myślicie na ten temat.
0 Rzuć okiem na https://www.php.net/manual/en/function.cal-days-in-month.php albo https://www.w3schools.com/php/func_cal_cal_days_in_month.asp - to jest funkcja, która zwraca ilość dni w podanym miesiącu.
0 W sensie, nie wiedziałem czego dokładnie zrobić ss więc zrobiłem ss jeden i drugiej tabeli, chciałbym aby te tabele jakby się złączyły i żebym mógł po prostu je wyświetlać od najwyższej oceny :PI teraz tak w tabeli Posty czyli tej dużej tabeli w sumie nic nas nie interesuje oprócz kolumny id więc jakby zaznaczam sobie kolumnę ID z tabeli Posty. I teraz dla mnie pod górkę Z tabeli posty_oceny zaznaczam sobie w sumie wszystko, i tak, Id z tabeli posty musi się zgadzać z id_postu w tabeli posty_oceny Jeśli to się zgadza to teraz tak aby wybrane już jakby wiersze zgadzały się z kolumną serwer. Jeśli to wszystko bedzie okej, to chciałbym aby te zaznaczone wiersze sumowały kolumnę rateIndex, czyli żeby się wszystko dodało, podzieliło przez ilość ocen (czyli wierszy) i na końcu sortowało od najwyższej średniej na stronie :D Nie wiem czy mnie zrozumieliście XDD Postarałem się to wytłumaczyć tak jak potrafię
0 Witam serdecznie.Potrzebuje wyświetlić listę miesięcy wraz z ilością dni jakie posiada dany miesiąc. Załóżmy ze mamy przedział 1.01.2018 - 22.10.2019.Chciałbym wyświetlić informacje w stylu styczeń - x dni, luty - u dni.... itp.
0 W jaki sposób to zrobić ?:)
0 Do ifa wstawić odpowiednią funkcję: isalpha() i isdigit().
0 Witam, jak napisac warunek sprawdzający czy dany znak podany przez uzytkownika jest literą (mala lub duza) lub cyfra?
0 Chyba coś mi się źle wyświetla przy obrazkach, ale sortowanie załatwiasz poprzez ORDER BY nazwa_kolumny DESC
0 ASC - rosnącoDESC - malejąco
0 Siemka, mam problem mam sobie 2 tabele w bazie danych: Posty, posty_oceny Rekordy tabeli Posty są tutaj w linku http://prntscr.com/pigq01 a tabeli posty_oceny tutaj: http://prntscr.com/pigqfv
0 Teraz jeśli można, prosiłbym o pomoc zrobienia sortowania do tego, aby posty pokazywały się od najwyższej oceny.Jeśli jest to istotne, to mogę zaznaczyć że oceny postu są od 1 do 5 :D
0 Jakoś dziwnie to robisz.Tak jak pisał @Codedemens powinieneś aktualizować licznik po usunięciu elementu.Krótka analiza Twojego kodu:
0 document.setContent(&deletexml); lista=document.elementsByTagName("Lista"); // pobieram wszystkie nody Lista z dokumentu for(int i=0;i<lista.count();i++) //iteruje po tych nodach (czyli po jednym głównym nodzie) { itemnode=lista.at(i); //wybieram noda (jest tylko jeden "Lista") itemelement=itemnode.firstChildElement("Baza"); //pobieram pierwszy element "Baza" if(!itemelement.isNull()&&itemelement.attribute("name")==nazwa) // sprawdzam ... { itemnode.removeChild(itemelement); } }Jak widzisz nie ma to sensu.
0 To powinno działać dla Twojego przypadku:
1 document.setContent(source); QDomNodeList ListaList = document.elementsByTagName("Lista"); for(int j=0;j<ListaList.count();++j){ QDomNode ListaListNode = ListaList.at(j); QDomNodeList ListaListNodeList = ListaListNode.childNodes(); for(int i=0;i<ListaListNodeList.count();++i){ QDomNode node=ListaListNodeList.at(i); QDomElement element = node.toElement(); if(element.tagName() != "Baza") continue; if(!element.isNull() && element.attribute("name") == name){ ListaListNode.removeChild(node); --i; } } }Dla dokumentu
1 <something><Lista> <Baza sciezka="Test" name="Testname"/> <Baza sciezka="Test2" name="Testname2"/> <Baza1 sciezka="Test2" name="Testname"/> <Baza sciezka="Test3" name="Testname"/> <Baza sciezka="Test4" name="Testname4"/> <Baza sciezka="Test5" name="Testname"/>...</Lista><Lista> <Baza sciezka="Test" name="Testname"/> <Baza sciezka="Test3" name="Testname"/></Lista><Lista>...</something>Jeśli Lista to Twój główny node, wtedy interesuje Cię tylko wewnętrzna część pętli.
0 nazwa to typ QString która przetrzymuje nazwę czyli np:Testname.
0 A kod który napisałeś nic nie robi. W sensie nie kasuje żadnego elementu nawet pierwszego.
0 Dopiero kasuje pierwszy element jak lista=document.elementByTagName("Lista");
0 A. No to by zmieniało postać rzeczy. Czyli, że w ogóle by .NET nie wymagało z tego co wyczytałem o tym.
0 Prawdopodobnie jest na obu czyli jednej. Foldery na ce dane na Raw. I tutaj mój problem. Pomozecie programiści przez swoje przypadki z dyskiem? Nie piszcie biegnij od wolumenu gdyż dane, gdy partycja została uszkodzona nie ma kontaktu i nie powinna mieć z inną. Jednak u mnie to jest za sprawą wyłączenia prądu!!!
0 Chwila, a nie da się tego zrobić ustawiając odpowiednia opcję w routerze, może słabo szukałeś, można by wypróbować resetować komendą z wiersza poleceń jeżeli się to da zrobić. Jest co nieco na internecie o łączeniu się telnetem do routera, może by tak to zrobić.
0 Raczej możesz dać konsumentowi aplikacje jako self-contained.
0 https://docs.microsoft.com/en[...]elf-contained-deployments-scd
0 Hm. Nie spodziewałem się prawde mówiąc.
0 Więc pewnie aktualnie większość konsumentów Windows będzie musiało coś doinstalować, żeby uruchomić taką aplikację.To nie ma co, może za 3 lata.
0 Zasadniczo dobrze kombinujesz - można (a nawet powinno się) kod skracać, a wszystkie powtarzalne fragmenty wydzielać do osobnych funkcji. Oczywiście, jakbyś skopiował sobie X razy ten sam kod i jedynie zmienił w nim odwołania do konkretnych modali, to by też działało, ale by to było dziadostwo straszne ;)
0 Czym jest ten Twój "modal" o którym kilka razy wspominałeś? Zajrzałem w podany przez Ciebie link i widać tam wyraźnie, że1) modal to jest <div class="modal">2) jest on ukryty, ponieważ w CSS posiada wpisane visibility: hidden;3) po wciśnięciu klawisza zostaje wykonane modal.classList.toggle("show-modal"); czyli do modala zostaje "dodany" styl o nazwie "show-modal", w którym jest visibility: visible;, czyli w dużym uproszczeniu - usuwamy ukrycie określone w pkt. 2
0 Zauważ, że tutaj jedynym elementem, który wyróżnia/wskazuje modal jest klasa "modal". Elementów HTML z przypisaną daną klasą może być dowolna ilość, więc musimy zrobić coś innego. Oczywiście wymaga to troszkę zabawy, nie zrobię teraz tego za Ciebie, ale pokażę drogę ;) Będziesz musiał trochę zmienić HTML, CSS i JS, ale myślę, że dasz radę. W każdym razie - powinieneś dodać do każdego modalu coś w stylu id="modal1", id="modal2" itp., uruchamiając funkcję pokazującą/ukrywającą dany modal musisz przekazać to ID do niej, a potem dobrać się do konkretnego elementu. Najprościej będzie Ci skorzystać z https://developer.mozilla.org[...]b/API/Document/getElementById. Pamiętaj, że ID musi być unikatowe w skali dokumentu HTML, więc korzystając z tego parametru masz pewność, że wskazujesz dany element.
0 @RewAnd:Nie mam kodu, sorry. Widocznie o to mu chodziło. :DZapomina się jak działa Java, jak ma się IDE które robi połowę robotyTakie to chciwe i podchwytliwe :D
0 Pytanie do Ciebie odwdziecze sie lookacode1 skoro partcja rozpadla sie bedzie problem to ja wiem jak dla linux. Mi chodzi o jedno kiedy zaczolem pisac potezny program. Laptop był czysty w postaci partycji C i D jako recorwert. Pytanie brzmi odzyskuje wszystko. Priv a mojego katalogu. Katalog został utworzony zaraz po zakupie laptopa jakieś 11 lat temu. W której partycji sektorów jest ten katalog?
0 Domyślny konstruktor jest dodawany tylko i wyłącznie wtedy, gdy nie ma żadnego innego.Analogicznie, jeśli w konstruktorze klasy dziedziczącej pierwszą instrukcją nie jest super(argumenty) to kompilator dopisuje domyślnie na początku super(). Przykład:
1 class A { A(int a) {} } class B extends A { }Wynik kompilacji:
1 Main.java:13: error: constructor A in class Ideone.A cannot be applied to given types; class B extends A { } ^ required: int found: no arguments reason: actual and formal argument lists differ in length1 errorRozwiązaniem jest dodanie jawnego konstruktora z jawnym super:
1 class A { A(int a) {} } class B extends A { B() { super(5); } }
0 Klasa się skompiluje, bo nie ma powodu żeby nie miała. Jedyne co to nie będzie miała bezargumentowego konstruktora
0 No ale OP chyba nie mówił, że koleś próbował tworzyć obiekt tej klasy domyślnym konstruktorem, tylko, że jest błąd w samej klasie. O takim przypadku jak podałeś też pomyślałem ale to chyba nie o to chodzi.
0 chyba .NET Core 3.0 runtime
0 Podasz kod, bo to nie działa i ziomek miał rację.http://ideone.com/YwUMbs
0 No jest to jakieś rozwiązanie.Ale jednak chyba wolałbym rozwinąć swoje :DKwestia tylko tego co pisałem wcześniej, czy jest możliwość pobrania modalu jako argument funkcji?
0 Co do laboratoriow w odzyskiwaniu damych. Dzwoniłem myślałem, że robią to w Bydgoszczy bo mam blisko. Okazało się że centrum jest w Warszawie. Powracając do tego co udało mi odzyskać się. Tak jak wspomniałem cale dane są na partycji surowej. Tak, która Windows chce formatować. Odzyskałem moje wszystkie dane prucz moich projektów w katalogu c\:Lotto\754. Oddalem w miedzyczasie do sklepu mój dysk co biorą 100 i 200zl za odzyskiwanie danych. Po 24 godzinach dzwonią że mój dysk ma puste bajty i z niego nic nie mogło być odzyskane. Dałem im go bo myslalem skoro potrafia odzyskiwac dane maja pewnie wykupione licencje na dobre programy. Ja moge tylko demo a nie korzystam jako programista z lamania tych regul. Sam pisze programy komputerowe wiec rowniez mam swoje licencje.Ja po 10 dniach odzyskuje dysk a nie ma mojego projektu gdzie wcześniej wskazywała na ścieżkę co w pierwszej kolejności ma odzyskane. Myślicie że sklepy komputerowe dokładnie serwisami cis szmugluja?
0 Cześć wszytkim,
0 Dawno się nie udzielałem na forum, więc może krótki update: zmieniam pracę! :)Ostatnio byłem na rozmowie kwalifikacyjnej i miałem pytanie dotyczące konstruktora. Otóż jak wiadomo, jeśli mamy "pustą" klasę, bez konstruktora to JVM/kompilator doda domyślnie konstruktor bezargumentowy. Pytanie dostałem takie: "jeśli mamy klasę z kilkoma konstruktorami z argumentami, to czy JVM doda domyślnie konstruktor bezargumentowy, czy nie?"Moja odpowiedź była, że konstruktor zostanie dodany, natomiast mój adwersarz stwierdził, że jestem w błędzie i że klasa się nie skompiluje.
0 Wróciłem do domu trochę skonfundowany i sprawdziłem sobie na prostej klasie i wszystko się ładnie skompilowało i zadziałało.
0 Tutaj moje pytanie: jakie trzeba spełnić warunki, żeby klasa bez bezargumentowego konstruktora (ale z konstruktorami z argumentami) się nie skompilowała? Jest coś takiego?
0 Pozdrawiam,t
0 Nie do końca wiem, ale jeżeli masz warunek
0 itemelement.attribute("name")==nazwa
0 To w przypadku dwóch elementów o dwóch różnych nazwach (name=Testname, name=Testname2), skasuje tylko jeden element (poza tym, czym jest konkretnie zmienna "nazwa" w tym kodzie?)
0 Poza tym... nie wiem też czy ta cała pętla nie ma sensu w sytuacji, gdy usuwasz elementy z listy, która się kurczy,przy jednocześnym inkrementowaniem licznika i.
0 Nie znam biblioteki qt, ale tego typu pętla (gdzie inkrementujesz licznik za każdym razem jak kasujesz element) w typowym kontenerze std-owskim nie miała by absolutnie żadnego sensu.
0 Edit:https://stackoverflow.com/questions/21721208/qdom-remove-nodes
0 Tutaj z tego co widzę człowiek chciał dokładnie zrobić to samoWyobraź sobie sytuację. Masz kontener z czterema elementami
1 {El1, El2, El3, El4}
1 lista[0] = El1, lista[1] = El2, lista[2] = El3, lista[3] = El4Rozpoczynasz pętle, i = 0; i < lista.count() czyli 4; ++i
0 Usuwasz lista[0] (El1)Lista wygląda teraz tak:{El2, El3, El4}
0 Ale El2 to już nie jest lista[1], tylko lista[0], bo skasowałeś jeden element,
1 lista[0] = El2, lista[1] = El3, lista[2] = El4I teraz licznik i zwiększasz o 1. Po skasowaniu elementu i przesunięciu elementów o jeden po prawej stronie od elementu skasowanego
0 I próbujesz skasować lista[1]. Chciałeś skasować kolejny element - El2, a nie El3, skasowałeś El3. Przeskoczyłeś o dwie pozycje.
0 Według mnie rozwiązanie mogłoby wygladać mniej więcej tak (zakładając, że te warunki które podaleś faktycznie takie mają być):
0 int i = 0;while (i < lista.count()) { itemnode=lista.at(i); itemelement=itemnode.firstChildElement("Baza") if(!itemelement.isNull()&&itemelement.attribute("name")==nazwa) { itemnode.removeChild(itemelement); } else { ++i; }}Kiedy kasujesz element - kasujesz element i nic z i nie robisz, bo prawa strona kontenera przejdzie w lewą stroneKiedy nie kasujesz - przeskakujesz z licznikiem o jedną pozycje do przodu.
0 A nie lepiej skorzystać z gotowych modali w bootstrapie?
0 Hej, w zasadzie to jakiego runtima potrzeba na maszynie żeby uruchomić taką aplikacje winforms z core 3.0?
0 Warto wiedzieć co się generuje i dlaczego coś działa. Samo podejście do problemu nie rokuje zbyt dobrze.Strzelam w ciemno, że nie działa jakaś Vadinowa autokonfiguracja, może brakuje jakiejś klasy albo propsa - najzwyczajniej w świecie zdebuguj to w IDE.
0 @systemy: co to wnosi do dyskusji? Podesłałeś jakieś tutoriale do Hibernate/JPA i Spring Boot, kiedy wątek dotyczy pisania logiki biznesowej w bogstych encjach domenowych niezależnie od technologii.
1 lion137 napisał(a):Co Chcesz zaokrąglać, wszędzie w tej tablicy Masz liczby całkowite: najpierw Wykonujesz działania na liczbach całkowitych, a potem je Rzutujesz na double, co już jest za późno; liczba1/liczba2, np., zawsze będzie całkowite. Zadeklaruj je [liczba1 i liczba2], jako zmiennoprzecinkowe.
0 Miałeś racje, myślałem, że jeżeli liczby są jako int, a ich wynik jest zapisany w double to wynik zostanie wypisany jako double. Jednakże wszystko jest już jasne, dziękuje za pomoc.
0 Hej,na poczatku zaznaczam, ze nie miałem nigdy styczności z JavaScript. Buduję sobie stronę, wykorzystuję wszelkie poradniki i na ogół to wystarcza.Mam jednak drobny problem, bardziej dotyczący "jak coś zrobić, żeby było względnie prawidłowo" a nie "dlaczego nie działa".Chciałbym umieścić kilka popup modal 'i- klikam na stronie w kolejne wiersze - i zależnie w który wiersz klikę - taki modal ma mi się pokazać.Pracuję na podstawie tego poradnika:https://sabe.io/tutorials/how-to-create-modal-popup-box
0 Kwestia polega na tym, że wykorzystując:
1 // Popup modal var modal_pop = document.querySelector(".modal_pop"); var trigger = document.querySelector(".trigger"); var closeButton = document.querySelector(".close-button"); function toggleModal() { modal_pop.classList.toggle("show-modal"); } function windowOnClick(event) { if (event.target === modal_pop) { toggleModal(); } } trigger.addEventListener("click", toggleModal); closeButton.addEventListener("click", toggleModal); window.addEventListener("click", windowOnClick);Teoretycznie mogę kilkukrotnie przekopiować powyższy kod, zmienić nazwy zmiennych i przypisać konkretne zmienne do obszarów w htmlu.
0 Jednak no, nie podoba mi się takie rozwiązanie.Myślałem, żeby np. stworzyć kilka zmiennych modal trigger oraz close_button - przypisać je do odpowiednich fragmentów html, natomiast w funkcji toggleModal pobierać modal jako argument i wówczas zmieniać jego stan.Jest taka możliwość?
0 Edit:Natomiast funkcja windowOnClick(event) powinna gasić każdy z otwartych modali. Nie znalazłem jednak funkcji zamykającej modal.(samo toggle niestety nie pomoże)