08 April, 2024
Releasing a Filament JSON viewer/editor plugin [feedback is welcome]
Programing Coderfunda April 08, 2024 No comments
Here's the link to the repo:
https://github.com/valentin-morice/filament-json-column
I was currently working on a project using Filament, and required a column to view and edit JSON data. I've found two plugins, jsoneditor and Pretty JSON, that would let me do either but not both at the same time, so I combined them.
If you'd feel like trying it, or have a look at the code, please do so. It's only my second package so I'd love to have some feedback. There's no testing since the plugin is mostly Alpine. Would you recommend doing some front-end testing using Dusk?
The future things I'm planning to work on:
- Blocking tab switching to viewer when JSON is invalid
- Moving from CDNs to npm
- Adding support for hints and other Filament methods submitted by /u/andre_ange_marcel
[link] [comments]
pandas/pyarrow ArrowTypeError: Unable to merge: Field on handcrafted partitioned parquet
Programing Coderfunda April 08, 2024 No comments
pd.read_parquet(r'C:\Datasets\cn_data\dm\qmt\wqa_mfeatures\30m\year=2020\month=11\data.parquet')
No error will be reported.
But when I read the directory:
pd.read_parquet(r'C:\Datasets\cn_data\dm\qmt\wqa_mfeatures\30m\year=2020')
An error will be reported
ArrowTypeError: Unable to merge: Field month has incompatible types: int32 vs dictionary
This is because I handcrafted this partitioned path.
It is important that I have to hand craft the partitioned path.
I have 5000 item need transform and write to df.to_parquet(path, partition_cols=['year', 'month']) , and yes it would not overwrite existing files.
* But if I only need rerun 300 item, it would preduce new files, I can't delete the data produce by last run.
* With time goes, I need rerun transform function on new dates(year,month), I need new data overwrite old data.
I just want to keep pd.read_parquet function working with handcraft paths, this can reduce many works on reimplement a similar stuff and refactor pd.read_parquet in many projects.
07 April, 2024
autocommit when using Spring BatchSqlUpdate
Programing Coderfunda April 07, 2024 No comments
If we switch to using Spring's BatchSqlUpdate do we need to somehow disable autocommit for this call to gain the full benefit? I read lots of posts about this but they all give examples with you are building your own queries and using your connection directly like this and many more: does my batch really execute as expected if autocommit is set to true?
But I can't find anyone talking about when doing it the "spring way". The connection will default to autocommit=true and that's good for all of our other methods. But now we have just a couple of batch ones and I don't see a method to set autocommit to false for a specific method/class.
I'll give more details, but does anyone know if we should disable autocommit for this (like it sounds from other posts) and if so how?
The details are we have this in the applicationContext.xml:
PROPAGATION_SUPPORTS
PROPAGATION_SUPPORTS
PROPAGATION_SUPPORTS
PROPAGATION_REQUIRED
and the datasource comes from wildfly standalone.xml. This all has been working great. Now we are working on using batch mode. Our sql update methods are like this (somewhat simplified)
protected class UpdateUserUpdate extends SqlUpdate {
public UpdateUserUpdate(DataSource ds) {
setDataSource(ds);
setSql("update whatever.. set value = ?")
declareParameter(new SqlParameter(Types.VARCHAR));
compile();
}
public int myupdate(String s) {
Object[] params = new Object[] { s };
return update(params);
}
}
And if we simply change the parent class to BatchSqlUpdate, it does work fine:
protected class UpdateUserUpdateBatch extends BatchSqlUpdate {
...copy as before but now add...
setBatchSize(1000);
}
And we do see some improvement. But would we see more if we can somehow disable the autocommit or is that even possible?
Or would it be faster to just create a method, feed it our array of entries, get a new connection from the datasource, and use PreparedStatement, like:
con = dataSource.getConnection();
con.setAutoCommit(false);
PreparedStatement pstmt = con.prepareStatement(sql);
do my add batch/executebatch in a 1000 loop...
pstmt.executeBatch();
con.commit();
con.setAutoCommit(false);
That is not the spring way but is it faster because I turned of autocommit or can you turn it of on BatchSqlUpdate?
Thank you!
zsh: bad CPU type in executable: node
Programing Coderfunda April 07, 2024 No comments
Weekly /r/Laravel Help Thread
Programing Coderfunda April 07, 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]
Laravel Forum 6.0 released
Programing Coderfunda April 07, 2024 No comments
I've spent the past few weeks working on a new major release of Laravel Forum. Highlights include:
* Laravel 11 support
* A new UI preset system (similar to Laravel's Starter Kits)
* A new Livewire-powered, Tailwind-styled UI preset supporting dark mode
You can find an up-to-date live demo here:
https://laravel-forum.teamteatime.net/
I also overhauled the site where the docs are hosted. You can find them here:
https://www.teamteatime.net/docs/laravel-forum/6.x/general/
Feel free to ask questions here, or if you encounter any bugs, please open an issue!
Thank you! submitted by /u/DevRiari
[link] [comments]
The IEDA software cannot run the Vue project, and the IDEA shows that no executable file was found in $PATH
Programing Coderfunda April 07, 2024 No comments
运行报127错
env: node: No such file or directory
进程已结束,退出代码为 127
enter image description here
enter image description here
问下各位大佬怎么解决
enter image description here
enter image description here
06 April, 2024
A website displays attachments(files) either as pdf, XMl (XRBL) . I want to see info in XRBL files the same way as i see pdf and not the actual text
Programing Coderfunda April 06, 2024 No comments
https://nsearchives.nseindia.com/corporate/xbrl/KANDARP_05042024142508_CLOSURE_TRADING_WINDOW_1081236_05042024022507_WEB.xml
I am trying to make a console.log but it does not work in my app
Programing Coderfunda April 06, 2024 No comments
The docker client must be run elevated to connect
Programing Coderfunda April 06, 2024 No comments
error during connect: Post
http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=h3q9gxeprezyco28agiqe9jp2&shmsize=0&t=node_curd_exe&target=&ulimits=null&version=1: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Anything else I can do ?
Detecting .NET8 with Inno Setup and InnoDependenciyInstaller
Programing Coderfunda April 06, 2024 No comments
Dependency_AddDotNet80
procedure Dependency_AddDotNet80;
begin
05 April, 2024
Not able to stream in Flutter, throwing Platform exception
Programing Coderfunda April 05, 2024 No comments
[Issue]: Encountering an Exception when streaming Time in Flutter. Error Message: 'PlatformException(failed_to_start_stream, java.lang.IllegalArgumentException: Only one audio stream is supported by FLV, null, null)'. This issue is a significant roadblock in our current project, rendering it unable to run. Seeking assistance from the community to resolve this critical issue. Any support in resolving this matter would be greatly appreciated
////creating live stream controller instance
ApiVideoLiveStreamController createLiveStreamController(
BuildContext context) {
return ApiVideoLiveStreamController(
initialAudioConfig: config.audio,
initialVideoConfig: config.video,
onConnectionSuccess: () {
log('Connection succeeded');
},
onConnectionFailed: (error) {
log('on error failed1: $error');
Utils.showCustomDialog(context, 'Connection failed',
"Something went wrong, Please try again later"
// error
);
if (isStreaming) {
manualStopButtonClicked(context);
} else {
setIsStreaming(false);
}
// if (mounted) {
// }
},
onDisconnection: () async {
log('on error failed:2 ');
// Utils.snackBar('Disconnected', context);
// if (mounted) {
if (isStreaming) {
manualStopButtonClicked(context);
} else {
setIsStreaming(false);
}
// }
},
onError: (error) {
log('on error failed:3 $error');
// Get error such as missing permission,...
Utils.showCustomDialog(
context, 'Error', 'Something went wrong, Please try again later');
// if (mounted) {
if (isStreaming) {
manualStopButtonClicked(context);
} else {
setIsStreaming(false);
}
// }
});
}
//initialize controller
await _controller.initialize().catchError((exception) {
Utils.snackBar('Something went wrong, Please try again Later', context);
});
This the code for start stream
void onStartStreamingButtonPressed(BuildContext context) async {
_isStreamingStarted = true;
await _controller.setAudioConfig(config.audio);
startStreaming().then((_) {
setIsStreaming(true);
_isStreamingStarted = false;
notifyListeners();
startTimer();
Utils.snackBar("Streaming Started..!", context);
}).catchError((error) {
_isStreamingStarted = false;
if (error is PlatformException) {
log("strat stream 1 $error");
;
Utils.showCustomDialog(context, "Error",
"Something went wrong in server side, Please try again Later");
} else {
log("strat stream 2 $error");
Utils.showCustomDialog(
context, "Error", "Something went wrong , Please try again Later");
}
});
notifyListeners();
}
Enabling authentication in swagger
Programing Coderfunda April 05, 2024 No comments
builder.Services.AddAuthorization();
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Scheme = "Bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Name = "Authorization",
Description = "Bearer Authentication with JWT Token",
Type = SecuritySchemeType.Http
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
},
new List()
}
});
});
var app = builder.Build();
app.UseAuthorization();
app.UseAuthentication();
......
Symfony custom field type with data transformer not working properly when in an embedded collection form
Programing Coderfunda April 05, 2024 No comments
Basically I have an app that is a database of all of my music/films/etc. Each item is stored in an entity called AVItem. For each of these items I can have zero or more tracks and I do this with a CollectionType. Within this embedded form/collection I have simple text fields and also a Collection of EntityType and they all work perfectly when submitting the main form; however, only the one field that uses my custom field type and transformer does not.
My custom field is for a "duration". In the database I save any lengths of time purely as an integer of seconds; however, I display it and want it entered as a string in the form [HH:]mm:ss. When displaying, the custom field and transformer works, it reads the number of seconds from the entity and then the "transform" method correctly displays that as HH:mm:ss. However, when I submit the main form and one of those tracks has something entered into it, when the "reverseTransform" method is called, the value it receives is always null!
However, in my main entity, where I also have a filled called "totalRunningTime" which also uses the same custom field type and transformer, the transform and reverseTransform always work perfectly.
This seems to be an issue purely within the Collection/embedded form.
Does anyone have an ideas?
Here are some code snippets.
This is my custom data transformer:
class TimeDurationTransformer implements DataTransformerInterface
{
private ?string $invalidMessage = null;
public function __construct( ?string $invalidMessage = null )
{
$this->invalidMessage = $invalidMessage;
}
/**
* Transform an integer (number of seconds) into a string of the form HH:mm:ss.
*
* @param mixed $value
* @return mixed
*/
public function transform( mixed $value ) : mixed
{
if ( ( null === $value ) || ( intval( $value ) == 0 ) ):
return null;
endif;
return sprintf( '%02d:%02d:%02d', ( $value/ 3600 ), ( $value / 60 % 60 ), ( $value% 60 ) );
}
/**
* Transform a string of the form HH:mm:ss into a number of seconds as an integer.
*
* @param mixed $value
* @return mixed
*/
public function reverseTransform( mixed $value ) : mixed
{
if ( ( null === $value ) || empty( $value ) || ( strlen( $value ) < 1 ) ) :
return null;
endif;
$matchResult = preg_match( pattern: '/^((\d{1,3}):)?(\d{1,2}):(\d{1,2})$/', subject: $value, matches: $matches, flags: PREG_UNMATCHED_AS_NULL );
// If the string entered does not match the pattern, throw an exception
if ( ( false === $matchResult) || ( 0 === $matchResult ) ) :
throw new TransformationFailedException( message: $this->invalidMessage, invalidMessage: $this->invalidMessage );
else:
if ( $matchResult === 1 && ( count( $matches ) == 5 ) ) :
if ( round( $matches[4] ) != null ):
return( round( $matches[4] ) + ( $matches[3] ? ( $matches[3] * 60 ) : 0 ) + ( $matches[3] ? ( $matches[2] * 3600 ) : 0 ) );
endif;
endif;
throw new TransformationFailedException( message: $this->invalidMessage, invalidMessage: $this->invalidMessage );
endif;
}
}
This is my custom field type:
class TimeDurationType extends AbstractType
{
private $translator;
public function __construct( TranslatorInterface $translator ) {
$this->translator = $translator;
}
public function buildForm( FormBuilderInterface $builder, array $options ) : void
{
$builder->addModelTransformer( new StuggiBearTimeDurationTransformer( invalidMessage: $options[ 'invalid_message' ] ) );
}
public function configureOptions( OptionsResolver $resolver ): void
{
$resolver->setDefaults( [
'data_class' => null,
'required' => false,
'constraints' => [
new PositiveOrZero(),
],
'invalid_message' => $this->translator->trans( 'message.assert.time_duration_format' ),
'attr' => [
'placeholer' => '',
],
] );
}
public function getParent(): string
{
return TextType::class;
}
}
Within my main form for my entity AVItem, I have one field that uses this custom field type - and it works fine:
public function buildForm( FormBuilderInterface $builder, array $options ): void
{
$this->editType = $options['edit_type'];
$this->isWishlistItem = $options[ 'isWishlistItem' ];
$builder
...
->add( 'totalRunningTime', TimeDurationType::class, [
'required' => false,
'label' => $this->translator->trans( 'form.field.label.total_running_time' ),
'label_html' => true,
'attr' => [
'placeholder' => 'HH:mm:ss',
],
'empty_data' => null,
] )
...
Within this form I then have the collection of Tracks:
$builder
...
->add( 'tracks', CollectionType::class, [
'label' => $this->translator->trans( 'form.field.label.tracks' ),
'label_html' => true,
'entry_type' => TrackEmbeddedFormType::class,
'entry_options' => [
'label' => false,
],
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'empty_data' => [],
] )
...
...and then the embedded form type for the tracks:
$builder
->add( 'seriesEpisodeNumber', null, [
'required' => false,
'label' => $this->translator->trans( 'form.field.label.atce_series_episode_number' ),
] )
->add( 'title', null, [
'required' => ( $this->editType == FormEditType::SEARCH ) ? false : true,
'label' => $this->translator->trans( 'form.field.label.atce_title' ),
'label_html' => true,
] )
->add( 'additionalArtistsActors', EntityType::class, [
'required' => false,
'label' => $this->translator->trans( 'form.field.label.atce_additional_artists_actors' ),
'mapped' => true,
'class' => PersonGroup::class,
'by_reference' => true,
'multiple' => true,
'expanded' => false,
'choices' => [],
] )
->add( 'comment', null, [
'required' => false,
'mapped' => true,
'label' => $this->translator->trans( 'form.field.label.atce_comment' ),
'label_html' => true,
] )
->add( 'trackChapterNumber', null, [
'required' => true,
'label' => $this->translator->trans( 'form.field.label.atce_number' ),
'label_html' => true,
] )
->add( 'duration', TimeDurationType::class, [
'required' => false,
'label' => $this->translator->trans( 'form.field.label.atce_duration' ),
'label_html' => true,
'attr' => [
'placeholder' => 'HH:mm:ss',
],
'empty_data' => null,
] );
...
So, as I mentioned, the field "totalRunningTime" works perfectly with the data transformer, converting between integer seconds and a HH:mm:ss string and back.
However, the "duration" field within my collection/embedded tracks form only works reading from the database (the "transform" function works), but when I go to submit the form, the "reverseTransform" function always receives null.
If I change this field to be one of the standard types such as TextType or the like, then the value from the field seems to get passed.
Any help would be greatly appreciated.
I need help beefing up my A/B testing package
Programing Coderfunda April 05, 2024 No comments
https://github.com/pivotalso/laravel-ab
Eventually I want to beef it up to back it with a SaaS, but I'd really like more laravel devs to test drive it so I can make sure large issues are handled.
I also plan on beefing it up into feature flagging/user flagging, but I want to make sure this package is useful before I dev it further.
There are examples on how to use it here
https://docs.pivotal.so/docs/ab/laravel/installation/
Please ignore images on the site, it's still all under development.
AND if you decide to try the reporting saas, ignore the payment stuff, I havent done payment and wont until I feel comfortable enough the project is worth something. submitted by /u/IAmRules
[link] [comments]
Firebase realtime rules - not working on child
Programing Coderfunda April 05, 2024 No comments
can't even get this started - returns permission denied
{
"rules": {
"forms": {
"$formid": {
".read": "true",
".write": "true"
}
}
}
}
ultimately I'd like to apply a rule like such
{
"rules": {
"forms": {
"$formid": {
".read": "auth.uid == data.child('userId').val()",
".write": "auth.uid != 'null'"
}
}
}
}
Data is formatted
forms
* $formId (eg -Nan39eo)
* userId
Console logging when rules are changed at the root to true returns that my authid is the same as the formId.userId
04 April, 2024
consume COM library from C# to rust
Programing Coderfunda April 04, 2024 No comments
I want to rewrite my project from C# to rust.
But I stuck in Segmentation Fault situation.
I think I misunderstood something, or meet crate limitation, hope for some help.
Rust Code
* find interface UUID
regedit capture
* find CLSID
regedit capture
* other id (I'm not sure shall we need it)
regedit capture
use windows::core::{GUID, HRESULT, IUnknown, IUnknown_Vtbl, interface};
use windows::Win32::System::Com::{
COINIT_APARTMENTTHREADED,
CLSCTX_ALL,
CoInitializeEx,
CoCreateInstance};
// define interface
#[interface("288EFDEC-3CF0-4F6C-8473-4E4CD47A93C7")]
unsafe trait Inhicshisx: IUnknown {
fn VPNGetRandomX(&self) -> HRESULT;
}
fn run() -> Result {
unsafe {
// 2F5AECD5-B5CD-41E1-8265-E2F6AA4548CB
const CLSID: GUID = GUID {
data1: 0x2F5AECD5,
data2: 0xB5CD,
data3: 0x41E1,
data4: [0x82, 0x65, 0xE2, 0xF6, 0xAA, 0x45, 0x48, 0xCB],
};
// initialize runtime
CoInitializeEx(Some(ptr::null_mut() as *mut c_void), COINIT_APARTMENTTHREADED)?;
// create COM object
let hisx: Inhicshisx = CoCreateInstance(&CLSID, None, CLSCTX_ALL)?;
// call object function
let value = hisx.VPNGetRandomX();
}
Ok(())
}
C# Part
* add a reference
regedit capture
* call function
using CSHISXLib;
string MyStr0;
CSHISXLib.Inhicshisx CSHISXLibObj = new CSHISXLib.nhicshisx();
MyStr0 = CSHISXLibObj.VPNGetRandomX();
Console.WriteLine(MyStr0);
* It works.
Update information
According to @IInspectable help, I can generate interface by oleview.exe tool.
* generated interface
[
odl,
uuid(288EFDEC-3CF0-4F6C-8473-4E4CD47A93C7),
helpstring("Inhicshisx Interface"),
dual,
oleautomation
]
interface Inhicshisx : IDispatch {
[id(0x00000001), helpstring("method VPNGetRandomX")]
HRESULT VPNGetRandomX([out, retval] BSTR* strRandom);
[id(0x00000002), helpstring("method VPNH_SignX")]
HRESULT VPNH_SignX(
[in] BSTR strRandom,
[in, optional, defaultvalue("")] BSTR strCardType,
[in, optional, defaultvalue("")] BSTR strServiceType,
[out, retval] BSTR* strRet);
}
* Rust code change
use windows::core::BSTR;
#[interface("288EFDEC-3CF0-4F6C-8473-4E4CD47A93C7")]
unsafe trait Inhicshisx: IDispatch {
fn VPNGetRandomX(&self) -> BSTR;
fn VPNH_SignX(&self, *mut BSTR, *mut BSTR, *mut BSTR) -> BSTR;
}
But it still cause Segmentation Fault, hope some advice 🙏
Check if value exists in enum in TypeScript
Programing Coderfunda April 04, 2024 No comments
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
The best way I found is by getting all Enum Values as an array and using indexOf on it. But the resulting code isn't very legible:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Is there a simpler way of doing this?
Why can I not see any of my points when adding them to my scene?
Programing Coderfunda April 04, 2024 No comments
I have tried everything I can to understand why no points are showing and am at a loss. I know it is something simple, but I cannot figure it out.
The points that should be added from the text file are
This is what it should look like when initially ran
This is what it actually looks like
I have corrected the mouse event so if I click in the upper left it will add points
Point.java
package application;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public final class Point implements Comparable {
private final double x;
private final double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public boolean isBelowAndLeftOf(Point other) {
return this.x
Laravel Gems - Response Macros 💎
Programing Coderfunda April 04, 2024 No comments
Running Laravel queue workers for smaller projects
Programing Coderfunda April 04, 2024 No comments
https://christalks.dev/post/running-laravels-queue-worker-using-a-cron-schedule-696b2e2e
Please do leave any comments, criticisms and constructive feedback! submitted by /u/chrispage1
[link] [comments]
03 April, 2024
Get absolute x,y of a child from the relative x,y of the parent
Programing Coderfunda April 03, 2024 No comments
HTML:
CSS:
body {
padding: 100px;
background: aqua;
}
.container {
position: relative;
padding: 0 !important;
touch-action: none;
-webkit-user-select: none;
user-select: none;
width: 400px;
height: 400px;
border: 2px solid black;
}
.wrapper {
position: relative;
z-index: 1;
width: 100%;
height: 100%;
padding: 0 !important;
overflow: hidden;
background-color: black;
}
.image {
position: relative;
max-width: none !important;
max-height: none !important;
pointer-events: none;
width: 100%;
height: 100%;
transform: translate(var(--translate-x, 0px), var(--translate-y, 0px)) scale(var(--scale, 0));
--scale: 2;
--translate-x: 170px;
--translate-y: -100px;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
background: red;
}
If you prefer, here is the JSFiddle link.
When I click on the parent (.wrapper element) I will get an x,y. Let's suppose I click on the top right corner (in the example it would be close to the dog's eye). The value I should get relative to this element is something close to (x: 300, y: 0).
However, if we consider the real image (which has dimensions 1000x500) we know that this click region (the dog's left eye) corresponds to x:505 and y:205 (approximately).
What I want is precisely that. From the 5 variables:
* X of the click (relative to parent)
* Y of the click (relative to parent);
* CSS attribute --scale;
* CSS attribute --translate-x;
* CSS attribute --translate-y;
Get the absolute x, y of the image (considering its real size).
Comments:
The image can be moved within the container. For this I am using the Zoomist plugin. It was the only plugin I found that did this behavior of being able to zoom and move the image within a container of a pre-fixed size.
If there is another solution (another plugin for example) that would be better for my purpose, it would be welcome. Basically it all comes down to being able to zoom and move an image within a region and when clicking on a region (that is part of the image) I get its real x,y.
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.plugin.core.PluginRegistry
Programing Coderfunda April 03, 2024 No comments
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.plugin.core.PluginRegistry
This is the error :
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.data.rest.core.support.UnwrappingRepositoryInvokerFactory.(UnwrappingRepositoryInvokerFactory.java:57)
The following method did not exist:
org.springframework.plugin.core.PluginRegistry.of(Ljava/util/List;)Lorg/springframework/plugin/core/PluginRegistry;
The method's class, org.springframework.plugin.core.PluginRegistry, is available from the following locations:
jar:file:/~/.m2/repository/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar!/org/springframework/plugin/core/PluginRegistry.class
It was loaded from the following location:
file:/~/.m2/repository/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.plugin.core.PluginRegistry
This is my pom.xml :
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.3.0.RELEASE
org.sid
SF-postpros
0.0.1-SNAPSHOT
SF-postpros
Demo project for Spring Boot
1.8
Hoxton.SR4
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-logging
com.h2database
h2
runtime
org.springframework.boot
spring-boot-starter-data-jpa
javax.validation
validation-api
2.0.1.Final
com.querydsl
querydsl-apt
com.querydsl
querydsl-jpa
com.querydsl
querydsl-core
org.springframework.plugin
spring-plugin-core
1.2.0.RELEASE
org.springframework.boot
spring-boot-starter-security
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-netflix-zuul
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.security
spring-security-test
test
org.junit.jupiter
junit-jupiter-engine
test
org.junit.platform
junit-platform-launcher
test
com.google.code.gson
gson
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.core
jackson-core
com.fasterxml.jackson.core
jackson-annotations
io.springfox
springfox-swagger-ui
2.9.2
io.springfox
springfox-swagger2
2.9.2
org.apache.commons
commons-lang3
org.springframework.boot
spring-boot-starter-log4j2
org.springframework.boot
spring-boot-starter-aop
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-data-rest
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-batch
commons-io
commons-io
2.6
org.springframework.boot
spring-boot-starter-websocket
org.webjars
sockjs-client
1.0.2
org.webjars
stomp-websocket
2.3.3
org.webjars
bootstrap
4.1.3
org.webjars
jquery
3.3.1-1
redis.clients
jedis
jar
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-mail
nz.net.ultraq.thymeleaf
thymeleaf-layout-dialect
org.projectlombok
lombok
1.18.4
provided
org.xhtmlrenderer
flying-saucer-pdf
9.1.4
org.apache.pdfbox
pdfbox
2.0.11
org.apache.pdfbox
pdfbox-tools
2.0.11
com.github.jai-imageio
jai-imageio-jpeg2000
1.3.0
net.sf.dozer
dozer
5.5.1
com.google.guava
guava
25.1-jre
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.boot
spring-boot-starter-logging
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
com.mysema.maven
apt-maven-plugin
1.1.3
process
target/generated-sources
com.querydsl.apt.jpa.JPAAnnotationProcessor
org.apache.maven.plugins
2.19.1
maven-surefire-plugin
**/*.class
org.junit.platform
junit-platform-surefire-provider
1.0.2
this is my SwaggerConfig.java :
package org.sid.SFpostpros.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Collections;
// TODO: Auto-generated Javadoc
/**
* The Class SwaggerConf.
*/
@Configuration
@EnableSwagger2
public class SwaggerConf implements WebMvcConfigurer {
/**
* Api.
*
* @return the docket
*/
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()).build().apiInfo(this.custInfo());
}
/**
* Cust info.
*
* @return the api info
*/
public ApiInfo custInfo() {
return new ApiInfo("Test", // Title
"Spring Boot Services", // Description
"1.0", // Version
"TOS", // Terms of Service
new Contact("Test", "Test.com", "test@test.com"), // Contact
"Test license", // License
"License", Collections.emptyList());
}
/**
* Adds the resource handlers.
*
* @param registry the registry
*/
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
Can someone help me because i tried so many things and nothing worked.
i am providing src to Image tag by array of object but it is showing blank page rather showing images . have i done anything wrong here?
Programing Coderfunda April 03, 2024 No comments
import Image from 'next/image'
import "./work.scss"
function Work() {
const workObject = [
{
path: "/work/1.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/2.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/3.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/4.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/6.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/7.webp",
desc:"Maccabi Tzair"
},
{
path: "/work/1.webp",
desc:"Maccabi Tzair"
},
]
return (
{workObject.map((obj) => {
})}
)
}
export default Work
i am providing src to Image tag by array of object but it is showing blank page rather showing images . have i done anything wrong here?please help i am trying it from an hour now
i am using next'js to build a image container it'll show on button clicked
Step-by-step guide to linking gnuplot to Octave within Virtual Studio Code (VSC)
Programing Coderfunda April 03, 2024 No comments
Now, there are different files with that name (here). In Windows 11 and Octave 8.3.0 keeps two files in here:
I tried opening them with Notepad, and inserting the phrase graphics_toolkit("gnuplot") at the end, but I haven't been able to later save the file in any form due to lack of admin privileges even in my own laptop at home and logging in as admin (going to cmd line and setting up an admin profile just for this with net user administrator /active:yes).
Unfortunately, the extensions for Octave in VSC do not have too many preference options to link to gnuplot.
I am not sure how to set up a new .octaverc file in the working directory. Would it be for each folder? Would it be a text file? Would I find the wd from inside VSC? Would it also have to have the . of hidden file in the name? Would it bear an extension, such as .txt?
So I am lost and wasting a ton of time on an issue that is probably easy to solve with some more detailed steps.
Best Authentication Practice for Next.js (app router) with Laravel API
Programing Coderfunda April 03, 2024 No comments
[link] [comments]
02 April, 2024
Add extensions to Laravel Herd without Homebrew
Programing Coderfunda April 02, 2024 No comments
Using Timeframe parameters Pinescript indicator
Programing Coderfunda April 02, 2024 No comments
I don't know what is the exact function to use and where into to code ?
Here is the code that I use :
//@version=5
indicator("Test Auto Fib Retracement", overlay=true)
devTooltip = "Deviation is a multiplier that affects how much the price should deviate from the previous pivot in order for the bar to become a new pivot."
depthTooltip = "The minimum number of bars that will be taken into account when calculating the indicator."
// pivots threshold
threshold_multiplier = input.float(title="Deviation", defval=3, minval=0, tooltip=devTooltip)
depth = input.int(title="Depth", defval=10, minval=2, tooltip=depthTooltip)
reverse = input(false, "Reverse", display = display.data_window)
var extendLeft = input(false, "Extend Left | Extend Right", inline = "Extend Lines")
var extendRight = input(true, "", inline = "Extend Lines")
var extending = extend.none
if extendLeft and extendRight
extending := extend.both
if extendLeft and not extendRight
extending := extend.left
if not extendLeft and extendRight
extending := extend.right
prices = input(false, "Show Prices", display = display.none)
levels = input(false, "Show Levels", inline = "Levels", display = display.none)
levelsFormat = input.string("Values", "", options = ["Values", "Percent"], inline = "Levels", display = display.none)
labelsPosition = input.string("Left", "Labels Position", options = ["Left", "Right"], display = display.none)
var int backgroundTransparency = input.int(85, "Background Transparency", minval = 0, maxval = 100, display = display.none)
import TradingView/ZigZag/7 as zigzag
update()=>
var settings = zigzag.Settings.new(threshold_multiplier, depth, color(na), false, false, false, false, "Absolute", true)
var zigzag.ZigZag zigZag = zigzag.newInstance(settings)
var zigzag.Pivot lastP = na
var float startPrice = na
var float height = na
settings.devThreshold := ta.atr(10) / close * 100 * threshold_multiplier
if zigZag.update()
lastP := zigZag.lastPivot()
if not na(lastP)
var line lineLast = na
if na(lineLast)
lineLast := line.new(lastP.start, lastP.end, xloc=xloc.bar_time, color=color.gray, width=1, style=line.style_dashed)
else
line.set_first_point(lineLast, lastP.start)
line.set_second_point(lineLast, lastP.end)
startPrice := reverse ? lastP.start.price : lastP.end.price
endPrice = reverse ? lastP.end.price : lastP.start.price
height := (startPrice > endPrice ? -1 : 1) * math.abs(startPrice - endPrice)
[lastP, startPrice, height]
[lastP, startPrice, height] = update()
_draw_line(price, col) =>
var id = line.new(lastP.start.time, lastP.start.price, time, price, xloc=xloc.bar_time, color=col, width=1, extend=extending)
line.set_xy1(id, lastP.start.time, price)
line.set_xy2(id, lastP.end.time, price)
id
_draw_label(price, txt, txtColor) =>
x = labelsPosition == "Left" ? lastP.start.time : not extendRight ? lastP.end.time : time
labelStyle = labelsPosition == "Left" ? label.style_label_right : label.style_label_left
align = labelsPosition == "Left" ? text.align_right : text.align_left
labelsAlignStrLeft = txt + '\n \n'
labelsAlignStrRight = ' ' + txt + '\n \n'
labelsAlignStr = labelsPosition == "Left" ? labelsAlignStrLeft : labelsAlignStrRight
var id = label.new(x=x, y=price, xloc=xloc.bar_time, text=labelsAlignStr, textcolor=txtColor, style=labelStyle, textalign=align, color=#00000000)
label.set_xy(id, x, price)
label.set_text(id, labelsAlignStr)
label.set_textcolor(id, txtColor)
_wrap(txt) =>
"(" + str.tostring(txt, format.mintick) + ")"
_label_txt(level, price) =>
l = levelsFormat == "Values" ? str.tostring(level) : str.tostring(level * 100) + "%"
(levels ? l : "") + (prices ? _wrap(price) : "")
_crossing_level(series float sr, series float r) =>
(r > sr and r < sr[1]) or (r < sr and r > sr[1])
processLevel(bool show, float value, color colorL, line lineIdOther) =>
float m = value
r = startPrice + height * m
crossed = _crossing_level(close, r)
if show and not na(lastP)
lineId = _draw_line(r, colorL)
_draw_label(r, _label_txt(m, r), colorL)
if crossed
alert("Autofib: " + syminfo.ticker + " crossing level " + str.tostring(value))
if not na(lineIdOther)
linefill.new(lineId, lineIdOther, color = color.new(colorL, backgroundTransparency))
lineId
else
lineIdOther
show_0 = input(true, "", inline = "Level0", display = display.data_window)
value_0 = input(0, "", inline = "Level0", display = display.data_window)
color_0 = input(#2862ff, "", inline = "Level0", display = display.data_window)
show_0_236 = input(false, "", inline = "Level0", display = display.data_window)
value_0_236 = input(0.236, "", inline = "Level0", display = display.data_window)
color_0_236 = input(#f44336, "", inline = "Level0", display = display.data_window)
show_0_382 = input(false, "", inline = "Level1", display = display.data_window)
value_0_382 = input(0.382, "", inline = "Level1", display = display.data_window)
color_0_382 = input(#81c784, "", inline = "Level1", display = display.data_window)
show_0_5 = input(true, "", inline = "Level1", display = display.data_window)
value_0_5 = input(0.5, "", inline = "Level1", display = display.data_window)
color_0_5 = input(#2862ff, "", inline = "Level1", display = display.data_window)
show_0_618 = input(true, "", inline = "Level2", display = display.data_window)
value_0_618 = input(0.618, "", inline = "Level2", display = display.data_window)
color_0_618 = input(#9698a1, "", inline = "Level2", display = display.data_window)
show_0_65 = input(false, "", inline = "Level2", display = display.data_window)
value_0_65 = input(0.65, "", inline = "Level2", display = display.data_window)
color_0_65 = input(#009688, "", inline = "Level2", display = display.data_window)
show_0_786 = input(true, "", inline = "Level3", display = display.data_window)
value_0_786 = input(0.786, "", inline = "Level3", display = display.data_window)
color_0_786 = input(#ff9800, "", inline = "Level3", display = display.data_window)
show_1 = input(true, "", inline = "Level3", display = display.data_window)
value_1 = input(1, "", inline = "Level3", display = display.data_window)
color_1 = input(#f23645, "", inline = "Level3", display = display.data_window)
show_1_272 = input(false, "", inline = "Level4", display = display.data_window)
value_1_272 = input(1.272, "", inline = "Level4", display = display.data_window)
color_1_272 = input(#81c784, "", inline = "Level4", display = display.data_window)
show_1_414 = input(false, "", inline = "Level4", display = display.data_window)
value_1_414 = input(1.414, "", inline = "Level4", display = display.data_window)
color_1_414 = input(#f44336, "", inline = "Level4", display = display.data_window)
show_1_618 = input(false, "", inline = "Level5", display = display.data_window)
value_1_618 = input(1.618, "", inline = "Level5", display = display.data_window)
color_1_618 = input(#2962ff, "", inline = "Level5", display = display.data_window)
show_1_65 = input(false, "", inline = "Level5", display = display.data_window)
value_1_65 = input(1.65, "", inline = "Level5", display = display.data_window)
color_1_65 = input(#2962ff, "", inline = "Level5", display = display.data_window)
show_2_618 = input(false, "", inline = "Level6", display = display.data_window)
value_2_618 = input(2.618, "", inline = "Level6", display = display.data_window)
color_2_618 = input(#f44336, "", inline = "Level6", display = display.data_window)
show_2_65 = input(false, "", inline = "Level6", display = display.data_window)
value_2_65 = input(2.65, "", inline = "Level6", display = display.data_window)
color_2_65 = input(#f44336, "", inline = "Level6", display = display.data_window)
show_3_618 = input(false, "", inline = "Level7", display = display.data_window)
value_3_618 = input(3.618, "", inline = "Level7", display = display.data_window)
color_3_618 = input(#9c27b0, "", inline = "Level7", display = display.data_window)
show_3_65 = input(false, "", inline = "Level7", display = display.data_window)
value_3_65 = input(3.65, "", inline = "Level7", display = display.data_window)
color_3_65 = input(#9c27b0, "", inline = "Level7", display = display.data_window)
show_4_236 = input(false, "", inline = "Level8", display = display.data_window)
value_4_236 = input(4.236, "", inline = "Level8", display = display.data_window)
color_4_236 = input(#e91e63, "", inline = "Level8", display = display.data_window)
show_4_618 = input(false, "", inline = "Level8", display = display.data_window)
value_4_618 = input(4.618, "", inline = "Level8", display = display.data_window)
color_4_618 = input(#81c784, "", inline = "Level8", display = display.data_window)
show_neg_0_236 = input(false, "", inline = "Level9", display = display.data_window)
value_neg_0_236 = input(-0.236, "", inline = "Level9", display = display.data_window)
color_neg_0_236 = input(#f44336, "", inline = "Level9", display = display.data_window)
show_neg_0_382 = input(false, "", inline = "Level9", display = display.data_window)
value_neg_0_382 = input(-0.382, "", inline = "Level9", display = display.data_window)
color_neg_0_382 = input(#81c784, "", inline = "Level9", display = display.data_window)
show_neg_0_618 = input(false, "", inline = "Level10", display = display.data_window)
value_neg_0_618 = input(-0.618, "", inline = "Level10", display = display.data_window)
color_neg_0_618 = input(#009688, "", inline = "Level10", display = display.data_window)
show_neg_0_65 = input(false, "", inline = "Level10", display = display.data_window)
value_neg_0_65 = input(-0.65, "", inline = "Level10", display = display.data_window)
color_neg_0_65 = input(#009688, "", inline = "Level10", display = display.data_window)
lineId0 = processLevel(show_neg_0_65, value_neg_0_65, color_neg_0_65, line(na))
lineId1 = processLevel(show_neg_0_618, value_neg_0_618, color_neg_0_618, lineId0)
lineId2 = processLevel(show_neg_0_382, value_neg_0_382, color_neg_0_382, lineId1)
lineId3 = processLevel(show_neg_0_236, value_neg_0_236, color_neg_0_236, lineId2)
lineId4 = processLevel(show_0, value_0, color_0, lineId3)
lineId5 = processLevel(show_0_236, value_0_236, color_0_236, lineId4)
lineId6 = processLevel(show_0_382, value_0_382, color_0_382, lineId5)
lineId7 = processLevel(show_0_5, value_0_5, color_0_5, lineId6)
lineId8 = processLevel(show_0_618, value_0_618, color_0_618, lineId7)
lineId9 = processLevel(show_0_65, value_0_65, color_0_65, lineId8)
lineId10 = processLevel(show_0_786, value_0_786, color_0_786, lineId9)
lineId11 = processLevel(show_1, value_1, color_1, lineId10)
lineId12 = processLevel(show_1_272, value_1_272, color_1_272, lineId11)
lineId13 = processLevel(show_1_414, value_1_414, color_1_414, lineId12)
lineId14 = processLevel(show_1_618, value_1_618, color_1_618, lineId13)
lineId15 = processLevel(show_1_65, value_1_65, color_1_65, lineId14)
lineId16 = processLevel(show_2_618, value_2_618, color_2_618, lineId15)
lineId17 = processLevel(show_2_65, value_2_65, color_2_65, lineId16)
lineId18 = processLevel(show_3_618, value_3_618, color_3_618, lineId17)
lineId19 = processLevel(show_3_65, value_3_65, color_3_65, lineId18)
lineId20 = processLevel(show_4_236, value_4_236, color_4_236, lineId19)
lineId21 = processLevel(show_4_618, value_4_618, color_4_618, lineId20)
I made this code, but I am not understanding how JavaScript is handling the swapping??? (I have seen this before in an article but didnt explain)
Programing Coderfunda April 02, 2024 No comments
I have never been able to find a clear article explanation of what arrays do behind the scenes when swapping numbers (I think this is a short way of replacing values, if im not wrong).
const swapNumbers = (numbers: number[]) => {
const swap = numbers.map((x: number, index: number) =>
index % 2 !== 0 ? numbers[index - 1] : index === numbers.length - 1 && numbers.length % 2 !== 0 ? numbers[index] : numbers[index + 1]);
console.log(swap);
};
swapNumbers([1, 2, 3, 4]);
swapNumbers([1, 2, 5, 6, 8]);
I want to understand what this is exactly doing (I want to understand the long way)... is this numbers[index + 1] (short way, which is placing the next number in line) the same as this (long way) numbers[index + 1] = numbers[index] or numbers[index + 1] = x?
What is the condition to be able to do this? (is it only in maps and other es6 functions? or can I use this in a regular for loop e.g. numbers[index - 1];?)