08 February, 2024
Ask AI Questions About Your Codebase from the CLI With Laragenie
Programing Coderfunda February 08, 2024 No comments
Laragenie is an AI chatbot with an Artisan console integration for your Laravel applications. It can understand your source code by indexing directory/file paths. You can then ask questions about your code such as "Describe all the model associations for the App\Models\Post model".
Here's an example of how you can configure the indexes in your configuration file. It works by indexing your configured files with an AI model using OpenAI to generate responses and Pinecone to index data:
// config/laragenie.php
return [
// ...
'indexes' => [
'directories' => ['App/Models', 'App/Http/Controllers'],
'files' => ['tests/Feature/MyTest.php'],
'removal' => [
'strict' => true,
],
],
];
Once you’ve installed this package, you can index your files, clear the index, and ask questions by running the laragenie command:
Ask questions about your code from the command line.
Note that the files you index and ask questions about needn’t be only PHP files! You can also index and ask questions about your JavaScript, GitHub workflows, etc. The neat thing about this CLI is that it’s not generic answers; it’s specifically helpful to answer questions about your unique codebases.
Using AI models is a valuable way to speed up tedious tasks. It can be helpful in onboarding developers new to a project and getting general knowledge about an unfamiliar codebase more rapidly.
This package is available on Github at joshembling/laragenie and installable via composer:
composer require --dev joshembling/laragenie
The post Ask AI Questions About Your Codebase from the CLI With Laragenie appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
Exception "No successful match so far" after Matcher.find() == true
Programing Coderfunda February 08, 2024 No comments
if(m.find()){
...
m.start()
...
}
I wonder how it is possible for the m.start() in the above code to throw the following exception:
Exception: No successful match so far
Class: java.lang.IllegalStateException
Stack trace: java.lang.IllegalStateException: No successful match so far
at java.util.regex.Matcher.ensureMatch(Matcher.java:1116)
at java.util.regex.Matcher.start(Matcher.java:1158)
at java.util.regex.Matcher.start(Matcher.java:1130)
Could anyone shed some light on this?
07 February, 2024
Updating associated items in Sequelize
Programing Coderfunda February 07, 2024 No comments
Basically I have a table "invoices". Those invoices have a table "invoiceItems" associated to them as one invoice to many invoiceItems.
Now I have a route where users can update invoices. The part I cant figure out is how to handle when they update, add, or delete invoiceItems. The front end would be able to send me a JSON object containing all of the data including the IDs for the invoice and the invoiceItems (except the new ones of course). The goal is to update the existing invoice and associated invoiceItems with the new object sent from the front end. I can use the object to create a new invoice no problem, but updating has proven very complicated for me.
My create statement works and looks like this, I would love something similar for update, but I am starting to understand that might not be possible
db.invoice.create(
req.newInvoice, {
include:[
db.invoiceItem
]
}
)
I have tried using transactions as well as mixin methods like set/add/remove etc. With limited success and anything that comes close has so many nested loops comparing the versions it makes my head spin. Is there an easier way to achieve this that I have over looked?
Here's my pared down models for you to see in case it helps:
invoices
module.exports = (sequelize, Sequelize, DataType) => {
const Invoice = sequelize.define('invoice', {
id: {
type: DataType.UUID,
primaryKey: true,
defaultValue: Sequelize.literal( 'uuid_generate_v4()' )
},
userId: {
type: DataType.UUID,
},
createdAt: {
type: DataType.DATE
},
UpdatedAt: {
type: DataType.DATE
}
},{
underscored: true
});
Invoice.associate = models => {
Invoice.hasMany(models.invoiceItem), {
foreignKey: "invoiceId",
onDelete: 'cascade'
}
Invoice.belongsTo(models.user, {
foreignKey: "userId"
})
};
return Invoice
};
invoiceItems
module.exports = (sequelize, Sequelize, DataType) => {
const InvoiceItem = sequelize.define('invoiceItem', {
id: {
type: DataType.UUID,
primaryKey: true,
defaultValue: Sequelize.literal( 'uuid_generate_v4()' )
},
invoiceId: {
type: DataType.UUID,
},
userId: {
type: DataType.UUID,
createdAt: {
type: DataType.DATE
},
updatedAt: {
type: DataType.DATE
}
},{
underscored: true
});
InvoiceItem.associate = models => {
InvoiceItem.belongsTo(models.invoice, {
foreignKey: "invoiceId"
})
InvoiceItem.belongsTo(models.user), {
foreignKey: "userId"
}};
return InvoiceItem
};
Thanks in advance for any help/ideas!
Is there a way to write a JavaScript program that enables you to Search Words in Multiple PDF Files?
Programing Coderfunda February 07, 2024 No comments
Basically it's just like the Adobe Acrobat's Advance Search option. I just need to create a similar program but much simpler. It's a project for school. Please help.
JavaScript is my preferred language but if you have any ideas from a different programming language, I'm open to it.
If you can send me links of blogposts or YouTube videos it will be much appreciated.
Thank you so much!
I have already tried this:
https://apryse.com/blog/indexed-search/search-multiple-documents-using-javascript but I can't seem to make it work. An error occurs in installing the package. And this is the only thing out there that's very close to what I'm trying to achieve.
Command CodeSign failed with a nonzero exit code in flutter debug
Programing Coderfunda February 07, 2024 No comments
What do you actually do with Laravel?
Programing Coderfunda February 07, 2024 No comments
I work for a company that have both shared and dedicated servers for their clients, and we mostly create standard website or intranet sites for comparitively low traffic audiences. So the projects usually follow a classic style (db-> front end or external api -> front end) with no need for these extras. The most I've done is a TALL stack plus Filament. And these projects are pretty solid - they're fast, efficient (more efficient recently thanks to better solutions such as Livewire and ES module-bsased javascript). But I feel like I'm out of date because I generally don't understand a lot of these other things, and I don't know when I'd ever need to use them over what I currently work with.
So my question is, what types of projects are you all working on? How advanced are these projects? Do you eveer do "classic" projects anymore?
Am I in the minority, building classic projects?
How can I improve my projects if what I'm doing already works well? I feel like I'm getting left behind a bit.
Edit: Thanks for the replies. Interesting to see all the different points of view. I'm glad I'm not the only one. submitted by /u/No-Echo-8927
[link] [comments]
06 February, 2024
Pass a button variable to controller codeigner 4
Programing Coderfunda February 06, 2024 No comments
here is my code :
`id") . '" data-quotation="' . $row->id_quotation . '">Edit`
my ajax :
`$(document).on('click', '.edit', function() {
var quotation = $(this).attr('data-quotation');
$.ajax({
type: 'POST',
dataType: 'json',
url: baseurl + 'purchase/senddata/' + quotation,
data: {
'quotation': quotation
},
success: function(data) {
window.location = url;
}.then(function() {
})
});
});
`
this my Controller :
public function edit_data($id)
{
$id_quotation = $this->request->getVar('quotation');
$data = [
'title' => 'Edit Purchase Order',
'invoice' => $this->purchases->getPurchase($id),
'dataQuotation' => $this->purchases->getQuotationById($id_quotation)
];
dd($id_quotation);
return view('purchase-order/edit-data', $data);
}
and this my routes :
$routes-\>post('purchase/senddata/(:segment)', 'Purchase::edit_data/$1');
on my controller there I do a var_dump but the value is always null
from the way I tried to do it above can someone be kind enough to tell me where I made a mistake in my code
Search Through exel file using a search html
Programing Coderfunda February 06, 2024 No comments
/*
Use css to set the display to none first
*/
let allClientIDRows = document.querySelectorAll("ClientID-row > a");
for(let i = 0; i < allClientIDRows.length; i++){
let row = allClientIDRows[i]
let ClientID = row.getElementsByClassName("ClientID")[0]
if(allClientIDRows[i].textContent.trim() == userInput.trim()){
//You can also convert to lowercase for more accurate result
allClientIDRows[i].style.display = "inline";
}
}
}
This is the function that applys the filter to allow you to search and show what you search for and not the entire form.
i am only looking to show the searched item and not the entire spreadsheet
Data
Type in your ID
No ID FOUND
Loading
Failed to get data. Please refresh
function setErrorDisplay(loaderElm, allClientIDsElm, errorMessageElm){
loaderElm.style.display = "none"
allClientIDsElm.style.display = "none"
errorMessageElm.style.display = "block"
}
let allClientIDsElm = document.getElementById("allClientIDs")
let loaderElm = document.getElementById("loader")
let errorMessageElm = document.getElementById("errorMessage")
fetch("
{
https://api.apispreadsheets.com/data/").then(res=>{
/> if (res.status === 200){
//sucess
res.json().then(data=>{
const yourData = data["data"]
for(let i = 0; i < yourData.length; i++){
let rowInfo = yourData[i]
let rowInfoDiv = document.createElement("div")
rowInfoDiv.classList.add("ClientID-row")
let rowClientID = document.createElement("h4")
let rowClientIDNode = document.createTextNode(rowInfo["ClientID"])
rowClientID.appendChild(rowClientIDNode)
rowClientID.classList.add("ClientID")
let rowRA = document.createElement("p")
let rowRANode = document.createTextNode(rowInfo["RA"])
rowRA.appendChild(rowRANode)
rowRA.classList.add("RA")
rowInfoDiv.appendChild(rowClientID)
rowInfoDiv.appendChild(rowRA)
allClientIDsElm.appendChild(rowInfoDiv)
}
loaderElm.style.display = "none"
allClientIDsElm.style.display = "block"
errorMessageElm.style.display = "none"
}).catch(err => {
setErrorDisplay(loaderElm, allClientIDsElm, errorMessageElm)
})
}
else{
setErrorDisplay(loaderElm, allClientIDsElm, errorMessageElm)
}
}).catch(err =>{
setErrorDisplay(loaderElm, allClientIDsElm, errorMessageElm)
})
This is the HTML part that runs the html search part
For some reason when i run with the function its still showing all the spreadsheet. What i am trying to do is How to make a search list in which element is only shown when user search for its exact value
when you type it shows you the result but the form will be empty untiil you type
i tryed with a search function with a filter but it shows the entire spreadsheet. Maybe i am doing something wrong or messed up somewhere in the code.
the applyfilter isnt working for me maybe there is another way i can do this
Resources covering modern non-cloud (Laravel) deployment? Best practices for deploying updates, serving new features to beta-testers, reliable backups, security, etc.
Programing Coderfunda February 06, 2024 No comments
my background building Laravel apps is working on comparably small projects for a few clients that just needed more custom functionality than WordPress could offer and a handful of personal one-off projects for organizations I volunteer for. Mostly apps that you build and not touch anymore for long stretches of time.
Recently, someone approached me with a very interesting offer to develop a more complex application they'd use internally. Laravel seems suitable as no mobile app is required. Even down the road a progressive web app would totally suffice if necessary at all. Their business is on the smaller side of what can be considered a SMB, I'd estimate
My package Laravel, Lara Hierarchial Collections has been updated to support Laravel 11 - package to performantly convert a flat collection of hierarchical data to a nested collection for things like Org Charts.
Programing Coderfunda February 06, 2024 No comments
Laravel Purity vs Spatie's laravel-query-builder?
Programing Coderfunda February 06, 2024 No comments
Is there anyone who has tried both packages or prefers one over another for any good reason? submitted by /u/DigitalEntrepreneur_
[link] [comments]
05 February, 2024
How to know IP of the request made in python using amazon api gateway
Programing Coderfunda February 05, 2024 No comments
The code I tried:
import requests
import xml.etree.ElementTree as ET
from requests_ip_rotator import ApiGateway, EXTRA_REGIONS
# Define Class
class QuestionsExplorer:
def GetQuestions(self, questionType, userInput, countryCode):
questionResults = []
# Build Google Search Query
searchQuery = questionType + " " + userInput + " "
# API Call
googleSearchUrl = "
http://google.com/complete/search?output=toolbar&gl=" + \
countryCode + "&q=" + searchQuery
# Call The URL and Read Data
result = session.get(googleSearchUrl)
tree = ET.ElementTree(ET.fromstring(result.content))
root = tree.getroot()
for suggestion in root.findall('CompleteSuggestion'):
question = suggestion.find('suggestion').attrib.get('data')
questionResults.append(question)
return questionResults
gateway = ApiGateway(site="
http://google.com",">
http://google.com", regions=["us-east-1"], access_key_id = "AWS_ACCESS_KEY_ID", access_key_secret = "AWS_SECRET_ACCESS_KEY")
gateway.start()
session = requests.Session()
session.mount("
http://google.com",">
http://google.com", gateway)
# use a Keyword for testing
userInput = "email marketing"
# Create Object of the QuestionsExplorer Class
qObj = QuestionsExplorer()
print("Keyword ideas about 'is'")
# Call The Method and pass the parameters
questions = qObj.GetQuestions("is", userInput, "us")
# Loop over the list and pring the questions
for result in questions:
print(result)
print("Keyword ideas about 'can'")
questions = qObj.GetQuestions("can", userInput, "us")
# Loop over the list and pring the questions
for result in questions:
print(result)
print("Done")
gateway.shutdown()
FindQt5.cmake in CMAKE_MODULE_PATH
Programing Coderfunda February 05, 2024 No comments
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
find_package(Qt5 COMPONENTS Multimedia REQUIRED)
add_executable(MyMp3Player main.cpp mainwindow.cpp)
target_link_libraries(MyMp3Player Qt5::Multimedia)
How do i tweak my YAML file so that it builds but does not deploy? I want to set up a PR Build pipeline to test build each PR
Programing Coderfunda February 05, 2024 No comments
I'm hoping to create a new pipeline that triggers when there is a PR to the "main" branch, and it builds the branch in the PR to see if there are any build issues before we merge it with the "main" branch. I believe the name for this is Build Validation, but I'm stuck with creating the pipeline. Or is this right and I need to handle this with settings in the build validation setup?
I tried to update the YAML so it only runs when a PR is created, I think that part is okay. But I can't seem to figure out how to cancel the deployment part. The changes I make keep breaking in the build process of my existing normal pipeline.
name: Azure Static Web Apps CI/CD
pr:
branches:
include:
- main
trigger: none
jobs:
- job: build_and_deploy_job
displayName: Build and Deploy Job
condition: or(eq(variables['Build.Reason'], 'Manual'),or(eq(variables['Build.Reason'], 'PullRequest'),eq(variables['Build.Reason'], 'IndividualCI')))
pool:
vmImage: ubuntu-latest
variables:
- group: Azure-Static-Web-Apps
steps:
- checkout: self
submodules: true
- task: AzureStaticWebApp@0
inputs:
azure_static_web_apps_api_token: $(AZURE_STATIC_WEB_APPS)
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit:
https://aka.ms/swaworkflowconfig
/> app_location: "/" # App source code path
api_location: "" # Api source code path - optional
output_location: "" # Built app content directory - optional
env:
NEXT_PUBLIC_OPENAI_KEY: $(NEXT_PUBLIC_OPENAI_KEY)
###### End of Repository/Build Configurations ######
Laravel Reverb: First-party WebSocket server
Programing Coderfunda February 05, 2024 No comments
Best practice for API versioning
Programing Coderfunda February 05, 2024 No comments
04 February, 2024
How to get 30 days prior to current date?
Programing Coderfunda February 04, 2024 No comments
var today = new Date(),
dd = today.getDate(),
mm = today.getMonth(),
yyyy = today.getFullYear(),
month = ["January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October" "November", "December"],
startdate = month[mm] + ", " + yyyy.toString();
The end date would be something like var enddate = startdate - 30; Obviously this won't work.
So if the current date is December 30, 2011 I'd want the start date to read December 1, 2011.
EDIT: My question was answered... sort of. Date.today(); and Date.today().add(-30); work but I need the date in the format of January 13, 2012. Not Fri Jan 13 2012 10:48:56 GMT -055 (EST). Any help?
MORE EDIT: As of this writing it's 2018. Just use Moment.js. It's the best.
Correctly displaying parsed MJML in a Laravel mailable class
Programing Coderfunda February 04, 2024 No comments
public function content()
{
$preview_text = 'Your Test Drive Has Been Scheduled!';
$lead = $this->lead;
$html = Mjml::new()->toHtml(view("emails.lead-created", compact('lead', 'preview_text'))->render());
return new Content(
view: $html,
);
}
The MJML correctly gets parsed as html. How can I pass it to my new Content class to display the email. The way I'm doing above is erroring out.
Error: View [the html strings that gets produced] not found.
Typescript eslint dont not recognize object in array
Programing Coderfunda February 04, 2024 No comments
I show code, and next try to explain the error.
types.ts
export type TSettingsIputsState = {
personal: {
label: string;
name: keyof TApiResponseProfile;
value: string;
activeEdit: boolean;
onActionButtonClick: () => void;
}[];
display: boolean;
};
component.tsx
const [profileInputs, setProfileInputs] = useState();
useEffect(() => {
const setFormData = async () => {
if (!profileData) return;
const inputs = await inputsItems();
setProfileInputs({
personal: [
...inputs.personalSettings.map(({ label, name }) => ({
label,
name,
activeEdit: false,
value: profileData[name],
onActionButtonClick: () => console.log("asd"),
})),
],
display: false,
});
};
setFormData();
}, [profileData]);
This code give me no error from ts or eslint, but when i delete name and add dummy value, the ts dont suggest me to add name, and dont not recognize that dummy shouldn't be there.
Another error is when i change onActionButtonClick: (testing: string) => void in type there is no error when no change in onActionButtonClick: () => console.log("asd")
Please see image on link belowa
Why no error? doesn't suggest 'name'? IMAGE
https://i.stack.imgur.com/ppIAv.png
/>
tsconfig
{
"compilerOptions": {
"baseUrl": ".",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": false,
"strict": true,
"noEmit": true,
"target": "ES2015",
"esModuleInterop": true,
"module": "esnext",
"strictPropertyInitialization": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"preserveConstEnums": true,
"sourceMap": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"noImplicitAny": false,
"plugins": [
{
"name": "next"
}
],
"paths": {
"@/layouts/*": ["./layouts/*"],
"@/complex/*": ["./components/complex/*"],
"@/parts/*": ["./components/parts/*"],
"@/inputs/*": ["./components/inputs/*"],
"@/forms/*": ["./components/forms/*"],
"@/hooks/*": ["./hooks/*"],
"@/skeletons/*": ["./components/skeletons/*"],
"@/utils/*": ["./utils/*"],
"@/middlewares/*": ["./middlewares/*"],
"@/providers/*": ["./providers/*"],
"@/types/*": ["./types/*"],
"@/apiTypes/*": ["./app/api/_types/*"],
"@/yupSchema/*": ["./yupSchema/*"],
"@/apiYupSchema/*": ["./app/api/_yupSchema/*"],
"@/dbPrisma": ["./utils/db.ts"],
"@/formsInitialValues/*": ["./formsInitialValues/*"],
"@/wretch": ["./utils/wretch"]
}
},
"include": ["next-env.d.ts", "types/**/*.ts", "app/_types/**/*.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
eslintrc.json
{
"env": {
"browser": true,
"es2021": true,
"jest": true
},
"extends": [
"airbnb",
"airbnb-typescript",
"eslint:recommended",
"plugin:import/typescript",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"plugin:@tanstack/eslint-plugin-query/recommended"
],
"globals": {
"__dirname": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": [
"react",
"react-hooks",
"@typescript-eslint",
"prettier",
"@kalimahapps/eslint-plugin-tailwind"
],
"rules": {
"react/react-in-jsx-scope": ["off"],
"no-unused-vars": ["off"],
"react/jsx-uses-react": ["off"],
"react/jsx-props-no-spreading": ["off"],
"react/function-component-definition": ["off"],
"react/no-unescaped-entities": ["off"],
"react-hooks/rules-of-hooks": ["error"],
"react-hooks/exhaustive-deps": ["warn"],
"react/no-array-index-key": ["off"],
"arrow-body-style": ["error", "as-needed"],
"import/extensions": ["off"],
"import/prefer-default-export": ["off"],
"import/no-extraneous-dependencies": ["off"],
"@kalimahapps/tailwind/sort": ["warn"],
"@kalimahapps/tailwind/multiline": ["warn"],
"@typescript-eslint/no-throw-literal": ["off"],
"jsx-a11y/click-events-have-key-events": ["off"],
"jsx-a11y/no-static-element-interactions": ["off"],
"no-return-await": ["off"],
"@typescript-eslint/return-await": ["off"],
"react/button-has-type": [
"off",
{
"button": true,
"submit": true,
"reset": true
}
],
"padding-line-between-statements": [
"error",
{ "blankLine": "always", "prev": "*", "next": "return" }
]
}
}
P.S.
It's only happend when personal is array, but the error with function parameter check persist anyway.
When i do this, and testing, typescript sugges ok, but not error on function parameter
personal: {
label: string;
name: keyof TApiResponseProfile;
value: string;
activeEdit: boolean;
onActionButtonClick: (testing: string) => void;
};
Can you guys/girls cam check if tsconfig or eslint have some bug?
Ty alot for your time
Weekly /r/Laravel Help Thread
Programing Coderfunda February 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]
Java Thread: Real world Application Example
Programing Coderfunda February 04, 2024 No comments
Consider the following scenario:
I have a list of integers. I need to print all the values from the list. Can it be done using threads concept where i have multiple threads running on each item in the list and where each thread is used to print out a value rather than one thread printing all the values? I am not trying to modify any value in the list.
03 February, 2024
"I'm running a cgo application in an Android environment, and it crashes at _cgo_topofstack. How can I troubleshoot this issue?"
Programing Coderfunda February 03, 2024 No comments
How can I troubleshoot this issue?"
signal 11 (SIGSEGV), code -6 (SI_TKILL), fault addr --------
r0 00000000 r1 000028f3 r2 0000000b r3 00000008
r4 00002829 r5 92589500 r6 92589548 r7 0000010c
r8 00000007 r9 f2dda124 r10 92589400 r11 bc3218ca
ip bf21e9cc sp eeb7fc00 lr bb39d2f8 pc bb3c07d8
backtrace:
#00 pc 0049a7d8 /data/app/~~RaMB3k_xm7v41sDHB5G52Q==/com.tencent.supercar-Qe2_Smo7BnMcTvBrMSmgRA==/lib/arm/libtskm.so
enter image description here
# ./arm-linux-androideabi-addr2line result:
_cgo_topofstack
??:?
Pyomo error: No value for uninitialized NumericValue object
Programing Coderfunda February 03, 2024 No comments
`# Import of the pyomo module
from pyomo.environ import *
# Creation of a Concrete Model
model = ConcreteModel()
## Define sets ##
# Sets
model.I = RangeSet(1, N, doc='Farms')
model.J = RangeSet(1, n_max, doc='Turbines')
model.T = RangeSet(1, T, doc='Time horizon')
model.T_minus_1 = RangeSet(1, T-1, doc='Time horizon up to T-1')
model.R = RangeSet(1, R, doc='Maintenance Crews')
## Define variables ##
# Variables
model.Xpm_ijt = Var(model.I, model.J, model.T, domain=Binary, doc='Binary variable for shipment decision')
model.Xcm_ijt = Var(model.I, model.J, model.T, domain=Binary, doc='Binary variable for shipment decision')
model.y_rt = Var(model.R, model.T, domain=Binary, doc='Binary variable for shipment decision')
model.z_rit = Var(model.R, model.I, model.T, domain=Binary, doc='Binary variable for shipment decision')
model.f_ijt = Var(model.I, model.J, model.T, domain=Binary, doc='Binary variable for shipment decision')
model.a_ijt = Var(model.I, model.J, model.T, domain=NonNegativeIntegers, bounds=(0, H*10), doc='Operating time of turbine j at farm i at time t')
#Constraints
#Constraint 1
def init_a_ijt_rule(model, i, j, t):
if t == 1 and i == 1:
if j == 1:
return 0
elif j == 2:
return 0
elif j == 3:
return 10
elif j == 4:
return 20
elif j == 5:
return 23
elif t == 1 and i == 2:
if j == 1:
return 12
elif j == 2:
return 20
elif j == 3:
return 34
else:
return 0
model.constraint_a_ijt = Var(model.I, model.J, model.T, initialize=init_a_ijt_rule, doc='Operating time of turbine j at farm i at time t')
#Constraint 2
def operating_time_rule(model, i, j, t):
if model.Xpm_ijt[i, j, t].value == 1 or model.Xcm_ijt[i, j, t].value == 1:
return model.a_ijt[i, j, t+1] == 0
else:
return model.a_ijt[i, j, t+1] == model.a_ijt[i, j, t] + 1
model.constraint_operating_time = Constraint(model.I, model.J, model.T_minus_1, rule=operating_time_rule)
#Constraint 3
def PM_rule(model, i, j, t):
if value(model.a_ijt[i, j, t]) = H:
return model.Xpm_ijt[i, j, t] == 0
else:
return Constraint.Skip
model.constraint_Xpm = Constraint(model.I, model.J, model.T, rule=PM_rule)`
Until the 3rd constraint everything runs fine but I get this error when I run the PM_rule:
ERROR: evaluating object as numeric value: a_ijt[1,1,1] (object: ) No value for uninitialized NumericValue object a_ijt[1,1,1] ERROR: Rule failed when generating expression for Constraint constraint_Xpm with index (1, 1, 1): ValueError: No value for uninitialized NumericValue object a_ijt[1,1,1] ERROR: Constructing component 'constraint_Xpm' from data=None failed: ValueError: No value for uninitialized NumericValue object a_ijt[1,1,1]
I'm a new Pyomo user, so any help is welcome ! Thank you :)
Transform a blurhash to grayscale
Programing Coderfunda February 03, 2024 No comments
I need it because I use blurhashes as image holders, but in a part of my application I need to display images in black and white. Thanks in advance
---
EDIT
I managed to arrive at a code like this. the problem is that the blurhashes seem stretched and deformed compared to the originals
const WIDTH = 30;
const ASPECT_RATIO = validationConfig.media.profilePicture.aspectRatio;
const HEIGHT = Math.floor(WIDTH / ASPECT_RATIO);
export function convertBlurhashToGreyscale(blurhash: string) {
const pixels = decode(blurhash, WIDTH, HEIGHT);
for (let i = 0; i < pixels.length; i += 4) {
const grayValue = Math.round(
(pixels[i] + pixels[i + 1] + pixels[i + 2]) / 3
);
pixels[i] = grayValue;
pixels[i + 1] = grayValue;
pixels[i + 2] = grayValue;
pixels[i + 3] = 255; // Imposta l'opacità a 255
}
const newHeight = Math.floor(WIDTH / ASPECT_RATIO);
return encode(pixels, WIDTH, newHeight, 4, 3);
}
Laravel Breeze with PrimeVue
Programing Coderfunda February 03, 2024 No comments
I'm considering abstracting this into a composer package, but decided to see if there was any interest in the idea first. Perhaps a PrimeReact version as well?
You check it out here:
https://github.com/connorabbas/primevue-auth-starter
Thanks! submitted by /u/DevDrJinx
[link] [comments]
add values to the array object key by clicking the button with this value react
Programing Coderfunda February 03, 2024 No comments
const [Fields, setFields] = useState([
{ value: null, current: true },
{ value: null, current: false }
]);
value - is the key I want to add values to when the button is clicked
current - these keys store the state of the selected field when the field is clicked on
const [Fields, setFields] = useState([
{ value: null, current: true },
{ value: null, current: false }
]);
const GetSymbol = (event) => {
const symbol = event.currentTarget.dataset.value;
return symbol;
}
const InsertSymbol = (curField) => {
curField = GetSymbol;
return curField;
}
GetSymbol(event)} data-value="A">A
GetSymbol(event)} data-value="B">B
GetSymbol(event)} data-value="C">C
{Fields.map((field, i) => {
return (
{
setFields((oldArr) => {
let newArr = oldArr.map((item, index) => {
return {
...item,
current: index === i ? true : false,
};
});
return newArr;
});
}}
>
InsertSymbol(field.value)
);
})}
if the key current is true in the current field, then you must populate the values in field.value for that field.
I.e. If you click on A and B buttons, the value of field.value will be AB.
In my code, the functions GetSymbol and InsertSymbol are incorrect.
Please help me with this!
02 February, 2024
How to target the Nth element in a webcomponent shadowDOM with CSS ::part()
Programing Coderfunda February 02, 2024 No comments
MathML's msqrt not tall enough for fraction
Programing Coderfunda February 02, 2024 No comments
A
B
But the results show the sqrt only over "A". I want it to be taller so it is over A and B.
I tried playing around with changing the css file, like margins and padding, but nothing seemed to work.
What's a better solution to tackle this problem - export / clone and restore for complex nested relations
Programing Coderfunda February 02, 2024 No comments
Allow me to summarize. Our company provides an architecture design tool that, to simplify, allows customers to create projects, which contain architectures, which contain elements, interfaces, which contain requirements, tests, which contain.. etc etc. Lots and lots of nested relations. A project, after a few months usage, can easily contain thousands of records spanning two dozen tables, representing one-to-one, one-to-many and many-to-many relationships.
Currently all tables use an auto-increment numerical ids.. your standard stuff. Most tables also contain a project_id table which itself is just an integer.
Enter feature #1. The ability to export your project with all of its nested relations. This was simply enough.. we just load our project and recursively load all of its relationships, and then we just dump that whole thing as an array to a json file. This saves a full copy of the project with all of its relations represented by the values of thousands of primary keys at the time of export. Easy.
Enter feature #2. The ability to clone the above extremely complex project. Currently, we export the above, and then we have this complex script that iterates over every level of relation from the json dump and creates a new copy of everything. As it's doing this, it's storing all the reference primary ids from the json dump, and creating a relation map of sorts that it then uses to re-attach all the relations but using the new ids that are being created thanks to the auto-increment ids of the new copies.
Read that again if you must.. this one is a bit of a nightmare, this is not a piece of code I am happy with right now and is the constant source of issues. Before I describe what I think is a better way.. let's talk about the last feature.
Enter feature #3, the ability to restore a previous import (you can also think of these imports as a versioning system but not just for a single model but for a huge project). When you restore a project, you're overwriting the existing project and you must end up with the full working project with its thousand nested relations.
In a way, both cloning and restoring results in the same project state, but in the former case you end up with two projects where the cloned project will of likely diverge from the original, and in the case of restoring you still only have just the one project. I haven't done the restore feature yet.
Keeping in mind that the same database houses hundreds of these complex projects.. and each table having tens of thousands of records with different numerical ids that belong to different projects.
So restoring a project with the current system.. for example taking a project which at the time of export had 1000 nested records and now the current project has 3000, but after restoring we need to be back to 1000 (as an example).. this operation is quite a tricky one when using auto incrementing ids.
So voila.. this is the problem I'm currently facing. And I was just thinking aloud tonight of how to do this in a much better way.. and I'd love to hear all your thoughts about it before I talk about my new idea.
Really appreciate your thoughts actually : ) I don't come to Reddit often for coding problems but this one is a bigger task that's been on my mind a lot.
Oh and btw of course I'm using Laravel 10 here.
The first thought I had is that this could be dealt with with a NoSQL approach. But I kind of dread NoSQL and no way do i want to suggest that we move away from MySQL to something like Mongo at this time so we must stick to using a relational DB. I also don't want to use a different DB for each project. I am already dealing with 40+tables and having hundreds of dbs to manage would be a big nope.
The second thought I had is: use composite primary keys everywhere. Each project has a unique hash for a primary key and then everything else that is attached to it has a primary key that makes use of the project's unique key. Ignoring the pains and caveats that come with using composite primary keys.. this appears to make everything waaaaay easier. The export feature is the same as before. Cloning just involves creating a new project hash and then replacing it everywhere before inserting every records as is.. no need to relink things it just works and we just need to change one key.
And same for restoring.. we just wipe absolutely every record that contains the project key that's being restored and then we just restore the dump as-is.
Am I missing something or is this a waaay better solution?
The caveats with composite keys is that it can be less performant when making queries and it requires a lot of refactoring. Sometimes dependencies don't play well with composite keys.
I can't really think of another approach at the moment. What do you think about the composite key approach?
if you read this far.. I hope you're finding this mildly interesting! Thank you for making it this far and thanks a lot should you decide to share your wisdom developer to developer ;-)
Kind regards! submitted by /u/spar_x
[link] [comments]