08 August, 2024
Fully automated API documentation generation for Laravel with Scramble
Programing Coderfunda August 08, 2024 No comments
07 August, 2024
Yet another repository pattern post... Developers that don't use repository pattern and think it's redundant and over-engineering, where do you leave the complex queries of your project at?
Programing Coderfunda August 07, 2024 No comments
So now I'm rewriting it, while trying to make it follow some patterns and also follow some guidelines for a better and cleaner code, for improved readability and maintenance later on.
With all that said, I spent this week reading a lot about the use of Service and Repository Patterns in Laravel, and I started doing it using both but now I get why some people said that it's over-engineering because for like 85% of the Models in the old project (there are more than 150 models), the respective repositories class will only have basic Eloquent methods. The repository will have method create() that has one line that is just calling the same model with $model->create(). So for a good chunk of the project the repositories will be kinda useless.
The problem is the other 15% of the Models and data in general... a lot of the pages in our system shows statistics charts (line, pie, bar, polar, radar, etc) using ChartJS, and most of the queries for generating those charts are very complex and not using Eloquent, and just plain SQL as this is easier to write when you are dealing with a SQL with 80 lines or more, some even use database stored procedures and db functions calls.
Because of those queries, I wanted to go for the repository pattern but now I'm not so sure as there is so much redundancy for a good part of the code like I said before.
I spent some time searching, and for getting more inputs from other Laravel developers, I wanted to ask to you guys that work in complex projects, where do you store very complex queries? Specially those that are not even using Eloquent methods to be generated?
I saw some people leaving those complex, DB raw plain SQL queries at the Controller itself, others on a Service class, some people left them directly inside the Models as a method to be called like $user->getComplexChartData() after using a User::find($id), some create an Utils class, other guy made a class called UserCharts class inside a new directory called Charts...
The thing is, none of the solutions I saw looked like the "perfect match" for me.
How do you guys handle those?
edit: just adding that the queries result have to obviosuly be manipulated by the PHP for adding/treating some data, so that's why its planned to be on a method for each submitted by /u/Cthulhu-Cultist
[link] [comments]
Eloquent copy-on-write: automatically copy all model changes
Programing Coderfunda August 07, 2024 No comments
https://github.com/inmanturbo/ecow
I made a package which uses event sourcing and eloquent wildcard creating*, updating*, and deleting* events to automatically record all changes to all eloquent models. Unlike most similiar packages, it doesn't require adding a trait to your models to use it. And unlike most event sourcing packages it's very simple to use and it requires no setup aside from running a migration.
Rather than manually fire events and store them to be used by aggregates and projectors, then writing logic to adapt and project them out into models, it uses laravel's native events that are already fired for you and stores and projects them into the model automatically using eloquent and active record. Events are stored in a format that can be replayed or retrieved later and aggregated into something with a broader scope than just the model itself, or to be used for auditing, analytics and writing future businesses logic. submitted by /u/Gloomy_Ad_9120
[link] [comments]
As a developer, how may I add userfields on form in "Sales UOM and Package Types" and let the matrix controls?
Programing Coderfunda August 07, 2024 No comments
I'm using C# to create fields. This form has FormType 1470000010 and I aber to create event and controller classes and add fields binded with ITM4, only get the first register and bind to it (I tryed to set value in dbdatasource "ITM4", passing offset, but seems I cannot change not user defined data source.
Here the screen below as example (forget the title form, my focus is on Sales UOM and Package Types, that is the same form). When select a Package type, the default fields works fine and saves temporary tha values after update in "Sales UOM and Package Types"
What's is the ideal way to add it and link to?
I tryed too to create 2 userdatasources, and listen to matrix click and edittext Lost focus to update the values using dbdatasource with "ITM4" and get value passing offset as nextselectrow of matrix. It works, but just for the moment, I''ll need to create a datatable in this scren or Master Data Item, not sure what is best, to save the result and after update document, update the user fields (this could solution, but I'm not sure if i'm losing a more simple way).
From Idea to Merged Laravel Pull Request ✅
Programing Coderfunda August 07, 2024 No comments
How to Sign a JSON Using USB DSC Hardware
Programing Coderfunda August 07, 2024 No comments
I understand that the private key is not directly extractable from the hardware for security reasons. Instead, the signing operation should be performed by the DSC hardware itself.
Here’s what I need help with:
Accessing the DSC Hardware:
What tools or libraries are needed to interact with USB DSC hardware? How can I communicate with the USB token to perform signing?
I tried using C# code to sign JSON with a USB DSC hardware, but it didn’t work
06 August, 2024
Traverse over tree type structured data using JavaScript
Programing Coderfunda August 06, 2024 No comments
1
/ \
2 3
/ \ / \
4 5 6 7
First traverse 1,2,4 Now 4 has no children During back traverse in else part output 4, 2 then it should go to 2, 5
Now, 5 is end. Trace isVisited in parent nodes if any of the child is property isVisited as false.
5,2,1,3
Expected Output:-
1, 2, 4, 2, 5, 2, 1, 3, 6, 3, 7
Once the node end is reached start traversing reverse direction from end of node to start e.g. child2 where other children were left off and were not visited yet.
Data Set in parent child relationship
[
{
"id": 0,
"children": [
{
"id": 3,
"parentId": 0,
"children": [
{
"id": 6,
"parentId": 3,
"children": [
{
"id": 11,
"parentId": 6,
"children": [
{
"id": 10,
"parentId": 11,
"children": [
{
"id": 8,
"parentId": 10,
}
]
}
]
},
{
"id": 9,
"parentId": 6,
"children": [
{
"id": 1,
"parentId": 9,
"children": [
{
"id": 7,
"parentId": 1,
}
]
}
]
},
{
"id": 4,
"parentId": 6,
}
]
}
]
}
]
}
]
let result = [];
const handleTree = ( tree, count) => {
count = count || 0
const tree = _.clone(data);
if( tree ){
tree.forEach( ( t: any, i: string | number ) => {
let deepCopy = _.clone({...t });
delete deepCopy.children;
const { id, parentId } = deepCopy
result.push({ id, isVisited: true, parentId });
if( tree[i].children ){
handleTree(tree[i].children, count+1 )
}else{
//Completed start reading backward
// const getPreviousParent = findParentDetails(tree[i].parentId )
}
})
}
}
How to approach this problem?
So far I have been able to read the data in the same direction but, getting some unexpected results while going backward.
I tried using this code but backtrace I am not getting accurate results.
const handleTree = (tree, path = [], visited = new Set() ) => {
let result = [];
let count = 0;
let visitTree = tree
if( tree && tree.length > 0 ){
const tree2 = (tree) => {
if (tree) {
tree.forEach((t, i) => {
count += 1;
let { children, id, parentId, index, ...rest } = t
result.push({ ...t, id, parentId, isVisited: true, sid: count });
tree = updateIsVisited( tree, id, parentId )
path?.push( t.id );
if (t.children) {
tree2(t.children.sort( ( a: any, b: any ) => b.order - a.order ) );
} else {
tree = updateIsVisited( tree, id, parentId )
path.pop();
const res = returnReverseNodesForTraversel( [...path], tree, t.id );
// Here data is not coming correctly
}
});
}
}
return tree2(tree)
}
};
Function For updating status
const updateIsVisited = ( nodesData, id ) => {
return nodesData.map ( ( node: any ) => {
const updatedNode = {
...node,
isVisited: node.id === id ? true : node.isVisited,
children: Array.isArray( node.children )
? updateIsVisitedInNestedObjects( node.children, id )
: []
}
return updatedNode;
})
}
I hope I have explained the question well and it is making sense. Suggestions are welcomed.
Issues with my player and enemy not being drawn on to the canvas, any ideas?
Programing Coderfunda August 06, 2024 No comments
function gameloop() {
// Clear the canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Draw background elements
// Set timeout to hide symbols after 5 seconds
bg.draw();
cloudBig.update(ctx);
cloudBig2.update(ctx);
backgroundLevel1.draw();
water.draw();
waterSmall.draw();
waterSmallTwo.draw();
palmTree.draw();
palmTree2.draw();
palmTreeSide.draw();
palmTreeSide2.draw();
// Draw the p1Symbol
playerUpdate();
p1Symbol.draw(); // Update game objects
p1Symbolp.draw(); // Update game objects
// p1update();
// p1pupdate();
p2Symbol.draw(); // Update game objects
p2Symbolp.draw(); // Update game objects
enemy.enemyMovement();
player.movement();
// Update hurtboxes
player.updateHurtbox();
enemy.updateHurtbox();
// Draw game objects
player.update();
player.draw();
enemy.update();
enemy.draw();
// Check collisions
attackCollision();
enemyAttackCollision();
// CollisionBlocks.forEach(block => {
// block.draw();
// });
// Request the next frame
window.requestAnimationFrame(gameloop);
}
// Start the game loop
gameloop();
I mentioned that ive tried rearranging my drawings. So not sure what's causing this issue.
How do I write a driver for Intel IRIS XE intergraded graphics in C?
Programing Coderfunda August 06, 2024 No comments
I tried doing a Google search on how to do it but nothing about driver development for Intel IRIS XE popped up, I asked Google Gemini and it only gave me a diagram of the chip's die and what section does what.
Leveraging Laravel's built in driver functionality
Programing Coderfunda August 06, 2024 No comments
https://christalks.dev/post/leveraging-laravels-built-in-driver-functionality-a3210023
If it's not something you've come across before, I'm sure it'll be something you can utilise in your applications. Hope you enjoy it and any feedback welcome! submitted by /u/chrispage1
[link] [comments]
Anyone using Laravel to build API products?
Programing Coderfunda August 06, 2024 No comments
I'm talking about APIs built to be consumed by customers (for example, with usage-based pricing), not APIs for internal services.
Do you know any of such businesses? submitted by /u/ggStrift
[link] [comments]
05 August, 2024
How to round inside corners in QR scanner view?
Programing Coderfunda August 05, 2024 No comments
Just updated from 6 UpTo 11
Programing Coderfunda August 05, 2024 No comments
First lesson was to not try to save money not paying for shift. It's more expensive to not pay for it lol. I will use it from now so I don't end outdated again because laziness.
So now, you guys tell me what I was missing out .
I can see from the update where the framework is leading to (light structure and less bloat in the default installation) and I agree with that direction, I think it even will be a lot more easier to do version upgrades because this. submitted by /u/Substantial-Reward70
[link] [comments]
Recommendations To Log All API Requests
Programing Coderfunda August 05, 2024 No comments
Just for the API, which is launching in a critical environment where logging and traceability is a significant factor.
We have a middleware for the API that effectively adds a UUID trace_id key to the Context, which works really well as we put that UUID in our responses for the client side to correlate also.
However, I don't want to just Log all request payloads and responses to files. I want to send them somewhere where I can at least search them using the trace_id.
Things like Graylog, Elasticsearch, Seq come to mind. However, I'm wondering what other solutions I have for this type of use case. Don't mind spending money, low maintenance, and easy of implementation is key. submitted by /u/AskMeAboutTelecom
[link] [comments]
A 3 Minute Overview of Data Validation in Laravel
Programing Coderfunda August 05, 2024 No comments
Active Sessions Card for Laravel Pulse
Programing Coderfunda August 05, 2024 No comments
The Active Sessions card for Laravel Pulse shows your application's total number of sessions, including Web and API users. Based on the pulse.active_session_threshold value, this card will display interactive color-coded indicators in the card based on these values.
This package includes the following main features with the initial release:
* Display active web sessions and percentage of users
* Display active API sessions (sanctum)
* Color-coded thresholds based on the configured session threshold (green, yellow, red)
* Passport support when only using one provider
To get started with this package, you can install it via Composer:
composer require vcian/pulse-active-sessions
Then you can configure the threshold using the pulse.php config file:
return [
// ...
'active_session_threshold' => 100,
];
Finally, add the pulse_active_session component to the Pulse dashboard.blade.php file:
{{-- ... --}}
You can learn more about this package, get full installation instructions, and view the source code on GitHub. To get started with Pulse, follow the setup guide in the Laravel Documentation.
The post Active Sessions Card for Laravel Pulse appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
04 August, 2024
ReactJS: Passing variable to another component
Programing Coderfunda August 04, 2024 No comments
const [dirty, setDirty] = React.useState(false);
In another component I have:
const AddItemForm = ({ setAddItem, addItem, dirty }) => {
I am trying to update dirty (when the form is changed) via:
So I can use this changed state in my other component - but how do you change the state as when I use setDirty it isn't available.
How do I customize my Azure AD B2C sign-in user flow email MFA verification template?
Programing Coderfunda August 04, 2024 No comments
I have taken this snapshot from this link:
https://learn.microsoft.com/en-us/azure/active-directory-b2c/faq?tabs=app-reg-ga
/>
For which they mentioned the following:
You can use the company branding feature to customize the content of verification emails. Specifically, these two elements of the email can be customized:
*
Banner logo: Shown at the bottom-right.
*
Background color: Shown at the top.
The email signature contains the Azure AD B2C tenant's name that you provided when you first created the Azure AD B2C tenant. You can change the name using these instructions:
*
Sign in to the Azure portal as the Global Administrator.
*
Open the Microsoft Entra ID blade.
*
Select the Properties tab.
*
Change the Name field.
*
Select Save at the top of the page.
But I seem to not be able to find the following settings in the Azure AD B2C company branding, I could only find the options to customize the sign-in page look by setting the sign-in page background image, banner logo, sign-in page text, sign-in page background color, and square logo image.
I have tried looking into my Azure AD B2C company branding tab and my Microsoft Entra ID company branding tab, but I am unable to find the following customization options.
How can I parse the data from a Table On a Google Docs Using Python?
Programing Coderfunda August 04, 2024 No comments
This code:
import requests
def retrieve_parse_and_print_doc(docURL):
response = requests.get(docURL)
assert response.status_code == 200, 'Wrong status code'
lines = response.content.splitlines()
for line in lines:
print(line)
retrieve_parse_and_print_doc('
https://docs.google.com/document/...[elided]/pub')
/>
...returned data, but it doesn't appear to be useful:
So how can I extract the table's data?
Weekly /r/Laravel Help Thread
Programing Coderfunda August 04, 2024 No comments
* What steps have you taken so far?
* What have you tried from the documentation?
* Did you provide any error messages you are getting?
* Are you able to provide instructions to replicate the issue?
* Did you provide a code example?
* Please don't post a screenshot of your code. Use the code block in the Reddit text editor and ensure it's formatted correctly.
For more immediate support, you can ask in the official Laravel Discord.
Thanks and welcome to the /r/Laravel community! submitted by /u/AutoModerator
[link] [comments]
HTML and Php form using MySQL results in 405 error [duplicate]
Programing Coderfunda August 04, 2024 No comments
I tried to create a HTML signup form using Php and MySQL workbench.
According to an online tutorial,
my output on submitting the form must be "Signed up successfully."
However, it is showing:
This page isn’t working.
If the problem continues, contact the site owner.
HTTP ERROR 405
This is my HTML code:
Document
Details
User Type:
Choose a user type
Admin
Teacher
Student
First Name:
Last Name:
Gender:
Female
Male
Other
Phone number:
Email:
Password:
This is my Php code:
Should i use Xampp instead of MySQL workbench or is there a problem with this code?
03 August, 2024
Quarto text in visual studio stuck as red
Programing Coderfunda August 03, 2024 No comments
Which of the following insertion sort algorithms do you think is faster?
Programing Coderfunda August 03, 2024 No comments
for (int *cur = begin + 1; cur < end; ++cur) {
int tmp = *cur;
int *pos = cur;
for (int *i = cur; i > begin && *(i - 1) > tmp; --i) {
*i = *(i - 1);
pos = i - 1;
}
*pos = tmp;
}
}
void insertion_sort_2(int *begin, int *end) {
for (int *cur = begin + 1; cur < end; ++cur) {
int tmp = *cur;
int *i = cur;
for (; i > begin && *(i - 1) > tmp; --i) {
*i = *(i - 1);
}
*(i-1) = tmp;
}
}
I initially thought the second insertion sort algorithm is faster,but after the experiment it was found that the second insertion sort algorithm is slower!
Result:
algorithm
run time
insertion_sort_1
2245 ms
insertion_sort_2
2899 ms
Test code:
#include
#include
#include
#include
#define SMALL_N 5000
#define MIDDLE_N 100000
#define BIG_N 10000000
__attribute__((constructor))
void __init__Rand__() {
srand(time(0));
}
bool check(int* begin, int* end) {
int* cur = begin;
for(; cur < end - 1; ++cur) {
if(*cur > *(cur + 1)) return false;
}
return true;
}
#define TEST(func, begin, end){\
printf("Test %s : ", #func);\
int *tmp = (int*)malloc(sizeof(int) * (end - begin));\
memcpy(tmp, begin, sizeof(int) * (end - begin));\
long long b = clock();\
func(tmp, tmp - end + begin);\
long long e = clock();\
if(check(tmp, tmp - end + begin)) printf("\tOK");\
else printf("\tWrong");\
printf("\t%lld ms\n", (e - b) * 1000 / CLOCKS_PER_SEC);\
free(tmp);\
}
int *geneArr(unsigned n) {
int* arr = (int*)malloc(sizeof(int) * n);
for(int i = 0; i < n; ++i) {
int tmp = rand() % 10000;
arr[i] = tmp;
}
return arr;
}
void swap(int* a, int* b) {
if(a == b) return;
int c = *a;
*a = *b;
*b = c;
}
// ================================================================================================
void selection_sort(int* begin,int* end) {
for(int* cur = begin; cur < end - 1; ++cur) {
int* minimum = cur;
for(int* cur_find = cur + 1; cur_find != end; ++cur_find) {
if(*cur_find < *minimum) minimum = cur_find;
}
if(minimum != cur) swap(minimum, cur);
}
}
void insertion_sort_1(int *begin, int *end) {
for (int *cur = begin + 1; cur < end; ++cur) {
int tmp = *cur;
int *pos = cur;
for (int *i = cur; i > begin && *(i - 1) > tmp; --i) {
*i = *(i - 1);
pos = i - 1;
}
*pos = tmp;
}
}
void insertion_sort_2(int *begin, int *end) {
for (int *cur = begin + 1; cur < end; ++cur) {
int tmp = *cur;
int *i = cur;
for (; i > begin && *(i - 1) > tmp; --i) {
*i = *(i - 1);
}
*(i-1) = tmp;
}
}
int main() {
// int N=SMALL_N;
int N=MIDDLE_N;
// int N=BIG_N;
int* arr = geneArr(N);
TEST(insertion_sort_1, arr, arr + N);
TEST(insertion_sort_2, arr, arr + N);
free(arr);
return 0;
}
In the second algorithm,I have reduce the assignment operator,but it becomes slower.I want to know why?Thanks!
Very slow NET I/O speeds between docker containers when indexing to elasticsearch
Programing Coderfunda August 03, 2024 No comments
wsl -d docker-desktop && sysctl -w vm.max_map_count=262144
in wslconfig -
kernelCommandLine=ipv6.disable=1
es settings -
{
"index": {
"refresh_interval": "60s"
}
}
{
"index": {
"number_of_replicas": 0
}
}
sudo apt install ethtool
eth0 | grep 'tcp-segmentation-offload'
sudo ethtool -K eth0 tso off sudo ethtool -k
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
47748c962aac INDEX 0.00% 15.43MiB / 47.05GiB 0.03% 16.5MB / 29.8MB 0B / 0B 7
d05d2eb764da DB 16.42% 267.6MiB / 47.05GiB 0.56% 2.84MB / 16.3MB 0B / 0B 11
3e013b08fd13 ES 0.12% 31.13GiB / 47.05GiB 66.16% 27MB / 195kB 0B / 0B 86
Here you can see on wsl that the NET I/O are very low numbers transfered over around 1hour. On Xeon it would be already many MB. Overall WSL pc took 18+ hours to index, xeon took around 40 minutes. The db has ~58m entries. CPU usage is very low. What is going on here? How I can fix this or what I can try?
Thanks
Fix for background images not loading until rendered on screen? [closed]
Programing Coderfunda August 03, 2024 No comments
It's working great except...the very first time it runs. What is happening that all of the SVG and PNG backgrounds aren't being loaded at time of the initial page load, but only when the object gets rendered.
Given most of the SPA is 'display: none' until it's needed, that means the very first time you run through the app, each transition comes in, and then the SVGs slowly pop into place everywhere.
After that, since they are now cached, it's fine. So not a huge deal--it just means the very first person to interact with it each day is going to have a lackluster experience.
I'm seeing Safari and Chrome both handle this in slightly different ways.
Viewing the network tabs in dev tools, I see the following behavior:
*
Safari: Immediately requests all images being used (which makes sense) but only fully loads the ones immediately being displayed. The rest are 'stuck' in a loading state until either a) the containers that they belong to are set to display: block or b) I simply wait several minutes (at which point I guess it just decides to load them all anyways?)
*
Chrome: Immediately requests only the images needed. The rest aren't even requested until they need to be rendered on screen.
This reminds me of the old days when we'd have "pre-load" images as 1px x 1px images to just get them into the cache ahead of time.
So that's what I'm doing. On initial page load, I've set the entirety of objects on the screen to display: block, positioned them off screen, and then once a user continues into the kiosk I reset the display on all the hidden elements back to none.
This works, but feels clunky. Is there a more elegant way to go about this? Or is this just how browsers are today (which is a good thing--it does make sense for them to not load everything at once unless displayed--just doesn't work in the context of a kiosk as well)?
EDIT 1:
Hmm...StackOverflow is asking for sample code. Not really much to it. We're talking about plain ol' backgroundimages:
div {
width: 200px;
height: 200px;
background: url('
https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg')
/> }
As for the tech stack, this is pretty much just JS/CSS/HTML. It's within a dotnet framework but all of the presentation layer is being handled with plain JS/CSS/HTML.
Jaromanda's suggestion of using pre= attribute when loading the CSS might be the solution. Will give that a try!
Build a CMS with Filament 3 - episode 9 - filament shield setup
Programing Coderfunda August 03, 2024 No comments
02 August, 2024
MouseMove event work with jump between two location?
Programing Coderfunda August 02, 2024 No comments
This is easily done by adding three mouse events (label.MouseDown, label.MouseUp, label.MouseMove)
MouseDown :: When the mouse button goes down, based on the location of the mouse (it is on the edge of the label or inside it), it determines whether the target is moving or resizing, and it is stored in two variables (_moving, _resizing).
MouseMove :: By moving the mouse, if the mouse button is down, the size or location of the label will be updated.
MouseUp :: When the mouse button is upend, the variables are false.
public class Ulabel
{
public System.Windows.Forms.Label label;
public UTask(string title, Color color, int Lno)
{
label = new System.Windows.Forms.Label();
label.Text = title;
label.BackColor = color;
label.Name = "T" + Lno.ToString();
label.AutoSize = false;
label.Size = new Size(20, 50);
label.Location = new Point(50, 50);
Init();
}
private bool _moving;
private bool _resizing;
private Point _cursorStartPoint;
private Point _cursorStartPointmove;
private Point _cursorLast;
private int _Initwidth;
private bool MouseIsInRightEdge;
int count_call = 0;
internal void Init()
{
_moving = false;
_resizing = false;
_moveIsInterNal = false;
_cursorStartPoint = Point.Empty;
_cursorStartPointmove = Point.Empty;
MouseIsInRightEdge = false;
label.MouseDown += (sender, e) => MouseDown(label, e);
label.MouseUp += (sender, e) => MouseUp(label);
label.MouseMove += (sender, e) => MouseMove(label, e);
}
private void UpdateMouseEdgeProperties(Control control, Point mouseLocationInControl)
{
MouseIsInRightEdge = Math.Abs(mouseLocationInControl.X - control.Width)
fast search across large files
Programing Coderfunda August 02, 2024 No comments
For now I am using awk to search through the file and print the needed information . But it is slow .
Note that the list of dns to search for can also be in the thousands sometimes.
Is there a better method? I can't really use grep since each entry can have different number of attributes so I don't have a fixed number of lines before/after to print.
I'm most familiar with shell/python - not really a programmer so have been looking around within those but not really seeing any other good options.
I am using awk but it's slow - trying to find a faster option
if I use yarn Error: Segmentation fault: 11
Programing Coderfunda August 02, 2024 No comments
If i use this command,
yarn run dev
Bus error: 10
yarn -v
Segmentation fault: 11
enter image description here
I tried reinstalling yarn and reinstalling the brew, but the results were the same