$category = Category::where('status',1)->orderBy('id','desc')->get();
what is the data type of column status ?
in mysql true/false is not supported and these are just simple string . instead datatype tinyint(1) with value 0 and 1 is used for boolean column.
For React (Web Frontend)
Includes login, signup, dashboard, and more.
Based on Material Design, highly customizable.
GitHub Search: "React free template"
React Native Elements Templates
Instamobile Templates (Some free ones)
GitHub Search: "Expo template"
This feature is now follow supported according to this post here:
You need Toolbox App 2.6.
https://blog.jetbrains.com/toolbox-app/2025/04/toolbox-app-2-6-is-here-with-remote-development-support/
I would suggest using the TabPanePro library. It provides special areas for adding any controls and, besides that, it solves all problems related to the tab menu button.
In my system Powershell 7.x and powershell 5.x was there. However, as per Microsoft Powershell docs, version 5.x is integrated with core components. hence, I uninstalled the powrshell 7.x. The build got succeeded
This issue is fixed now, basically 2 changes I had to do.
experimental: {
serverActions: {
allowedOrigins: [
'localhost:3000',
]
}
}
COPY --from=builder /app/next.config.ts ./
Actually your wrong im playing a android game and I run scripts in it all day, free resources, currency, accelerated farming and growth in games, and I happen to have it right here https://fluxus-team.net/ or this one is the one I use https://delta-executor.com/deltaexploit/ and this one's good too https://hydrogen.us.com/download/
So yes android has scripts that can be run in the background of any app or game without root, don't believe me I'll send a screen record of me doing so
Thank you fot letting me kick some knowledge
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 these are screen shots off a samsung galaxy s-21FE OF DELTA FLUXUS, AND HYDROGEN script executors |
what no it does not use ^ as excape
Check my repo https://github.com/Eric-Guo/coreui4-rails-starter, it's based on webpack 5 and core ui 4.
All, Thanks for your time and my apologies for the confusion. Turns out when I installed redis-cli it also installed redis-server on my windows 11 laptop which I was not aware off. I uninstalled the application and removed the task. I also deleted the folder itself from C:\Windows.
I then extracted the redis-cli.exe and along with the dlls and copied them to C:\windows\system32.
It is working as expected now.
I dont know why this cause because i ran it as admininstrator, And i manage to solve this by set my src file as a startup project
Project > set as startup project
# Set the limit to a higher value (e.g., 10000)
sys.set_int_max_str_digits(0)
# Or, to disable the limit entirely (use with caution)
# sys.set_int_max_str_digits(0)
# Now, perform your integer string conversion
large_number = 10**5000 # Example of a very large number
number_as_string = str(large_number)
from tkinter import*
a=Tk()
z=1
for x in range(1,171):
z=z*x
print(z)
z=(str(z))
n=Label(a,text=z)
n.place(x=50,y=50)
Sorry for not posting the direct answer. I was struggling with coding up lease-based-master-election strategy in python. But I think this strategy is used for High Availibility only. Like scenarios where if the master fails, then the incoming requests should be quickly forwarded to the slaves.
But the catch is even when the master fails until the time is reached for which the lease was taken the incoming requests will be forwarded to the same master. So it will not be available for that time.
What my proposed design is - Keeping two pods with two different statefulset, a master and a slave. They both will be kept consistent asynchronously. And in the application level logic we can backoff exponentially and say for every even retry we try the master and for odd retry we try the slave. We can make more slaves to get higher availibility and in this way the downtime will be decreased dramatically.
Please let me know your opinion on this design.
const arr1 = [10, 20, 30, 40, 50];
const res = arr1.at(2);
console.log(res);king
Mohamed
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
Hahaha
IsSoftDeleted is a provisioning engine virtual attribute, evaluated only at runtime during provisioning operations, currently as of me writing this post, there is still an Entra issue with the payload and attribute mapping to "Active". When it is sent to active it should be a Boolean (true / false) but currently Entra will send it to the remote platform as a string ("true" / "false"). Option one have the remote platform modify the Active field to accept strings, option 2 use the SCIM compatibility flag in your endpoint URL.
Try with these keywords "verb forms V1, V2, V3, V4 and V5"
Verb forms are the various ways verbs can be used to show tense, number, gender, voice, and mood. In English, there are five main verb forms: V1 (base form), V2 (past simple), V3 (past participle), V4 (present participle/gerund), and V5 (simple present third person).
here a list of 1000 verbs with their forms : https://asbatlibrary.s3.eu-central-1.amazonaws.com/5ced9f02-3ca8-4218-a660-e6608862a535-Verbs-Forms-Eng.pdf
https://www.learnenglishteam.com/500-english-verbs-list-v1-v2-v3-verb-forms/
there is an ebook "All english verb forms" I haven't read: https://www.fnac.com/livre-numerique/a20705114/Radoslaw-Wieckowski-All-English-Verb-Forms
or 2500 VERB FORMS IN ENGLISH Yendluri, Prabhudass & Yendluri, Prabhudass (v1 v2 v3 only)
Let's set the record straight here. Largely the x87 has not been changed in a long time and functions more as a slow legacy unit for long double computations and special cases. Even the trig functions have accuracy issues and dont meet the 0.5ulp of IEEE not to mention are horrendously slow. Its faster to use the vectorized units with scalars and tolerate 1ulp accuracy for better performance and SIMD possibility. So largely as the FPU is slow including the interface to load and store data into FPU registers, it simply became more convenient to let libraries switch to the new SSE and AVX.
Now also be careful of bad and misleading information in a post here. FMA for integers would change the precision. As there are sign, carry and overflow flags whose values would absolutely be different in a fused vs unfused scenario and emulating it would require extra instructions. One reason to be warry of advice from those not well versed in hardware.
Take an open source project which is written in your favorable backend language , Just search on GitHub about such projects with the language filter, Take CNCF landscape if you can't find projects . I hope it helps. Study how it is written , Improve the project by helping the maintainers , Learn from them and in no time you will become habituated with the best practices
I wasn't getting anywhere no matter what I tried off the suggestions above. Then I upgraded to the latest Android Studio (Narwhal 2025) and the problem went away.
Yes, You can check this website. there are lots of code formatter available here with additional features.
If you just need a quick check with big values, HexCalculator.org handles arbitrary-length hex arithmetic.
https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+log/refs/heads/master/clang-r428724/
<Https://Linux-master-of what>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.9/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<lINK href="style.css" rel="stylesheet" type="text/css">
<nav>
<a href="adventures.html"> Vietnam</a><br>
<a href="madagascar.html"> Madagascar</a><br>
<a href="Contact us.html"> Contact us </a><br>
</nav>
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
Thank you all for your suggestions!
I finally solved the problem by removing the resize mask and implementing the zoom functionality myself.
I had actually tried this approach before, but initially encountered issues with the zoom functionality becoming unavailable. This led me to explore alternative solutions, such as handling WM_HITTEST and returning HT_CLIENT similar to how it's done in Windows. However, I couldn't find a viable solution using this method.
This worked for me. Enabled select policy on storage.buckets and it fixed the error.
Hj÷2/_7,-!•|€{7}《8°¿5ser.javr5d=@%5cf.A;
Es muy bueno y tambien me encanta ver el telefono en la tv
A little late but for anyone still needing this what worked for me was:
Right click on solution explorer -> Properties -> C/C++ -> General -> Additional Include Directories -> and add your (python/INCLUDE folder) C:\Users\USERNAME\AppData\Local\Programs\Python\Python313\include
The pyvenv.cfg file in my Python virtual environment was forcing an old path that no longer exists. Deleting the file fixed my problem. Modifying the path in this file would probably work too.
PS C:\tyyyy> pip install mediapipe==0.10.9
ERROR: Could not find a version that satisfies the requirement mediapipe==0.10.9 (from versions: 0.10.13, 0.10.14, 0.10.18, 0.10.20, 0.10.21)
ERROR: No matching distribution found for mediapipe==0.10.9
did you solve this? im having the same issue with nextjs
I have finally found a solution, thanks to https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1get_message_thread_history.html
It is explained both in the API and in the code below what each parameter does, in my case I put this in a while loop, I iterate the messages I get and save the ID of the last message I have processed, then in a new iteration of the while loop I get another batch of message from the last message I iterate, so until I get to iterate all the messages of that topic, in case I get a batch of messages and it comes empty is as easy as exiting the while loop.
resp = self.client.call_method(
'getMessageThreadHistory',
params={
'chat_id': group_id, # your group id
'message_id': message_id, # topic id
'from_message_id': last_id, # last message you iterated
'offset': 0, # 0 is fine if we want to iterate from last message
'limit': 100 # the limit imposed by Telegram is 100, it makes no difference whether you set it or not.
}
)
try using allow-private-response-caching = true
https://learn.microsoft.com/pt-br/azure/api-management/cache-lookup-policy
A bit late to the show but we worked hard to get RichFaces upgraded. We tend to merge our updates to https://github.com/albfernandez/richfaces/tree/jakarta.
I'm using it in production and I did not notice weird things for already a couple of months.
Why is this happening ?
Most likely your EC2 instances in the private subnets can't talk to the ECS control plane
If this is the case then why do they allow selecting only the private subnets to launch the instances in when they only work in public subnets?
Best practice suggests deploying your EC2 instances in private subnets. You just need to make sure they have a route to the ECS control plane.
If i want the instances to run in private subnets, then will NAT gateway work ?
Yes, if you're happy with your traffic traversing the public internet, and assuming that security groups and NACLs allow the traffic, this will work. Alternatively deploy VPC endpoints.
Is there a way to debug why an instance failed to register with ECS ?
VPC flow logs should show either traffic getting blocked by security groups or NACLs, and should show accepted outbound traffic with no corresponding inbound if the SGs and NACLs allow traffic but there's just no route. I'd expect ECS agent logs to also show errors.
The fact that Qt does not implement a direct method to generate QIODevice-like signals for stdin implies that doing so is difficult or impossible.
The problem with using a separate QThread in the child to generate signals by blocking on sys.stdin.readline() is getting that QThread to exit. QThread.terminate() does not terminate that QThread until a line of input is received. All related answers ignore this problem.
I was able to workaround this by having the parent process feeding the child's stdin send "exit\n", and have the child's stdin-reading QThread detect that line and call its QThread.exit().
You could a tool like LogDog
This allows to capture all logs and network requests from your app wirelessly.
I needs to be integrated once and then captures everything you need to reproduce.
If you no longer need the logs it is possible to turn off the SDK remotely (no code changes or a new build required)
Can help to catch these annoying bugs that only happen on users devices but never on developer machines :)
Note: I build LogDog exactly for these use cases.
NS-3 does not have built-in RPL (Routing Protocol for Low-Power and Lossy Networks) support. The ns3/rpl-helper.h file doesn't exist in the standard NS-3 distribution.
What's Available:
No Official RPL Module - The main NS-3 repository doesn't include RPL implementation
Third-Party Implementations - You need to find and integrate external RPL modules
Solutions:
Use NS-3 with Contiki Integration:
Use NS-3 with Contiki OS simulation
Contiki has native RPL support
This requires more complex setup but gives you real RPL behavior
So there's sdiff
. It doesn't apply patches, but it does allow you to compare files and selectively pick which changes should be merged. If you use patch
to apply the path then sdiff
to compare the patched files with the original and then copy the output over the original this is what you want.
Yes, Microsoft TTS SDK does support Arabic text-to-speech, especially through the Azure Cognitive Services Speech API. The newer neural TTS voices for Arabic (Modern Standard Arabic and a few regional variations) are much better than the older SAPI-based voices.
That said, one thing to watch out for is that Microsoft’s Arabic voices often pronounce full case endings (i‘rāb) even in simple phrases like “مساء الخير,” which can sound overly formal for many applications — especially in language learning or user-facing interfaces.
If you’re looking for a more natural and modern Arabic TTS solution, I recommend checking out Soutrise. It’s a web-based tool that uses newer AI voice models for Arabic (MSA and more) and outputs realistic speech without the stiffness you sometimes get from cloud TTS services. You can generate MP3 files directly and use them in your VB app or any other tool.
It’s especially useful if you just want fast, high-quality Arabic speech without diving deep into APIs.
After more research, I've realized that returning a direct output string fundamentally goes against how SK is designed. SK is intended to call any necessary functions as needed (sometimes multiple functions), and pull that information together for it's output.
For the use case I mentioned, it's better to use agents, and ask the first agent which function to call. Then You can execute that method manually by calling a switch-statement or similar.
I do still wish SK had a setting to only do the method selection and return the exact output string, but it seems like it's almost an entirely different product.
In my case I had two diferent versions of sharp:
├─┬ @bam.tech/[email protected]
│ └── [email protected]
└─┬ [email protected]
└── [email protected]
So I made an uninstall from "@bam.tech/[email protected]" and it works!
If you're looking to save WhatsApp messages into Google Sheets automatically, especially for use cases like capturing sender number, message content, and timestamp in real time, there's an alternative to building and maintaining a full Meta API integration yourself.
WASheet is a lightweight Chrome Extension that allows you to:
💬 Capture WhatsApp Business messages in real-time.
📥 Automatically store them into Google Sheets without needing the Meta API or custom backend.
🧾 Save essential fields like sender’s number, message content, timestamp, address, and more with just a click.
🛠️ No coding or API setup required just install and connect your Google Sheet once.
This might be a faster and simpler solution, especially if you're not bound to Meta’s Business API or if your use case doesn't require advanced automation logic.
However, if you still want to go the Meta API + Laravel route, you'd need:
A webhook listener in Laravel to receive WhatsApp messages from Meta API.
A Google Sheets integration (like Google Sheets API or Zapier/Make).
Logic to map and insert message details into the desired sheet.
But if you'd rather skip all that and just need something that works out of the box, WASheet could be exactly what you're looking for.
🔗 Visit WASheet.com – Free plan available to try!
Thanks for the help. After banging my head against janus.Queue
and running into the same event loop binding errors no matter how I structured it, I decided to scrap the whole threaded approach.
Here’s the problem in short: janus.Queue
is tightly bound to the event loop it was created in. Even if you create it inside the correct thread's loop and try to pass the reference around, as soon as you await queue.async_.put()
or .get()
in a different thread with a different loop, it blows up with RuntimeError: bound to a different event loop
. That made it a nightmare to coordinate multiple threads, each with their own event loop — especially when I had to pass queues between four separate threads.
I actually managed to get it working for a bit by carefully initializing each queue inside the correct thread and using .sync
on one side and .async_
on the other, depending on the direction of communication. But once I needed to pass another queue across threads (e.g., worker → entry → order monitor), the complexity started snowballing. At that point, the whole thing became too brittle and hard to maintain.
So I switched to using AnyIO and went fully async — no threads at all. Everything now runs as cleanly isolated tasks inside a single event loop using TaskGroup
, and communication is dead simple using AnyIO’s native queues. No more event loop headaches, no more threading edge cases.
Appreciate the suggestion about culsans
— looks promising and probably would’ve solved the issue technically, but going all-in on async with AnyIO ended up being the cleaner, more scalable solution in my case.
Assuming the SubID number you want to find the day value for is in a cell such as D1 then the formula could be: =IFERROR(AGGREGATE(15,6,B2:B5/(A2:A5=D1)/(C2:C5="Charge"),1),AGGREGATE(14,6,B2:B5/(A2:A5=D1)/(C2:C5<>"Charge"),1))
Use :
var hash = window.location.hash;
var hash = hash.replace('#', '');
then the variable "hash" has the hash without "#"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Banking | Admin & User Dashboard</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {background: #f7faff; font-family: 'Segoe UI', Arial, sans-serif; margin:0;}
.navbar {width: 100%; background: #2266cc; color: #fff; display: flex; align-items: center; height: 60px; box-shadow: 0 2px 10px #c0d6ff3d; margin-bottom: 32px;}
.navbar-logo {display: flex; align-items: center; margin-left: 22px;}
.navbar-logo svg {width: 38px; height: 38px; margin-right: 12px;}
.navbar-title { font-size: 1.68em; font-weight: bold; letter-spacing: 0.5px;}
.centered {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;}
.box {background:#fff;box-shadow:0 2px 16px rgba(0,0,0,0.07);border-radius:14px;padding:38px 28px;max-width:410px;width:98%;margin:22px 0;}
h1,h2,h3 {color:#2266cc;}
.input {width:98%;padding:11px 9px;border:1.5px solid #bbb;border-radius:7px;margin-bottom:15px;font-size:1.05em;}
.btn {padding: 10px 25px; background: #2266cc; color: #fff; border: none; border-radius: 6px; font-size: 1.08em; cursor: pointer; font-weight: 500;}
.btn:hover {background: #1652a0;}
.link {color:#2266cc;cursor:pointer;text-decoration:underline;}
.hide {display:none;}
.user-table, .admin-table {width:100%;border-collapse:collapse;margin:18px 0;}
.user-table th, .user-table td, .admin-table th, .admin-table td {border:1px solid #bbb;padding:9px 6px;text-align:center;}
.user-table th, .admin-table th {background:#e3eefd;}
.profile-card {background: #e3eefd; border-radius: 13px; padding: 19px 14px 15px 14px; margin-bottom: 18px; text-align: center; color: #174b93; box-shadow: 0 0 8px #dbe5ff50;}
.profile-card .avatar {width:54px;height:54px;border-radius:50%;background:#fff;border:2.5px solid #2266cc;display:inline-block;margin-bottom:7px;}
.profile-card .avatar span {font-size: 2.3em; color: #2266cc; line-height: 54px; font-weight: bold;display:inline-block;width:100%;text-align:center;}
.profile-info {font-size:1.17em;margin:2px 0;}
.profile-username {font-size:1.04em;color:#325;}
.bank-info {background: #f9f9ff; border-radius: 11px; padding: 13px 14px; margin-top: 8px;margin-bottom:13px; font-size: 1.09em; color: #2266cc; box-shadow: 0 0 0.5px #b8b8e4;}
.bank-info span.label {color:#444;font-size:1.01em;font-weight:bold;}
.bal {font-size:2.2em;color:#21734e;margin-bottom:7px;}
.pending-bal {color:#a60101;font-size:1em;}
.withdraw-btn {background:#ffb300;}
.withdraw-btn:hover {background:#c68600;}
.approve-btn {background:#43cea2;}
.approve-btn:hover {background:#13795b;}
.block-btn {background:#e74c3c;color:#fff;}
.block-btn:hover {background:#a60101;}
.unblock-btn {background:#43cea2;color:#fff;}
.unblock-btn:hover {background:#13795b;}
.success {background:#d1ffd6;color:#136a43;border-radius:8px;margin:10px 0;padding:10px 6px;}
.error {background:#ffd7d7;color:#a60101;border-radius:8px;margin:10px 0;padding:10px 6px;}
.admin-link {position:fixed;top:8px;right:22px;}
.admin-panel-tabs {display:flex;gap:20px;justify-content:center;margin-bottom:18px;}
.admin-tab-btn {padding:10px 30px;border-radius:6px;border:none;font-size:1.07em;cursor:pointer;background:#e3eefd;}
.admin-tab-btn.active {background:#2266cc;color:#fff;}
.login-history-list {max-height:120px;overflow-y:auto;font-size:1em;text-align:left;margin:0 0 10px 0;}
.login-history-list li {margin-bottom:3px;}
.time-footer {margin: 30px auto 18px auto; text-align: center; color: #555; font-size: 1.09em; background: #e3eefd; border-radius: 7px; padding: 6px 20px; width: fit-content;}
@media (max-width: 650px) {.box{padding:10vw 2vw;}.navbar-title {font-size: 1.25em;}.navbar-logo svg {width: 30px; height: 30px;}}
</style>
</head>
<body>
<!-- Navbar -->
<div class="navbar">
\<div class="navbar-logo"\>
\<svg viewBox="0 0 48 48" fill="none"\>\<ellipse cx="24" cy="13" rx="18" ry="7" fill="#fff" stroke="#1652a0" stroke-width="2"/\>\<rect x="8" y="20" width="32" height="16" rx="3" fill="#e3eefd" stroke="#1652a0" stroke-width="2"/\>\<rect x="15" y="28" width="6" height="8" rx="1.5" fill="#2266cc" /\>\<rect x="27" y="28" width="6" height="8" rx="1.5" fill="#2266cc" /\>\<rect x="21" y="28" width="6" height="8" rx="1.5" fill="#43cea2" /\>\<rect x="21" y="20" width="6" height="4" rx="1.2" fill="#ffb300" /\>\</svg\>
\<span class="navbar-title"\>My Banking\</span\>
\</div\>
</div>
<!-- AUTH -->
<div class="centered" id="authView">
<div class="box">
\<h2 id="authTitle"\>Login\</h2\>
\<div id="authError" class="error hide"\>\</div\>
\<input id="authName" class="input hide" placeholder="Full Name" autocomplete="name" /\>
\<input id="authNumber" class="input hide" placeholder="Mobile Number" autocomplete="tel" /\>
\<input id="authUser" class="input" placeholder="Username" autocomplete="username" /\>
\<input id="authPass" class="input" type="password" placeholder="Password" autocomplete="current-password" /\>
\<button class="btn" onclick="login()"\>Login\</button\>
\<div style="margin-top:9px;"\>
\<span id="toSignup" class="link" onclick="showSignup()"\>Create Account\</span\>
\<span id="toLogin" class="link hide" onclick="showLogin()"\>Login\</span\>
\</div\>
\<div class="link admin-link" onclick="showAdminLogin()" style="font-size:1em;"\>Admin?\</div\>
</div>
</div>
<!-- USER DASHBOARD -->
<div class="centered hide" id="userView">
<div class="box" style="max-width:430px;">
\<div class="profile-card"\>
\<div class="avatar"\>\<span id="profileAvatar"\>\</span\>\</div\>
\<div class="profile-info" id="profileName"\>\</div\>
\<div class="profile-info" id="profileNumber"\>\</div\>
\<div class="profile-username" id="profileUsername"\>\</div\>
\</div\>
\<div class="bank-info"\>
\<div\>\<span class="label"\>Account No:\</span\> \<span id="bankAccountNo"\>\</span\>\</div\>
\<div\>\<span class="label"\>Last Transaction:\</span\> \<span id="lastTrans"\>\</span\>\</div\>
\<div\>\<span class="label"\>Status:\</span\> \<span id="accStatus"\>\</span\>\</div\>
\</div\>
\<div style="margin-bottom:7px;"\>Your Balance:\</div\>
\<div class="bal" id="userBalance"\>\</div\>
\<div class="pending-bal" id="userPendingBal"\>\</div\>
\<button class="btn withdraw-btn" onclick="showWithdrawForm()"\>Withdraw/Transfer\</button\>
\<button class="btn" onclick="logout()" style="float:right;margin-top:10px;"\>Logout\</button\>
\<h3 style="margin-top:30px;"\>Withdraw/Transfer History\</h3\>
\<table class="user-table" id="userTransTable"\>
\<tr\>\<th\>Date\</th\>\<th\>Amount\</th\>\<th\>Method\</th\>\<th\>Status\</th\>\</tr\>
\</table\>
</div>
<div class="box hide" id="withdrawFormBox" style="max-width:400px;">
\<h3\>Withdraw/Transfer\</h3\>
\<div id="withdrawError" class="error hide"\>\</div\>
\<input id="withdrawAmount" class="input" type="number" placeholder="Amount" min="1" /\>
\<div class="radio-group" style="margin-bottom:14px;"\>
\<label\>\<input type="radio" name="method" value="bank" checked onchange="toggleMethodFields()"\> Bank Account\</label\>
\<label\>\<input type="radio" name="method" value="bkash" onchange="toggleMethodFields()"\> Bkash Number\</label\>
\<label\>\<input type="radio" name="method" value="mobile" onchange="toggleMethodFields()"\> Mobile Recharge\</label\>
\</div\>
\<form class="card-form" onsubmit="submitWithdraw(event)"\>
\<input id="bankField" class="input" placeholder="Bank Account Number" /\>
\<input id="bkashField" class="input hide" placeholder="Bkash Number" /\>
\<input id="mobileField" class="input hide" placeholder="Mobile Recharge Number" /\>
\<button class="btn approve-btn" type="submit"\>Submit\</button\>
\<button class="btn" type="button" onclick="hideWithdrawForm()" style="background:#bbb;color:#222;"\>Close\</button\>
\</form\>
</div>
<div class="success hide" id="withdrawSuccessMsg">Your request has been received. You will get payment within 12-24 hours.</div>
</div>
<!-- ADMIN PANEL -->
<div class="centered hide" id="adminView">
<div class="box" style="max-width:900px;">
\<h2\>Admin Panel\</h2\>
\<button class="btn" onclick="adminLogout()" style="float:right;"\>Logout\</button\>
\<div class="admin-panel-tabs"\>
\<button class="admin-tab-btn active" id="tab-users" onclick="showAdminTab('users')"\>User List\</button\>
\<button class="admin-tab-btn" id="tab-withdraws" onclick="showAdminTab('withdraws')"\>Withdraw History\</button\>
\<button class="admin-tab-btn" id="tab-logins" onclick="showAdminTab('logins')"\>Login History\</button\>
\</div\>
\<div id="adminTabUsers"\>
\<h3\>User Balance & Control\</h3\>
\<table class="admin-table" id="adminUserTable"\>
\<tr\>\<th\>Username\</th\>\<th\>Name\</th\>\<th\>Mobile\</th\>\<th\>Balance\</th\>\<th\>Adjust\</th\>\<th\>Status\</th\>\<th\>Action\</th\>\</tr\>
\</table\>
\</div\>
\<div id="adminTabWithdraws" class="hide"\>
\<h3\>Withdraw/Transfer Requests\</h3\>
\<table class="admin-table" id="adminReqTable"\>
\<tr\>\<th\>Date\</th\>\<th\>User\</th\>\<th\>Amount\</th\>\<th\>Method\</th\>\<th\>Details\</th\>\<th\>Status\</th\>\<th\>Action\</th\>\</tr\>
\</table\>
\</div\>
\<div id="adminTabLogins" class="hide"\>
\<h3\>User Login History\</h3\>
\<ul class="login-history-list" id="adminLoginHistory"\>\</ul\>
\</div\>
</div>
</div>
<div class="time-footer" id="liveTime"></div>
<script>
// Persistent LocalStorage System
function getUsers() {
let data = localStorage.getItem("bankUsersEn");
if (data) return JSON.parse(data);
// Only your 4 new users
let users = [
{username: 'monir', name: 'MD Monir Hossain', number: '+96879086974', password: '9999', balance: 510000, trans: \[\], bank: '1002001', status: 'Active', blocked: false},
{username: 'ariful', name: 'MD Ariful Biswas', number: '+966507500491', password: '9999', balance: 510000, trans: \[\], bank: '1002002', status: 'Active', blocked: false},
{username: 'shopon', name: 'MD Shopon Miah', number: '+96893454132', password: '9999', balance: 510000, trans: \[\], bank: '1002003', status: 'Active', blocked: false},
{username: 'suvanath', name: 'Suvanath Chowdhury', number: '+96630606886', password: '9999', balance: 510000, trans: \[\], bank: '1002004', status: 'Active', blocked: false}
];
localStorage.setItem("bankUsersEn", JSON.stringify(users));
return users;
}
function saveUsers(users) {
localStorage.setItem("bankUsersEn", JSON.stringify(users));
}
function getWithdraws() {
let data = localStorage.getItem("bankWithdrawsEn");
if (data) return JSON.parse(data);
localStorage.setItem("bankWithdrawsEn", "[]");
return [];
}
function saveWithdraws(withdraws) {
localStorage.setItem("bankWithdrawsEn", JSON.stringify(withdraws));
}
function getLoginHistory() {
let data = localStorage.getItem("bankLoginHistoryEn");
if (data) return JSON.parse(data);
localStorage.setItem("bankLoginHistoryEn", "[]");
return [];
}
function saveLoginHistory(loginHistory) {
localStorage.setItem("bankLoginHistoryEn", JSON.stringify(loginHistory));
}
let users = getUsers();
let withdraws = getWithdraws();
let loginHistory = getLoginHistory();
let currentUser = null, isAdmin=false;
function updateAllData() {
saveUsers(users);
saveWithdraws(withdraws);
saveLoginHistory(loginHistory);
}
/* ---------- AUTH ---------- */
function showSignup(){
document.getElementById('authTitle').innerText = 'Create Account';
document.getElementById('toSignup').classList.add('hide');
document.getElementById('toLogin').classList.remove('hide');
document.querySelector('#authView button').innerText = 'Sign Up';
document.getElementById('authError').classList.add('hide');
document.getElementById('authName').classList.remove('hide');
document.getElementById('authNumber').classList.remove('hide');
document.getElementById('authUser').placeholder = 'Username';
document.getElementById('authUser').value = '';
document.getElementById('authPass').value = '';
document.getElementById('authName').value = '';
document.getElementById('authNumber').value = '';
document.querySelector('#authView button').onclick = signup;
}
function showLogin(){
document.getElementById('authTitle').innerText = 'Login';
document.getElementById('toSignup').classList.remove('hide');
document.getElementById('toLogin').classList.add('hide');
document.querySelector('#authView button').innerText = 'Login';
document.getElementById('authError').classList.add('hide');
document.getElementById('authName').classList.add('hide');
document.getElementById('authNumber').classList.add('hide');
document.getElementById('authUser').placeholder = 'Username';
document.getElementById('authUser').value = '';
document.getElementById('authPass').value = '';
document.querySelector('#authView button').onclick = login;
}
function showAdminLogin(){
isAdmin=true;
document.getElementById('authTitle').innerText = 'Admin Login';
document.getElementById('toSignup').classList.add('hide');
document.getElementById('toLogin').classList.remove('hide');
document.querySelector('#authView button').innerText = 'Login';
document.getElementById('authError').classList.add('hide');
document.getElementById('authName').classList.add('hide');
document.getElementById('authNumber').classList.add('hide');
document.getElementById('authUser').placeholder = 'Admin Username';
document.getElementById('authUser').value = '';
document.getElementById('authPass').value = '';
document.querySelector('#authView button').onclick = adminLogin;
}
function login(){
let username = document.getElementById('authUser').value.trim();
let password = document.getElementById('authPass').value;
let user = users.find(u=>u.username===username && u.password===password);
if(user){
if(user.blocked){
document.getElementById('authError').innerText = 'Your account is blocked!';
document.getElementById('authError').classList.remove('hide');
return;
}
currentUser = user; isAdmin=false;
document.getElementById('authView').classList.add('hide');
document.getElementById('userView').classList.remove('hide');
renderUserProfile();
loadUserData();
addLoginHistory(user.username, user.name);
saveLoginHistory(loginHistory);
}else{
document.getElementById('authError').innerText = 'Invalid username or password!';
document.getElementById('authError').classList.remove('hide');
}
}
function signup(){
let name = document.getElementById('authName').value.trim();
let number = document.getElementById('authNumber').value.trim();
let username = document.getElementById('authUser').value.trim();
let password = document.getElementById('authPass').value;
if(!name || !number || !username || !password){
document.getElementById('authError').innerText = 'Please fill all fields!';
document.getElementById('authError').classList.remove('hide');
return;
}
if(users.find(u=>u.username===username)){
document.getElementById('authError').innerText = 'This username already exists!';
document.getElementById('authError').classList.remove('hide');
return;
}
let bankNo = Math.floor(Math.random()*9000000+1000000).toString();
let user = {username,name,number,password,balance:510000,trans:[], bank:bankNo, status:'Active', blocked:false};
users.push(user);
currentUser = user; isAdmin=false;
updateAllData();
document.getElementById('authView').classList.add('hide');
document.getElementById('userView').classList.remove('hide');
renderUserProfile();
loadUserData();
addLoginHistory(user.username, user.name);
saveLoginHistory(loginHistory);
}
function adminLogin(){
let username = document.getElementById('authUser').value.trim();
let password = document.getElementById('authPass').value;
if(username==='admin' && password==='admin'){
currentUser=null;isAdmin=true;
document.getElementById('authView').classList.add('hide');
document.getElementById('adminView').classList.remove('hide');
showAdminTab('users');
loadAdminData();
}else{
document.getElementById('authError').innerText = 'Admin username or password incorrect!';
document.getElementById('authError').classList.remove('hide');
}
}
function logout(){
currentUser=null;
document.getElementById('userView').classList.add('hide');
document.getElementById('authView').classList.remove('hide');
showLogin();
}
function adminLogout(){
isAdmin=false;
document.getElementById('adminView').classList.add('hide');
document.getElementById('authView').classList.remove('hide');
showLogin();
}
function addLoginHistory(username, name){
let now = new Date();
let ts = now.getFullYear()+'-'+String(now.getMonth()+1).padStart(2,'0')+'-'+String(now.getDate()).padStart(2,'0')
+' '+String(now.getHours()).padStart(2,'0')+':'+String(now.getMinutes()).padStart(2,'0')+':'+String(now.getSeconds()).padStart(2,'0');
loginHistory.unshift({username, name, ts});
}
/* ---------- USER DASHBOARD ---------- */
function renderUserProfile(){
document.getElementById('profileAvatar').innerText = currentUser.name?currentUser.name[0].toUpperCase():"U";
document.getElementById('profileName').innerHTML = "<b>Name:</b> "+currentUser.name;
document.getElementById('profileNumber').innerHTML = "<b>Mobile:</b> "+currentUser.number;
document.getElementById('profileUsername').innerHTML = "<b>Username:</b> "+currentUser.username;
document.getElementById('bankAccountNo').innerText = currentUser.bank || "Not set";
document.getElementById('accStatus').innerText = currentUser.status || "Active";
let last = withdraws.filter(w=>w.user===currentUser.username).slice(-1)[0];
document.getElementById('lastTrans').innerText = last ? (last.date+" - "+last.amount+" TK") : "N/A";
}
function loadUserData(){
let bal = currentUser.balance;
let pending = withdraws.filter(w=>w.user===currentUser.username && w.status==='pending').reduce((t,w)=>t+w.amount,0);
document.getElementById('userBalance').innerText = (bal-pending) + ' TK';
document.getElementById('userPendingBal').innerText = pending>0 ? `(Pending: ${pending} TK)` : "";
let table = document.getElementById('userTransTable');
table.innerHTML = '<tr><th>Date</th><th>Amount</th><th>Method</th><th>Status</th></tr>';
withdraws.filter(w=>w.user===currentUser.username)
.forEach(w=\>{
table.innerHTML += \`\<tr\>
\<td\>${w.date}\</td\>
\<td\>${w.amount}\</td\>
\<td\>${methodLabel(w.method)}\</td\>
\<td\>${w.status==='pending'?'Processing':w.status==='approved'?'Completed':'Rejected'}\</td\>
\</tr\>\`;
});
}
function showWithdrawForm(){
document.getElementById('withdrawFormBox').classList.remove('hide');
document.getElementById('withdrawError').classList.add('hide');
document.getElementById('withdrawAmount').value = '';
document.getElementById('bankField').value = '';
document.getElementById('bkashField').value = '';
document.getElementById('mobileField').value = '';
document.getElementById('withdrawSuccessMsg').classList.add('hide');
document.querySelector('input[name="method"][value="bank"]').checked = true;
toggleMethodFields();
}
function hideWithdrawForm(){document.getElementById('withdrawFormBox').classList.add('hide');}
function toggleMethodFields(){
let method = document.querySelector('input[name="method"]:checked').value;
document.getElementById('bankField').classList.toggle('hide', method!=='bank');
document.getElementById('bkashField').classList.toggle('hide', method!=='bkash');
document.getElementById('mobileField').classList.toggle('hide', method!=='mobile');
}
function methodLabel(method){
if(method==='bank') return 'Bank Account';
if(method==='bkash') return 'Bkash Number';
if(method==='mobile') return 'Mobile Recharge';
return method;
}
function submitWithdraw(e){
e.preventDefault();
let amount = parseInt(document.getElementB
This:
Ctrl + Alt + left_arrow
If you have multiple split screens, hit the above to get rid of them.
It's quite annoying when you accidentally split the screen, but more so when there's no obvious way to get rid of it! Perhaps there needs to be a split down button next to the split screen button to make it easier.
Until then, the above works a treat. Conversely, Ctrl + Alt + right_arrow if you want to split.
If you already installed .NET SDK, you can run
dotnet repl
then, you can write your
Console.WriteLine("Hello world");
I solved this problem by rendering the IconComponent page using ViewContainerRef
What you are referring to is a REPL.
A read–eval–print loop (REPL), ...is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user.
You can check out CSharpRepl on GitHub.
Source:
It's a late answer, but worth typing, JetBrains Resharper does this effectively with many more features.
In flutter sdk directory delete the cache folder it works
The problem is that the Material3 Scaffold component has had a mandatory parameter change (since Material3 version 1.2.0+). In Compose Material3, as of version 1.2.0, there is now a mandatory content parameter that now takes an argument of type (PaddingValues) -> Unit. It passes the internal screen padding to be taken into account.
Solving my problem using FirstScreen as an example:
@Composable
fun FirstScreen(onNavigate: () -> Unit) {
Scaffold { innerPadding ->
Column(
modifier = Modifier
.fillMaxSize()
.padding(innerPadding) // IMPORTANT: add this line !
.padding(16.dp),
verticalArrangement = Arrangement.Center
) {
Text(text = "Это первый экран")
Spacer(modifier = Modifier.height(16.dp))
Button(onClick = onNavigate) {
Text("Перейти на второй экран")
}
}
}
}
I had been looking for a solution for 2 whole days, and after trying literally everything (apart from this one setting), I had to go to Vercel > Project Settings > Build and Deployment Tab > Framework Settings and changed it from 'Other' to 'Next.js'. This FINALLY fixed it for me.
Trio randomizes the order of execution using the random module to avoid user assumptions about the scheduling strategy. This is described in python-trio/trio#32 and it has a place in the code. One benefit is that if new scheduling strategies are added, the existing code will not be broken.
In contrast, asyncio has a deterministic execution order. It uses collections.deque
to manage a list of callbacks (resuming a task is a callback) and handles them in FIFO order. Callbacks scheduled for later execution are stored in a priority queue via the heapq module and added to the same deque when they are ready.
Note that asyncio guarantees the observed order of execution, but Trio does not.
Just Press fn + F12
on your keyboard and you will be able to see inspect elements. And if right click is disabled then too fn + F12
will work.
With the help in this post, I finally found out that legend.key.spacing=unit(1,'cm')
does exactly what I was looking for:
my_plot + guide_area() + my_plot +
plot_layout(guides='collect') +
theme(legend.key.spacing=unit(1,'cm'))
res.writeHead(200, {"Refresh": "0, url=/some.html"});
res.end();
im getting same error how did you fix it can you share ? thanks.
Have only lurked on here so far, but I ran into the same issue and I went all the way into cloud dev console to make myself a unrestricted key to finally figure out that I just needed to give the API key name as
GOOGLE_API_KEY='Your API key'
According to Wikipedia, the mathematical name for this property (well, for this property multiplied by 4π) is the isoperimetric quotient of the shape, and it's often used as a compactness measure.
Since array have duplicate numbers, so we can only use each element once, we need to make sure we dont have repeated combination multiple times
candidate = [1, 1, 2], target = 3
Without skipping duplicate result could be
[1,2] (from first 1)
[1,2] (from second 1) ← duplicate!
We only want one [1,2].
so by sorting array duplicate numbers are next to each other, so it makes easier to skip them by using below condition
if (i > index && candidates[i] == candidates[i - 1]) continue;
1. Qual seu nick no MTA?
R:
2. Qual sua idade?
R:
3. Tem microfone e disponibilidade para entrevista?
R:
4. Já participou de outra corporação? Qual?
R:
5. Por que quer entrar para o CHOQUE?
R:
6. De 0 a 10, quanto entende de Roleplay?
R:
7. Horários disponíveis para jogar?
R:
8. qual seu Sexo?
R:
👮🏽♂️ OBRIGADO POR REALIZAR NOSSO FORMULARIO, aguarde a um supervisor visualizar 👮🏽♂️
No I'm a 75 year old male living in Baltimore Maryland all my family lives out of town and I still don't know how to enter a call on my Android could you please help me
Restart Count: 5
Limits:
cpu: 3
memory: 8
Requests:
cpu: 2
memory: 6
Liveness: exec [bas
This is the issue. These values for memory are too low, it has to be 6Gi.
I have integrated JavaMelody monitoring in Tomcat 11+, and it is working. However, inline JavaScript inside .jsp
pages is not executing. How can I resolve this?
Figured this out using :- https://github.com/Azure-Samples/azure-search-python-samples/blob/main/Tutorial-RAG/Tutorial-rag.ipynb. Simple enough!
As of now, by default, homebrew installs make as gmake. (https://formulae.brew.sh/formula/make)
GNU "make" has been installed as "gmake". If you need to use it as "make", you can add a "gnubin" directory to your PATH from your bashrc like: PATH="$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$PATH"
Ok now Claude says this isn’t allowed. At least it found me an article on how to do it.
Haven’t tried this yet but this is the post. https://guillermodlpa.com/blog/how-to-make-dynamic-large-sitemaps-with-next-js-and-next-sitemap
If I am in main dir /web-app, I have there other dirs like /src which stores env files. If I while in /web-app and mkdir -p webapp/WEB-INF && cp -r dist/* webapp/ && touch webapp/WEB-INF/web.xml && cd webapp && jar -cvf ../web-app.war *,
it will not fetch the environment file in /src dir necessary for communication with backend pod which are one dir above in the main git dir. Pls have a look on: https://github.com/openMF/web-app#
I had the same problem with my website 2p.ma I just asked a freelance devlopper who find how fix easily hope you did as well.
First of all, thank you for the feedback and I apologize for perhaps not being as clear as I could have been nor giving as much information as I should have. Indeed, the critical fault lied in the requested source file. Originally the .txt file looked something like this:
555555555555553333333333333333310100000000000000000111000001333333333333333333334333343
When coming up with the method I naïvely just copied what was given to me rather than fully understanding what was going on. Even a surface level understanding of strtok()
would have likely prevented this simple mistake. strtok()
's second input is a delimiter which the function needs to properly separate the string of chars into ints, after all how would it know if the first number was 5 or 5555? Now knowing this I edited the file to look more like this:
5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 4 3
Now, strtok(lineBuffer, " ")
properly separates and stores the numbers as individual integers rather than one enormously long number which I believe is what was happening.
Now, as far as I'm aware everything is working as intended with that fix to the file. However--and maybe this is a question for a separate post--Many commented or at least illuded against using fgets()
as a method to read a file. Initially why I chose this was so that I could perhaps store multiple arrays in one file instead of needing a separate file I could just choose which line to read in one file. I was thinking this might make things cleaner, but if this can be achieved just as well and with better reliability using a different method, I'd be open to it.
// === File: MainActivity.java === package com.hinata.app;
import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient;
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
// Ganti URL ini dengan link web Hinata kamu
webView.loadUrl("https://hinata-app.vercel.app");
setContentView(webView);
}
}
// === File: AndroidManifest.xml ===
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:label="Hinata"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
// === File: build.gradle (optional if needed) === // AIDE tidak wajib pakai gradle, tapi ini contoh isi dasarnya apply plugin: 'com.android.application'
android { compileSdkVersion 30 defaultConfig { applicationId "com.hinata.app" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false } } }
dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' }
Restart your computer and the problem should go away.
In my case i have recreated the maven project with correct archetype like org.apache.maven.archetype -quickstart-1.0 or 1.1
Quite honestly, JOIN and JSON_ARRAYAGG are exactly what you need to get the data you want from multiple tables with the result as a JSON object. Find a good reference and dig in. It can be fun to learn this stuff! Maybe start here: https://www.tutorialspoint.com/mysql/index.htm
You can check software like HelpRange for example. They can block screenshots for documents.
Well, the two more or less independent components will be the GUI on one hand and the "engine" on the other hand. You could combine both in a single prorgram/code base, but maybe it would be a good idea to split them up into independent components that could communicate through the standard CECP = chess engine communication protocol: see here for the description on the chessprogramming wiki and here for the GNU specification. Among other advantages, you could then use a preexistent version of the other part to test, while you are developing one of the two components.
You might probably use python-chess in both parts, since it allows graphical output as well as move generation. However, I think an engine relying on the move generation of python-chess might be slow, I don't think that library is optimized in any way for fast move generation.
Also, you'd need another component as for example pygame or more specicically Tkinter or Kivy, Pygame, Pyglet, PyGObject, PyQt, PySide, wxPython, ... for adding interactivity, i.e., mainly, dealing with mouse and/or touchscreen and possibly keyboard input events.
If you do it in B's ViewModel, you can also add loading + retry if failed views to B.
I had a similar problem, in my case I exported useParams
from react-router
instead of react-router-dom
. I got no errors, just empty object for params. Took me some time to figure out where the problem was.
Interesting, the dates of the posts here.
According to the Embarcadero quality portal, https://quality.embarcadero.com/browse/RSP-30073
the issue was fixed with "10.4 Sydney Release 1" on 3rd Sep 2020.
(And btw also broken with 12.3, fixed in April 2025 patch https://blogs.embarcadero.com/rad-studio-12-3-april-patch-available/ )
I made an algorythm that uses the probability distribution. And while technically O(n), it is simply always slower than quick sort. That is because at low amounts of n it simply has a bigger constant multiplier and at higher n's it has the same issue as counting sort since it can't use the cache like quick sort, so each memory access becomes slower the higher a cache level it uses. That and the fact that it realistically never gets better than O(nlog(log(n))) is why it is simply not good.
No if you do so whatapp buisiness may ban you
I was having a build error on ~51, just like @dchhetri. What solved it for me was:
edit "expo-build-properties" on app.json as he stated
also added withTargetSdk35
changed compileSdkVersion: 34
# Create this file at the root of your project
# metaSpace4GB.js
const { withGradleProperties } = require('expo/config-plugins');
function setGradlePropertiesValue(config, key, value) {
return withGradleProperties(config, exportedConfig => {
const keyIdx = exportedConfig.modResults.findIndex(
item => item.type === 'property' && item.key === key,
);
if (keyIdx >= 0) {
exportedConfig.modResults.splice(keyIdx, 1, {
type: 'property',
key,
value,
});
} else {
exportedConfig.modResults.push({
type: 'property',
key,
value,
});
}
return exportedConfig;
});
}
module.exports = function withCustomPlugin(config) {
config = setGradlePropertiesValue(
config,
'org.gradle.jvmargs',
'-Xmx4096m -XX:MaxMetaspaceSize=1024m',
);
return config;
};
Add the plugin to the app json:
...
"plugins": [
"./metaSpace4GB",
...
...
And that allowed me to build, my app is already on review by google with target SDK 35
arguments.callee was previously used for recursive function calls, but is now completely banned in ES5 and ES6+ hard mode for security and improved coding.
vuchev and l they are pizza and for that and they zoop xoop/
The X Plugin introduces another connection protocol (listening on port 33060) as an alternative to the mysql connections typical of port 3306. Having first discovered the existence of mysql's port 33060 using network monitoring tools, that much seemed practically self evident. So, it can be slightly frustrating to start reading documents that explain port 33060, per se, because they explain "X Plugin" as if you knew you wanted it, already. These don't explain what features would require the second protocol (i.e. "why?"). Fortunately, that is elsewhere in Mysql docs, on the page for "Document Store."
Excerpts from that page:
To use MySQL as a document store, you use the following server features:
X Plugin enables MySQL Server to communicate with clients using X Protocol, which is a prerequisite for using MySQL as a document store. X Plugin is enabled by default in MySQL Server as of MySQL 9.3. [...]
X Protocol supports both CRUD and SQL operations, authentication via SASL, allows streaming (pipelining) of commands and is extensible on the protocol and the message layer. [...]
Clients [...] using X Protocol can use X DevAPI to develop applications. X DevAPI offers a modern programming interface [...]
The issue is likely with how your frontend .war
file is structured — from your jar tf
output, it lacks a WEB-INF/
directory, which is required for Open Liberty to recognize it as a valid web application. Without it, Liberty defaults to its welcome page, which is why you're only seeing the logo or a 404. To fix it, create a WEB-INF/
folder, add a minimal web.xml
(even empty), and repackage the WAR like this: mkdir -p webapp/WEB-INF && cp -r dist/* webapp/ && touch webapp/WEB-INF/web.xml && cd webapp && jar -cvf ../web-app.war *
. Then, make sure your server.xml
in Liberty sets the correct contextRoot
(e.g., /
or /WebApp
) and that your OpenShift route points to the right service and port (usually 9080
). Your backend .war
looks fine, so once the frontend is structured properly, it should start displaying correctly.
Your architecture looks solid.
I would make sure to have small validations such as file size and type. Perhaps some optimisation on the server side for images deserves sone attention. Other than that make sure you use short live urls.
That’s about all I can think of, though I’m sure there are some more things to think about here
I just want to confirm my undetstanding about what you said, does it mean usually we don't need to use sequelize migration in the beginning of development ?? like we only use it when we want to change a column name or something in the database.
I believe I've exhausted this and the only solution I can find is to use the .alertURL property to open a Safari browser and display the full alert text along with the required source attribution. Not an elegant solution but it does provide complete coverage of the weather alert(s).
if fileURL.startAccessingSecurityScopedResource() {
// put your code here
}
fileURL.stopAccessingSecurityScopedResource()
That's a bit particular question: short answer is no, but you can mitigate the problem.
There is no strict way to identify a "temp" mail from a "regular" one because, in a tecnical way, both types are valid email adresses. The same apply to phone numbers.
You can, though, resort to the answer for almost every scurity related question, i.e. validate and whitelist. This approach would mitigate the problem by creating a new one: which domain do you want to be able to register in your application?
By doing so you could only accept certain domains that you trust or, you could do the opposite by denying domains that you know to be part of a disposable mail domain. Either way it's not a definitive answer, simply because there will always be domains that you haven't whitelisted (or blacklisted) and those will occur only when a random user using that domain will approach your application (realistically speaking, you cannot manually check every domain in the internet).
On the Atlas home page, go to Network access settings, then add your IP address. If it is already there and not working, then change it to 0.0.0.0/0
It will allow you to connect to the database from anywhere. Now go to Database Access and change your password.
I tried many steps, but in the end, the above-given steps worked.
i am facing this same problem and my terminal says its on 8000 as i said at env but not working
#installed games
games = [
'Soccer', 'Tic Tac Toe', 'Snake',
'Puzzle', 'Rally']
#taking player's choice as a number input
choice = int(input())
if choice <= len(games) - 1 and choice >= 0:
print(games[choice])
else:
print('Index Error')
Checkout:
https://github.com/software-mansion/react-native-reanimated/issues/6872
https://docs.swmansion.com/react-native-reanimated/docs/guides/building-on-windows/
Specifically, bumping the ninja version helped me, as specified by https://github.com/software-mansion/react-native-reanimated/issues/6872#issuecomment-2612775221