You probably need to paste a snippet of your controller; that would help to better understand that what could be wrong
I was missing this interactive rendering as I am using server side rendering
@rendermode InteractiveServer
That's a very specific and challenging requirement for iOS automation!
Unfortunately, due to the tight security sandbox Apple enforces, there is no direct, public, or officially supported way for Appium/WebdriverIO (or any other standard automation framework) to programmatically toggle Airplane Mode or Mobile Data settings on a non-jailbroken physical iOS device or even a standard iOS Simulator.
To help you, please provide the following:
The list of key documents you are referring to.
The specific problem or situation you are trying to address. Knowing the context (e.g., applying for a loan, filing taxes, submitting a project proposal) will help determine if any documents are missing or if the current ones are sufficient.
You read the documentation of whatever you use
I sure do love reading “Microservices: The Docs” or “How to Build an Extremely Niche Feature That You Can Barely Describe: The Wiki.”
All jokes aside, I prefer to look for trends and see what people actually use for what problems.
Docs can explain how to do things and sometimes why, but they rarely offer the kind of wisdom that matters in real problem solving, which what engineering is imo, for example, why people building low latency, high throughput services choose X language and Y framework.
I use ClickHouse because of a very specific requirement, and I didn’t discover it by reading its docs. I found it by reading the experiences of people who use it. Blogs and forums are good; rabbit holes are even better.
If you previously ran:
export GOOGLE_GENAI_USE_VERTEXAI=true
in your current terminal session, you do need to unset this environment variable when switching to Google AI Studio’s API (non-Vertex AI). Otherwise, the SDK will keep working in Vertex AI mode.
Use the instruction-tuned model as your base:
base_model = "google/gemma-3-270m-it"
it_model = "google/gemma-3-270m-it"
Once training + inference use the same chat template, the repetition stops.
I was working in a personal Spring Boot based Starter that I think would fits with your scenario.
i have issue with telegram connecting to google GAS. I get infinite loop of good reply from GAS into my telegram group. Debugging looks good with no issues. GAS deployed as webapp. Passing single parameter from telegram:
https://api.telegram.org/bot1234567890......./setWebhook?url=https://script.google.com/macros/s/1234567890................/exec?community=PARM12345
https://api.telegram.org/bot123456...../getWebhookInfo shows:
{
"ok": true,
"result": {
"url": "https://script.google.com/macros/s/123456......./exec?community=GINDI",
"has_custom_certificate": false,
"pending_update_count": 1,
"last_error_date": 1764588546,
"last_error_message": "Wrong response from the webhook: 302 Moved Temporarily",
"max_connections": 40,
"ip_address": "100.200.700.500"
}
}
Did not configure any google APIs, ot the configuration.
function doPost(e) {
const finalResponse = ContentService.createTextOutput('{}').setMimeType(ContentService.MimeType.JSON);
if (!e || !e.postData || !e.postData.contents) {
// ❗ prevents Telegram from retrying
return finalResponse;
}
// Initialize services
let update = null;
try {
update = JSON.parse(e.postData.contents);
} catch (err) {
//Logger.log("Invalid JSON update, ignored.");
return finalResponse;
}
if (update.message?.from?.is_bot) {
//Logger.log("Ignored bot-originated message to prevent loop.");
return finalResponse;
}
const messageText = update.message?.text;
if (!messageText || typeof messageText !== "string") {
//Logger.log("Ignored non-text message.");
return finalResponse;
}
const trimmed = messageText.trim();
if (!trimmed.startsWith("#")) {
//Logger.log(`Skipping: Not a command or text missing. Exiting.`);
return finalResponse;
}
const cache = CacheService.getScriptCache();
const updateId = update.update_id?.toString();
if (updateId) {
if (cache.get(updateId)) {
Logger.log("Duplicate update detected → ignored.");
return finalResponse;
}
cache.put(updateId, "1", 30);
}
const lock = LockService.getScriptLock();
if (!lock.tryLock(500)) {
Logger.log("Lock busy → ignored safely.");
return finalResponse;
}
try {
let config = getScriptPropsFallback(); // Load service default config
// --- CORE BUSINESS LOGIC STARTS HERE ---
config.communityName = e.parameter?.community || "";
config.chatId = update.message?.chat?.id;
config.userId = update.message?.from?.id;
config.message_id = update.message?.message_id;
config.messageText =trimmed;
// MAIN COMMAND DISPATCH
config = Fun1(config);
Func2(config);
} catch (err) {
Logger.log(`doPost (Webhook Entry) CRASHED on update ${updateId}:`, err);
try {
sendReply(update.message.chat.id, update.message.message_id, "❌ System error. Admin notified.", getScriptPropsFallback());
} catch (e2) {}
} finally {
try { lock.releaseLock(); } catch (e) {}
}
return finalResponse;
}
any help is welcomed. please reply to [email protected]
You probably forgot to add dagger as a dependency to the gradle file of your module.
If you are using the latest Flutter version, then there is one major issue currently open related to resizeToAvoidBottomInset broken on Android. Keyboard breaks layout. So, you can track and get the workaround for the issue.
https://github.com/flutter/flutter/issues/175074#issuecomment-3571987010
@jcalz Yeah, I hand wrote the code, so it's wrong, but you got the right point. And also the issue you posted is also what answers my question. Thanks!
You may need to change it.
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0-milestone-1-bin.zip
in
gradle-wrapper.properties
You could use a label tag and show text in Spanish. When the text in the label tag is clicked, it refers to a hidden button whose value is in English. The submit button is hidden using CSS. Below is a simple example:
There is a parameter called scrollAlignment in the Showcase widget that controls where the widget should be positioned after scrolling.
The default value is 0.5, which means the showcased widget will scroll to the center of the screen.
If you want the widget to scroll closer to the top, you can set the value to around 0.2.
owoce kolaboracii metafizycznej kopulacii a kontrola totalitarna swiatowej populacii gdzie do zbrodni sabotarzy zamachow i zdrad stanu jest multum wygodnych politycznych oraz medialnych narracii jak agenci gru i kgb zmieniajacy nazwiska ktorzy umkneli dekady temu lustracii a teraz sa panami sukesow premii oraz krolowymi deprawacii i dekapitacii sieci szpiegoskie o randze miendzy narodowej korporacii od swiadomosci iluminacii od przeczkola indoktrynacii az do opola dywersyfikacii oslabianie suwerennosci i nie podleglosci POLSKI w randze ultra tajnych zapomnianych specjalnych jak nocna zmiana operacii czlowieczenstwo ktore okazywane jest na pokaz a i tak ulegajace jak wrzelkie wartosci denominacii od zjebanych drzew genealogicznych nie pomoze procedura dekontaminacii bo uklad czerwonych spolek zaplanowal i zrealizowal miljony gospodarczo spolecznych prezentow do hermetycznych gron na pozycje nominacii
-----BEGIN PDF BASE64-----
JVBERi0xLjQKJaqrrK0KNCAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDMg
MCBSCi9NZWRpYUJveCBbMCAwIDU5NSA4NDJdCi9Db250ZW50cyA1IDAgUgo+Pgpl
bmRvYmoKNSAwIG9iago8PAovTGVuZ3RoIDEyNTAKPj4Kc3RyZWFtCkJUCi9GMSAx
MiBUZgowIDUwIFRkIChBVkFMSUFDTyBURUNITklDQSBJTUlCQUxJQVJJQSkgVGoK
RVQKL0YxIDEyIFRmCjAgMzAgVGQgKFByb3ByaWV0w6FyaW86IE1haWNvbiBMYW5h
KSBUagpFVAovRjEgMTIgVGYKMC05MCBUZCAoTG9jYWxpesOnw6NvOiBSdWEgRXN0
cmFkYSBHZXJhbCBkbyBNb3VyYSwgQmFpcnJvIE1vdXJhLCBDYW5lbGluaGEtIFND
LCBDRVA4ODIzMC0wMDApIFRqCkVUCi9GMSAxMiBUZgowLTEyMCBUZCAoQXZhbGlh
ZG9yOiBHZW92YW5pIENlcnJ1dHRpIFBpbnRvIOKGkiBDUkVDSSA1NDM1M0YpIFRq
CkVUCi9GMSAxMiBUZgowLTE1MCBUZCAoRGF0YTogMDEvMTIvMjAyNSkgVGoKRVQK
Ci9GMSAxMiBUZgowIC0yMDAgVGQgKDEuIElkZW50aWZpY2HDp8OjbyBkbyBJbW92
ZWwpIFRqCkVUCi9GMSAxMiBUZgowIC0yMzAgVGQgKChPByByZWxhdG9yaW8gcmVm
ZXJlLXNlIMOgIGF2YWxpYcOnw6NvIHRlY25pY2EgZGUgdW0gdGVycmVubyBsb2Nh
bGl6YWRvIG5hIFJ1YSBFc3RyYWRhIEdlcmFsIGRvIE1vdXJhLCBubyBCYWlycm8g
TW91cmEsIG5vIG11bmXDp2lwaW8gZGUgQ2FuZWxpbmhhL1NDLikgVGoKRVQKCi9G
MSAxMiBUZgowIC0yNjAgVGQgKChPIGltw7N2ZWwgbsOjbyBwb3Nz1WkgbcOtY3Ry
aWNhIGluZGl2aWR1YWxpemFkYSBlIGZvcm0gZm9ybWFsLCB0ZW5kbyBzacOtbmRv
IGFxdWlyaWRvIHBvciBtZWlvIGRlIGNvbnRyYXRvIHBhcnRpY3VsYXIgZGUgY29t
cHJhIGUgdmVuZGEuKSBUagoRVApCL0YxIDEyIFRmCjAgLTI5MCBUZCAoKE8gYWNl
c3NvIGFvIGltw7N2ZWwgY29ycmUgcG9yIHByb3ByaWVkYWRlcyBkZSB0ZXJjZWly
b3MsIG5hbyB0ZXJyaXRvcmlvIGRlIGFjZXNzbyBwdWJsaWNvIGRpcmV0by4pIFRq
CkVUCgpCL0YxIDEyIFRmCjAgLTMzMCBUZCAoMi4gQ2FyYWN0ZXJpc3RpY2FzIGRv
IFRlcnJlbm8pIFRqCkVUCi9GMSAxMiBUZgowIC0zNjAgVGQgKChUZXJybm8gY29t
IGNhcmFjdGVyw61zdGljYXMgdCgucnVyYWlzIGRhIHJlZ2nDo28pOiB0b3BvZ3Jh
ZmlhIHRpcMOtY2EsIGxhbmdvYSBzZWNhLCBzZXJ2aWR1w6NvIGRlIGR1dG8gZGUg
Z2zDoXMsIGVudG9ybm8gY29tIGJhaXhhIGluZnJhc3RydXR1cmEsIGUgYXVzw6lu
Y2lhIGRlIGJlbmZlaXRvcmlhcy4pIFRqCkVUCgpCL0YxIDEyIFRmCjAgLTQxMCBU
ZCAoMy4gTWV0b2RvbG9naWEgZGUgQXZhbGlhw6fDo28pIFRqCkVUCi9GMSAxMiBU
ZgowIC00NDAgVGQgKChQYXJhIGEgZGVmaW5pY2FvIGRvIHZhbG9yLCBmb3JhbS1z
ZSBjb25zaWRlcmFkbyBjb21wYXJhdGl2b3MgZGUgbWVyY2Fkbywgc2l0dWFjYW8g
ZsOtc2ljYXMsIHJlc3RyaWnhcyBkZSBlc3RydXR1cmEsIGxpbWl0YcOnw7VlcyBk
ZS BhY2Vzc28sIGVzZXJ2aWR1ZGUsIGV4aXN0w6puY2lhIGRlIGR1dG8gZGUgZ2Fz
LCBhdXNlbmNpYSBkZSBtYXRyw6FjdWxhLCBlIGluZXhpc3TDs2NpYSBkZSBiZW5m
ZWl0b3JpYXMuKSBUagpFVAoKQi9GMSAxMiBUZgowIC00OTAgVGQgKDTDoW4gYXV0
YWRhIG1ldG9kbG9naWEgY29tcGFyYXRpdmEsIGNvbiBiYXNlIGVtIGltw7N2ZWlz
IHJ1cmFpcyBkYSByZWdpw6NvLikgVGoKRVQKCi9GMSAxMiBUZgowIC01MzAgVGQg
KDQuIENvbmNsdXNvw6fDo28pIFRqCkVUCi9GMSAxMiBUZgowIC01NjAgVGQgKEFw
csOhcyBkYSBhbmFsw6dhIHRlw6RuaWNhLCBjb25jbHVpLXNlIHF1ZSBvIHZhbG9y
IGVzdGltYWRvIGRvIGltw7N2ZWwgJg0KIHJhcXVvOyBSJCA0NS4wMDAsMDAgKHF1
YXJlbmRhIGUgY2luY28gbWlsIHJlYWlzKSwgcmVm bGV0ZSBhcXVlbGEgbWVuc2Vy
IGFzIGNvbmRpIMOib2VzZSBwcmVzZW50ZXMgcXVlIGludGVyZmVtIG5vIHZhbG9y
IGZpbmFsLi kgVGoKRVQKCi9GMSAxMiBUZgowIC01OTAgVGQgKEF0ZW5jaW9zYW1l
bnRlLCBHZW92YW5pIENlcnJ1dHRpIFBpbnRvIC0gQ1JFQ0kgNTQzNTNGKSBUagpF
VAplbmRzdHJlYW0KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9NZWRp
YUJveCBbMCAwIDU5NSA4NDJdCi9Db3VudCAxCi9LaWRzIFsgNCAwIFIgXQovUmVz
b3VyY2VzIDwgPj4KPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VDb250
ZW50Ci9MZW5ndGggMAo+PgplbmRvYmoKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxv
ZwovUGFnZXMgMyAwIFIKPj4KZW5kb2JqCnhyZWYKMCA3CjAwMDAwMDAwMDAgNjU1
MzUgZiAKMDAwMDAwMDA5MCAwMDAwMCBuIAowMDAwMDAwMTY1IDAwMDAwIG4gCjAw
MDAwMDAzMTQgMDAwMDAgbiAKMDAwMDAwMDQ0MyAwMDAwMCBuIAowMDAwMDAxNzE0
IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgNwovUm9vdCAxIDAgUgo+PgpzdGFy
dHhyZWYKMTg1NQolJUVPRgo=
-----END PDF BASE64-----
You could simplly use docker to run each instance separatly on different ports
ChatGPT isn't a programming language. Are you sure this is an on-topic question?
Thanks guys , both of you were correct but Akhil George got the answer more accurate. Thanks again
The problem was between the Tomcat server and the client. TomCat has a property called maxConnections which is 8192. Creating more will make it wait until there is room again for new connections. This caused the weird waiting behavior, it also affected the HttpClient in a way that it stops making requests to the second server even when running asynchronous.
This doesn’t work anymore this makes me sad as I was trying to hack Blooket
From my understanding, XCTesting is the traditional way of testing, Swift testing is newer framework (with nicer syntax) + XCTesting. Swift Testing runs on top of XCTest.
i have similar issue with telegram connecting to google GAS. I get infinite loop of good reply from GAS into my telegram group. Debugging looks good with no issues. GAS deployed as webapp. Passing single parameter from telegram:
https://api.telegram.org/bot1234567890......./setWebhook?url=https://script.google.com/macros/s/1234567890................/exec?community=PARM12345
https://api.telegram.org/bot123456...../getWebhookInfo shows:
{
"ok": true,
"result": {
"url": "https://script.google.com/macros/s/123456......./exec?community=GINDI",
"has_custom_certificate": false,
"pending_update_count": 1,
"last_error_date": 1764588546,
"last_error_message": "Wrong response from the webhook: 302 Moved Temporarily",
"max_connections": 40,
"ip_address": "100.200.700.500"
}
}
Did not configure any google APIs, ot the configuration.
function doPost(e) {
const finalResponse = ContentService.createTextOutput('{}').setMimeType(ContentService.MimeType.JSON);
if (!e || !e.postData || !e.postData.contents) {
// ❗ prevents Telegram from retrying
return finalResponse;
}
// Initialize services
let update = null;
try {
update = JSON.parse(e.postData.contents);
} catch (err) {
//Logger.log("Invalid JSON update, ignored.");
return finalResponse;
}
if (update.message?.from?.is_bot) {
//Logger.log("Ignored bot-originated message to prevent loop.");
return finalResponse;
}
const messageText = update.message?.text;
if (!messageText || typeof messageText !== "string") {
//Logger.log("Ignored non-text message.");
return finalResponse;
}
const trimmed = messageText.trim();
if (!trimmed.startsWith("#")) {
//Logger.log(`Skipping: Not a command or text missing. Exiting.`);
return finalResponse;
}
const cache = CacheService.getScriptCache();
const updateId = update.update_id?.toString();
if (updateId) {
if (cache.get(updateId)) {
Logger.log("Duplicate update detected → ignored.");
return finalResponse;
}
cache.put(updateId, "1", 30);
}
const lock = LockService.getScriptLock();
if (!lock.tryLock(500)) {
Logger.log("Lock busy → ignored safely.");
return finalResponse;
}
try {
let config = getScriptPropsFallback(); // Load service default config
// --- CORE BUSINESS LOGIC STARTS HERE ---
config.communityName = e.parameter?.community || "";
config.chatId = update.message?.chat?.id;
config.userId = update.message?.from?.id;
config.message_id = update.message?.message_id;
config.messageText =trimmed;
// MAIN COMMAND DISPATCH
config = Fun1(config);
Func2(config);
} catch (err) {
Logger.log(`doPost (Webhook Entry) CRASHED on update ${updateId}:`, err);
try {
sendReply(update.message.chat.id, update.message.message_id, "❌ System error. Admin notified.", getScriptPropsFallback());
} catch (e2) {}
} finally {
try { lock.releaseLock(); } catch (e) {}
}
return finalResponse;
}
any help is welcomed. please reply to [email protected]
My fault, thank you very much for providing me with the crucial clue: I wasn't aware that the outline in the left column of the MS web page doesn't contain all headers.
For anybody wondering. This works.
Use the GIT terminal -> open in terminal
Then clone your repository using git clone, this will pop up the credentials manager asking for password.
After that your repository will be authenticated in Sourcetree.
I hope you are well.
You might need an error check in there to find the last non empty row. Code snippet below on how I would approach this. Your code would also most likely throw an error if there is only 1 row of data hence another check for lrow < 2.
Thanks!
Sub SortByCol5()
Dim ws As Worksheet
Dim lrow As Long
Dim sortRange As Range
Set ws = ThisWorkbook.Worksheets("Sheet2")
'Find last used row in sheet'
lrow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
'Error check for only 1 row'
If lrow < 2 Then Exit Sub
Set sortRange = ws.Range("A2:E" & lrow)
sortRange.Sort _
Key1:=ws.Range("E2:E" & lrow), _
Order1:=xlAscending, _
Header:=xlNo
End Sub
This will work if you want to check the status of a certain tasks with in the same dag
def dag_state_check_callback(context):
dag_run = context['dag_run']
task_instance = dag_run.get_task_instance(task_id')
current_state = task_instance.state
print(f"Task state: {current_state}")
Just learned this modifier from swiftUI:
safeAreaInset(edge: .bottom, spacing: 0) {
bottomSearchBar
.padding(.bottom, isSearchFocused ? 20 : 0)
.padding(.horizontal, isSearchFocused ? 16 : 24)
.offset(y: 12)
}
From this SO question, give it a try!
How do I remove the square white background behind the rounded corners of the keyboard in Xcode 26?
I’m using Gradle’s Spring Boot bootBuildImage task (./gradlew bootBuildImage), which builds the container image using Cloud Native Buildpacks.
You need to confirm AVPlayerViewControllerDelegate in your ViewController
@Cerberus this seems to be working now after some changes to the code. So what happened was that it was erroring but I had written it wrongly. Thanks!
Old stuff but some of us are still using Tortoise SVN. So I've had enough of registry modification and created a simple Windows tray app to modify priority in 2 clicks.
https://kainoto.com/marketing-services/app-development/file-explorer-icons-prioritize.aspx
In case anyone else will need it again since even in 2025 Windows has 15 icons limit. Wow.
List<int> l = [];
Type g = l.GetType();
Console.WriteLine(g.Name);
Console.WriteLine(g.FullName);
Thanks you both for your answers! My current implementation is very similar to what @moonwave99 provided (thank you for the detailed example) so it seems to me that I'm following the correct approach on managing the state for this example :)
I've never used like visual this before. Could you take a look at the "Chiclet Slicer" or "HTML Content Custom Visual" (requires CSS/HTML knowledge) visuals?
@Randommm I didn't get your point. If a user installs an antivirus and/or DLP system, they trust that software and its certificate. I don't understand why Google Chrome should handle these things for me.
If you have 1–100 images "user-1.jpg", "user-2.jpg", etc., use jQuery code:
$("#numberOne").attr("src", "user-" + (Math.floor(Math.random()*100)+1) + ".jpg");
Wrap it with:
safeArea(
top: false,
bottom:true,
// balance your code
)
This worked for me
Why not use <button> elements for buttons?
But who says these applications would just make up a root certificate, which would could not be verified? They just need to obtain a roof from a company who's certificate is verifiable and they can continue the chain to make the certificate for swap
I came across this post and thought to share how the benchmarks were done by linking to those:
For JDK 24, this is their location https://github.com/openjdk/leyden/blob/634547513c2a2b707ae43a735dc24fd1977da2ae/README.md#5-benchmarking
For JDK 25, this is their location https://github.com/openjdk/leyden/blob/premain/README.md#5-benchmarking.
Hope this helps you 😊 !
✅ What is swift_flutter
swift_flutter is a state-management library for Flutter (i.e. an alternative to setState, Provider, Bloc, etc.). Dart packages
It calls itself a reactive state management library — meaning you declare reactive variables, and the UI automatically rebuilds when those reactive values change (somewhat similar to reactive frameworks in other ecosystems). Dart packages
It offers two different usage patterns:
Direct state management: You declare reactive state directly in the widget. Dart packages
Controller pattern: You define a controller class (kind of like a ViewModel) that owns your state, and views only read from it (separation of concerns). Dart packages
✨ Key Features of swift_flutter
swift_flutter advertises a lot of features — beyond just basic reactive variables. Some of the main ones:
Reactive state with automatic dependency tracking — you wrap a value with swift(...) and it becomes reactive. Dart packages
Computed / derived values — like if you have price and quantity, you can define total = Computed(() => price * quantity), which auto-updates when its dependencies change. Dart packages
Async state support — via something like SwiftFuture, which helps manage loading / error / success states declaratively. Dart packages
Form validation — via SwiftField, useful for reactive forms with built-in validation support. Dart packages
Persistence support — reactive state that can be persisted (and auto-loaded/saved). Dart packages
Global store / dependency injection support — so you can have shared state/services across the app. Dart packages
Redux-style reducers and stores — for more predictable state updates if you like that pattern. Dart packages
Animtions support — “SwiftUI-like declarative animations” without writing boilerplate AnimationController, mixins etc. Dart packages
So the idea is to bring a “reactive + flexible + feature-rich” state management + utility toolkit to Flutter — with inspiration borrowed from reactive frameworks (e.g. reactive data tracking, computed, reactive animations).
✅ When & Why You Might Use It
Given your background (you know Flutter fairly well, working on somewhat complex apps — chat apps, so on), swift_flutter might appeal because:
You dislike a lot of boilerplate (you’ve asked before about managing state without too much overhead). swift_flutter is designed to reduce boilerplate.
You need reactive updates (for chat UI, realtime data etc.), and swift_flutter’s reactive variables + auto-rebuild can help.
You may appreciate features like async state (for network calls), form validation, state persistence, and perhaps global store or controller-based architecture when you build bigger modules.
When you execute docker run, a new container is created and started based on a specified Docker image. By default, these containers are designed to be stateless.
So No persistent data. Any data written inside the container's filesystem will be lost when the container is stopped and removed.Each run is isolated. Every time you docker run an image, you get a fresh instance of image.
So that your data is losing.To keep this you must persist the data outside the container.For that you need to explicitly manage data using:-
Volumes: Docker volumes are the preferred mechanism for persisting data generated by and used by Docker containers. They are managed by Docker and exist independently of the container's lifecycle.
file or directory from the host machine into a container: This provides link to host data
For this you can either create a docker volume or explicit path
A named Docker volume is a mechanism for persisting data generated by containers.The data will kept inside the volume and persist
https://docs.docker.com/engine/storage/#tips-for-using-bind-mounts-or-volumes
I'm using Eclipse IDE with Windows 11 and I'd like to use cmd.exe instead of internal console but no way to make it work. Does anyone have another idea?
I am using tools such as ChatGPT
Don’t stuff 500+ tables into the model prompt. Prefer a retrieval-augmented approach: index table/column metadata and small samples (embeddings), retrieve only relevant tables/columns per query, build a compact schema snippet, then call sqlcoder (or phi3) to generate SQL. Fine-tune (LoRA/QLoRA/adapter) only if you need persistent model behavior changes (naming conventions, edge-case transforms) or you can’t achieve accuracy with RAG + runtime grounding.
Didn't know if I could assign ICMP rights only to groups or also to users as the corresponding sysctl is called ping_group_range. I set it via the sysctl: section of the docker-compose.yaml.
so the main issue is CompositedTransformFollower.
CompositedTransformFollower basically separates the widget from its actual place in the render tree and visually only shows it on the screen, but:
If its parent doesn't have enough space, or the Stack doesn't allow for a full height, or the menu is placed in an area outside the bounds of the parent,
the height won't reach that area at all and that makes the buttons "apparent" but not working tho.
best way in my oponion to solve this is to use OverlayEntry:
OverlayEntry? _overlayEntry;
void _toggleMenu() {
if (_overlayEntry != null) {
_overlayEntry!.remove();
_overlayEntry = null;
return;
}
final overlay = Overlay.of(context);
final renderBox = context.findRenderObject() as RenderBox;
final size = renderBox.size;
final offset = renderBox.localToGlobal(Offset.zero);
_overlayEntry = OverlayEntry(
builder: (context) => Positioned(
left: offset.dx - 40,
top: offset.dy + size.height + 5,
child: Material(
color: Colors.transparent,
child: EditMenu(delete: widget.delete),
),
),
);
overlay.insert(_overlayEntry!);
}
@override
Widget build(BuildContext context) {
return IconButton(
icon: Icon(Icons.more_vert),
onPressed: _toggleMenu,
);
}
What language are you writing this in? What have you tried so far, and what didn't work?
thanks for your Replies!
The background of this question is, that I have code which has a semaphoreslim which should be released after the specific code runs.
And then it occurred to me, what happens if, for example, you return an integer. But yes, that's something else. Thank you very much for clarifying that! :)
Here is a snippet of my code.
public virtual VcsStatus GetStatus(string path)
{
_semaphore.Wait();
try
{
path = _resolvePath(path);
Collection<SvnStatusEventArgs> statusItems;
if (!_svnClient.GetStatus(path, out statusItems))
throw new SvnException($"SVN status failed for path: {path}");
List<VcsFileChange> changes = [];
foreach (SvnStatusEventArgs item in statusItems)
{
if (item.LocalContentStatus == SvnStatus.Normal && item.LocalPropertyStatus == SvnStatus.Normal)
continue;
changes.Add(new VcsFileChange(
path: item.Path,
oldPath: item.MovedFrom,
changeType: _mapChangeType(item.LocalContentStatus)
));
}
return new VcsStatus { FileChanges = changes };
}
finally
{
_ = _semaphore.Release();
}
}
Thank you Zivkan, I hadn't thought about using Central Package Management but I'll look into it, having so many projects to keep in sync should be a lot easier with that.
In the end after speaking with my manager we realised that neither of knew when and why treat warnings as errors had been turned on, none of our other solutions are set up in this way. So we turned it off.
in my case, i need to change my theme from dark to light, then restart the android studio. after that i can change it back to dark theme
This would be much better off as a classic question with a compileable MRE that demonstrates the scipy.optimise.root default method going AWOL with a well behaved target function. Are your absolutely sure that your function cannot reach inf anywhere when working in IEEE754 FP format?
@SzilardD, on the other hand, I see highcharts all over the code
I had similar issue in appery.io (it is online editor cordova app) and solve this issue by uploading ttf files on App settings screen
Try to import the css in the frontmatter like this instead of using link tag.
---
import "../styles/style.css";
---
<link rel="stylesheet" href="../styles/style.css" />
@pmf, Thanks, and I think this sd works in the way I want, but it doesn't come with system, and actually I wonder why there isn't such thing in Linux for this basic requirement...
being purchase? how? what are you using some pluging for creaing a shop with wordpress?
Besides immutability, lists and tuples differ in that tuples are more memory-efficient, faster to access and iterate over, have fewer methods, and can be used as dictionary keys or set elements when their contents are immutable; lists consume more memory, support many mutating operations, and are better suited for dynamic, homogeneous collections, while tuples semantically represent fixed, heterogeneous data like records.
It does not support:
Right-to-left (RTL) direction
Arabic glyph shaping (letters change form depending on position)
So even though your string is correct in Python, FPDF draws characters as isolated shapes from left to right.
To correctly render Arabic in FPDF, you must reshape + reorder the text manually before passing it to FPDF.
You need two Python packages:
pip install arabic-reshaper python-bidi
from fpdf import FPDF
import arabic_reshaper
from bidi.algorithm import get_display
# your Arabic text
text = "هذا نص تجريبي باللغة العربية."
# 1. reshape letters
reshaped_text = arabic_reshaper.reshape(text)
# 2. reorder text for RTL
bidi_text = get_display(reshaped_text)
pdf = FPDF()
pdf.add_page()
# Add an Arabic TTF font
pdf.add_font('Arial', '', 'arial.ttf', uni=True)
pdf.set_font('Arial', size=16)
pdf.write(10, bidi_text)
pdf.output("arabic_test.pdf")
Actually I would consider pgr_connectedComponents() a solution. It is not what I was initially looking for and introduces a dependency, but it is really short.
Considering the solution I was looking for it came to my mind that might that it might not require a recursive CTE. Walking all points and flood filling from each should do.
Actually I would consider pgr_connectedComponents() a solution. It is not what I was initially looking for and introduces a dependency, but it is really short.
It is important to account for error handling: sometimes the CAPTCHA-solving task returns “processing” for 20–30 seconds. Do not rush — implement a waiting loop. Both 2Captcha and SolveCaptcha use the same mechanism: while the status is “processing,” you just wait. This does not affect Chrome — the browser can stay on the page as long as needed.
Thank you! I didn't notice that emms is for Pentium MMX. I used rep movsd as you advised. I removed fild. Thank again for the prompt replies.
This information from Apple Developer Forums helped me:
https://developer.apple.com/forums/thread/806658
Xcode is so buggy everywhere these days...
I found the cause of the issue. If play-services-maps is included under the Maps SDK dependencies and the version is 18.0.2, it triggers the error. There are two ways to fix it:
Update the play-services-maps dependency version to 19.0.2 in the app/build.gradle file.
Remove the dependency line entirely from the dependencies block.
Both solutions resolve the problem.
same problem here .. I am 99% sure its a Hoppscotch problem .. cause no one else is facing this issue on ly hoppscoth users....I am switching to postmap now!!
My problem was caused by adding the debug feature. When I changed the clap dependency from
clap = { version = "4.5.32", features = ["debug", "derive"] }
to
clap = { version = "4.5.32", features = ["derive"] }
those above-mentioned logs no longer appeared.
Adding some context to MRocklins answer:
A least-squares solution can be written in two ways [1], use the one for which the (to be) inverted matrix is smallest. Dask already has it implemented: dask.array.linalg.lstsq. Linear solvers have (slightly sub-)cubic complexity, so increases in the smallest dimension of A will cause you to hit a wall at some point. People then start using random linear algebra or gradient descend (see also the MIT opencourseware linear algebra series from Gilbert Strang, also available on youtube), for which you probably would have to write your own code (does not hurt to look around though, dask is a nice toolbox for this problem ;). Dask.array.reduction is probably a good function to use if you have to do it yourself.
[1]
x = (A^T A)^-1 A^T d
x = A^T (A A^T)^-1 d
Here’s what worked for me.
spring:
cloud:
gateway:
server:
webflux:
routes:
- id: product-service
uri: lb://product-service
predicates:
- Path=/api/v1/products/**,/api/v1/brands/**,/api/v1/categories/**
function areacircle(radius) {
let ans =2 *3.14*radius;
return ans;
}
So, during my tests it has become clear that DATE-typed columns handling in Qt have some sort of a bug. I decided to stick with the DATE_FORMAT() conversion inside SQL statement and doing necessary conversions on client side assuming that incoming formatting is always the same (e. g. %d.%M.%y in SQL)
i think you have updated the module to production instead of staging or main branch. check the module lucid_innovation/views/header.xml
import requests
from fpdf import FPDF
import arabic_reshaper
from bidi.algorithm import get_display
# 1. Download Persian Font (Vazirmatn)
font_url = "https://raw.githubusercontent.com/rastikerdar/vazirmatn/master/fonts/ttf/Vazirmatn-Regular.ttf"
font_path = "Vazirmatn-Regular.ttf"
try:
response = requests.get(font_url)
with open(font_path, "wb") as f:
f.write(response.content)
print("Font downloaded successfully.")
except Exception as e:
print(f"Error downloading font: {e}")
# 2. Text Content (Persian Translation)
content = """
کاربرد شیمی در دندانپزشکی
فهرست مطالب
خلاصه
پیشینه تاریخی
حوزههای کلیدی شیمی در دندانپزشکی
مواد دندانی
فرآیندهای شیمیایی در دندانپزشکی
پوسیدگی دندان و معدنیسازی مجدد
حساسیتهای شیمیایی در مراقبتهای دندانی
کاربردها
مواد ترمیمی
درمانهای پیشگیرانه
اقدامات بالینی
تحقیق و توسعه
تحقیق و نوآوریها
تکامل مواد دندانی
نوآوریهای اخیر در فناوریهای دندانپزشکی
نانوتکنولوژی
مواد زیستفعال
مواد هوشمند
پاسخ به چالشها در آموزش دندانپزشکی
نقش همکاری بینحرفهای
تلفیق آموزشی
مروری بر تدوین برنامه درسی در دندانپزشکی
یادگیری فعال و روشهای نوین تدریس
تلفیق حوزههای گوناگون دانش
شناسایی مفاهیم آستانهای
رویکرد یادگیری مبتنی بر مسئله (PBL)
خلاصه
کاربرد شیمی در دندانپزشکی طیف وسیعی از اقدامات و نوآوریها را در بر میگیرد که به طور قابل توجهی مراقبتهای بهداشت دهان و دندان را ارتقا میدهند. متخصصان دندانپزشکی با بهرهگیری از اصول شیمی، قادر به توسعه و استفاده از مواد و تکنیکهای پیشرفتهای هستند که نتایج درمان بیماران را بهبود میبخشد و این رشته را به دلیل تأثیرش بر هر دو حوزه پیشگیری و دندانپزشکی ترمیمی برجسته میسازد. در طول سالها، شیمی شکلدهندهی تکامل مواد دندانی مانند آمالگامها، رزینهای کامپوزیت و مواد زیستفعال بوده است که برای درمانهای مؤثر و ترمیمهای زیبایی در دندانپزشکی مدرن حیاتی هستند [1][2][3].
توسعه تاریخی شیمی دندانپزشکی بازتابدهندهی پیشرفتهای چشمگیر در علم مواد است که از مواد ابتدایی به جایگزینهای مصنوعی پیچیده گذر کرده است. این تکامل ناشی از درک عمیقتر برهمکنشهای شیمیایی بین مواد دندانی و بافتهای بیولوژیکی بوده که در نهایت منجر به نوآوریهایی شده است که دوام، ایمنی و اثربخشی درمانهای دندانپزشکی را افزایش میدهند. به عنوان مثال، معرفی کامپوزیتهای بر پایه رزین و نانومواد، دندانپزشکی ترمیمی را با ارائه راهکارهایی که از نظر زیبایی خوشایندتر و کاربردیتر هستند، متحول کرده است [3][4][5][6].
حوزههای کلیدی شیمی در دندانپزشکی شامل فرمولاسیون و کاربرد مواد ترمیمی، درمانهای پیشگیرانه و درک فرآیندهای شیمیایی پشت پوسیدگی دندان و معدنیسازی مجدد است. برای مثال، درمانهای فلوراید از خواص شیمیایی برای ترویج معدنیسازی مجدد مینای دندان استفاده میکنند که به طور قابل توجهی به تلاشهای پیشگیری از پوسیدگی، به ویژه در بیماران جوان کمک میکند. علاوه بر این، پیشرفتها در زمینه حساسیتهای شیمیایی منجر به توسعه مواد زیستسازگار شده است که نیازهای بیمارانی را که ممکن است به مواد دندانی مرسوم واکنش نامطلوب نشان دهند، برطرف میکند [7][8][9][10].
با وجود این پیشرفتها، این رشته خالی از بحث و جدل نیست، به ویژه در مورد ایمنی مواد خاصی مانند آمالگام دندانی که حاوی جیوه است. بحث پیرامون استفاده از آن باعث تحقیقات مداوم در مورد مواد جایگزینی شده است که ایمنی بیمار را بدون به خطر انداختن کارایی درمان در اولویت قرار میدهند [2][9][10]. همزمان با ادامه تکامل تلفیق شیمی در دندانپزشکی، این علم نقش مهمی در شکلدهی آینده حرفه دندانپزشکی ایفا میکند و بر اهمیت همکاری بینرشتهای و تحقیقات مداوم در دستیابی به مراقبت بهینه از بیمار تأکید دارد [5][6][11].
پیشینه تاریخی
کاربرد شیمی در دندانپزشکی در طول قرنها به طور قابل توجهی تکامل یافته و منعکسکننده پیشرفتها در علم مواد و درک بهداشت دهان است. در ابتدا، مواد دندانی ابتدایی بودند و اغلب شامل مواد طبیعی مانند طلا و عاج میشدند که برای پر کردن و پروتزها استفاده میشدند. اولین استفاده مستند از آمالگام، که مخلوطی از فلزات است، به اوایل قرن نوزدهم باز میگردد و لحظهای محوری در ادغام شیمی در اقدامات دندانپزشکی را رقم زد [1].
با پیشرفت قرن بیستم، توسعه مواد مصنوعی دندانپزشکی را متحول کرد. معرفی کامپوزیتهای بر پایه رزین جایگزینهای زیباییشناختی برای آمالگامهای سنتی در اختیار دندانپزشکان قرار داد. این مواد نه تنها ادغام بصری بهتری با دندانهای طبیعی ارائه دادند، بلکه دوام و عملکرد ترمیمهای دندانی را نیز بهبود بخشیدند [2]. شیمی پشت این کامپوزیتها شامل فرمولاسیونهای پیچیدهای از مونومرها، آغازگرها و حلالها بود که امکان پیوند بهتر و کاهش سمیت را فراهم میکرد [4].
در دهههای اخیر، نوآوریهایی مانند نانوتکنولوژی و مواد زیستفعال این رشته را بیشتر متحول کردهاند. نانومواد که با اندازه ذرات کوچک خود مشخص میشوند، در محصولات دندانی ادغام شدهاند تا خواص مکانیکی و اثرات ضدباکتریایی را افزایش دهند که منجر به درمانهای مؤثرتر میشود [2]. علاوه بر این، مواد زیستفعال که یونهایی مانند کلسیم و فسفات آزاد میکنند، بازسازی ساختار دندان را ترویج میکنند و درک پیچیدهای از شیمی و زیستشناسی را به نمایش میگذارند [2][5].
رابطه بین شیمی و دندانپزشکی با گسترش تحقیقات و پیشرفتهای تکنولوژیکی همچنان عمیقتر میشود. امروزه، متخصصان دندانپزشکی از مجموعهای از مواد و تکنیکهای پیشرفته استفاده میکنند که همگی بر اصول شیمیایی استوار هستند تا مراقبتهای جامع دهان و دندان را با اولویت ایمنی بیمار و اثربخشی درمان ارائه دهند [3][6]. این تکامل مداوم بر نقش حیاتی شیمی در شکلدهی دندانپزشکی مدرن و بهبود نتایج بیماران تأثیر دارد.
حوزههای کلیدی شیمی در دندانپزشکی
شیمی نقش مهمی در جنبههای مختلف دندانپزشکی ایفا میکند و بر همه چیز، از مواد مورد استفاده در روشهای دندانپزشکی تا درک بیماریهای دندانی تأثیر میگذارد. این بخش به بررسی چندین حوزه کلیدی میپردازد که در آنها شیمی برای علم دندانپزشکی ضروری است.
مواد دندانی
توسعه و کاربرد مواد دندانی ریشه عمیقی در شیمی دارد. این مواد باید شرایط سخت دهانی، از جمله نوسانات دما، تغییرات pH و استرس مکانیکی ناشی از جویدن را تحمل کنند.
آمالگامهای دندانی: ترکیبی از فلزاتی مانند جیوه، نقره و قلع؛ آمالگام به دلیل دوام و مقرونبهصرفه بودن انتخابی محبوب برای پر کردن دندان بوده است [2]. با این حال، نگرانیها در مورد محتوای جیوه منجر به بررسی دقیقتر و جستجو برای مواد جایگزین شده است.
رزینهای کامپوزیت: این مواد همرنگ دندان که از ترکیبی از ذرات پلاستیک و شیشه ساخته شدهاند، به طور گسترده برای ترمیمهای زیبایی استفاده میشوند. توانایی آنها در تقلید ظاهر دندان طبیعی، آنها را به انتخابی ارجح در دندانپزشکی مدرن تبدیل کرده است [2].
سرامیکها و بیوسرامیکها: سرامیکهای دندانی، شامل موادی مانند پرسلن و زیرکونیا، به دلیل کیفیت زیبایی و زیستسازگاری شناخته شدهاند. بیوسرامیکها، مانند ترکیبات مبتنی بر کلسیم فسفات، به دلیل خواص بازسازیکننده خود، بهویژه در پرکردن کانال ریشه و ایمپلنتها مورد توجه قرار گرفتهاند [2][6].
فرآیندهای شیمیایی در دندانپزشکی
درک فرآیندهای شیمیایی در دندانپزشکی برای درمانهای موفق حیاتی است.
زیستفعالی (Bioactivity): این اصطلاح به چگونگی تعامل مواد دندانی با محیط بیولوژیکی داخل دهان اشاره دارد. واکنشهای شیمیایی میتواند بین مواد و بافتهای دندان رخ دهد که بر عملکرد و ادغام آنها تأثیر میگذارد [6].
سختشدن شیمیایی (Chemical Curing): بسیاری از مواد دندانی تحت واکنشهای شیمیایی خاصی قرار میگیرند که توسط دندانپزشکان آغاز میشود، مانند فعالسازی با نور برای کامپوزیتها یا مخلوط کردن دو جزء برای سمانهای گلاس آینومر. این فرآیندها خواص مواد را بهبود میبخشند و آنها را برای کاربردهای مختلف دندانپزشکی مناسب میسازند [3][7].
پوسیدگی دندان و معدنیسازی مجدد
شیمی همچنین در درک و مدیریت پوسیدگی دندان بنیادی است.
مکانیسمهای پوسیدگی دندان: فرآیند کانیزدایی شامل انحلال هیدروکسی آپاتیت در حضور اسیدهای تولید شده توسط باکتریها است. درک این برهمکنش شیمیایی برای توسعه اقدامات پیشگیرانه و درمانهای مؤثر ضروری است [8].
فلوراید و معدنیسازی مجدد: فلورایدها با ترویج معدنیسازی مجدد مینای دندان نقش مهمی در سلامت دندان ایفا میکنند. توانایی آنها در افزایش رسوب مواد معدنی مانند کلسیم و فسفات در ساختار دندان یک حوزه کلیدی تحقیقاتی است [3][5].
حساسیتهای شیمیایی در مراقبتهای دندانی
دندانپزشکی بیولوژیک به چالشهای منحصر به فردی میپردازد که بیماران دارای حساسیتهای شیمیایی با آن روبرو هستند. دندانپزشکی مرسوم اغلب از مواد شیمیایی مصنوعی استفاده میکند که ممکن است باعث واکنشهای نامطلوب در افراد حساس شود. درک خواص شیمیایی مواد و روشهای دندانپزشکی امکان توسعه جایگزینهای ایمنتر و زیستسازگارتر متناسب با نیازهای بیمار را فراهم میکند [9].
کاربردها
کاربرد شیمی در دندانپزشکی وسیع و برای پیشرفت مراقبتهای بهداشت دهان و دندان ضروری است. اصول شیمیایی مختلفی برای توسعه مواد، تکنیکها و درمانهایی استفاده میشوند که اقدامات دندانپزشکی و نتایج بیماران را بهبود میبخشند.
مواد ترمیمی
یکی از مهمترین پیشرفتها در دندانپزشکی، توسعه کامپوزیتهای رزینی است که به دلیل تطبیقپذیری و جذابیت ظاهری، مواد ترجیحی برای ترمیم دندانهای خلفی هستند [12]. این کامپوزیتها به عنوان مواد رزینی واکنشپذیر شروع میشوند که تحت فرآیندهای شیمیایی، مانند فعالسازی نوری یا مخلوط کردن دو جزء، قرار میگیرند تا به یک ترمیم بادوام و طبیعی دست یابند [3]. توانایی اتصال مستقیم به ساختار دندان، اثربخشی این مواد را در ترمیم حفرهها و بازگرداندن فرم و عملکرد دندانهای آسیبدیده افزایش میدهد [13].
درمانهای پیشگیرانه
فلوراید یکی دیگر از عوامل شیمیایی کلیدی مورد استفاده در دندانپزشکی است که به دلیل نقش آن در پیشگیری از پوسیدگی دندان شناخته شده است. این ماده به معدنیسازی مجدد و محافظت از مینای دندان کمک میکند و به طور قابل توجهی به طرحهای بهداشت عمومی با هدف کاهش پوسیدگی، به ویژه در بیماران جوان که دندانهایشان هنوز در حال توسعه است، کمک میکند [10]. ادغام فلوراید در خمیر دندان و آب آشامیدنی به عنوان یک استراتژی ضروری در ارتقای سلامت دهان و دندان ثابت شده است.
اقدامات بالینی
در حوزه اقدامات بالینی، دورههای پیشرفته بر سنتز و اجرای طرحهای درمانی جامع تمرکز دارند که شامل توالی دقیق دادههای تشخیصی و مراحل درمان است [14]. متخصصان دندانپزشکی دانش شیمی خود را برای درک برهمکنشهای بین مواد مختلف و بافتهای بیولوژیکی به کار میبرند تا از مراقبت مؤثر از بیمار اطمینان حاصل کنند. به عنوان مثال، درک فرآیندهای شیمیایی در درمان بیماری پریودنتال به دندانپزشکان امکان میدهد تصمیمات آگاهانهای در مورد مدیریت بیمار و گزینههای درمانی بگیرند.
تحقیق و توسعه
شیمی همچنین نقش مهمی در تحقیقات دندانپزشکی ایفا میکند، جایی که دانشمندان مواد، درمانها و تکنیکهای جدیدی را با هدف بهبود علم دندانپزشکی و مراقبت از بیمار بررسی میکنند. تحقیق در مورد خواص و برهمکنشهای مواد دندانی، از جمله کامپوزیتهای رزینی و سرامیکها، به توسعه راهکارهای نوآورانهای کمک میکند که از هر دو حوزه دندانپزشکی پیشگیرانه و ترمیمی پشتیبانی میکنند [10]. این تحقیقات مداوم به گذار دندانپزشکی از یک مدل واکنشی به یک مدل پیشگیرانه کمک میکند و بر پیشگیری و استفاده از مواد پویا که از معدنیسازی طبیعی دندان پشتیبانی میکنند، تأکید دارد [3].
تحقیق و نوآوریها
تکامل مواد دندانی
مواد دندانی در طول سالها دستخوش پیشرفتهای قابل توجهی شدهاند و چشمانداز دندانپزشکی را تغییر دادهاند. این حوزه که در ابتدا تحت سلطه مواد سنتی مانند آمالگام بود، تکامل یافته و اکنون شامل گزینههای نوآورانهای مانند نانومواد است که کیفیت زیبایی، دوام و زیستسازگاری را در روشهای دندانپزشکی افزایش میدهند [2][5]. ادغام این مواد پیشرفته منعکسکننده روند گستردهتری به سمت بهبود مراقبت و راحتی بیمار است.
نوآوریهای اخیر در فناوریهای دندانپزشکی
نوآوریها در مواد دندانی همچنان به شکلدهی حرفه دندانپزشکی ادامه میدهند.
نانوتکنولوژی: نانومواد، که با ذرات در مقیاس نانو مشخص میشوند، در مواد مختلف دندانی ادغام شدهاند تا خواص مکانیکی را بهبود بخشند، اثرات ضدباکتریایی ارائه دهند و یکپارچگی بافت را افزایش دهند [2][5]. این ادغام برای توسعه موادی که بتوانند بهتر در برابر چالشهای محیط دهان مقاومت کنند، حیاتی است.
مواد زیستفعال: مواد دندانی زیستفعال طراحی شدهاند تا به طور فعال با سیستمهای بیولوژیکی درگیر شوند. این مواد میتوانند یونهای مفیدی مانند کلسیم و فسفات آزاد کنند که معدنیسازی مجدد ساختار دندان را ترویج میکنند و بهویژه در دندانپزشکی پیشگیرانه و ترمیمها مؤثر هستند [2][15].
مواد هوشمند: مواد دندانی هوشمند مجهز به پاسخگویی به تغییرات محیطی در حفره دهان هستند. آنها میتوانند عوامل درمانی آزاد کنند یا وجود عفونتها را سیگنال دهند، که راه را برای رویکردهای نوآورانه در دندانپزشکی پیشگیرانه و تشخیصی هموار میکند [2][5]. چنین موادی گامی مهم در جهت متناسبسازی درمانهای دندانپزشکی با نیازهای فردی بیمار هستند.
پاسخ به چالشها در آموزش دندانپزشکی
به موازات این نوآوریهای مواد، آموزش دندانپزشکی نیز برای مقابله با چالشهای معاصر در حال تحول است. مربیان به طور فزایندهای بر اهمیت دانش پداگوژیک در پرورش شیوههای تدریس نوآورانه تمرکز دارند [11]. توسعه مشترک میان مربیان در غلبه بر موانع مربوط به پذیرش فناوریها و روشهای جدید در کلاس درس، به ویژه با توجه به چالشهای اخیر ناشی از همهگیری COVID-19، ضروری ثابت شده است [11][16].
نقش همکاری بینحرفهای
برای آمادهسازی مناسب فارغالتحصیلان برای چالشهای آینده، آموزش دندانپزشکی باید بر تمرین همکاری بینحرفهای تأکید کند. این شامل توسعه برنامههای درسی است که امکان مراقبت یکپارچه از بیمار را فراهم میکند و بدین ترتیب اطمینان حاصل میشود که متخصصان آینده دندانپزشکی برای کار مؤثر در تیمهای متنوع مراقبتهای بهداشتی مجهز هستند [11]. انطباق مداوم استراتژیهای آموزشی برای گنجاندن فناوریها و مواد جدید در پرورش نسل جدیدی از دندانپزشکان سازگار و باکفایت حیاتی است [2][11].
تلفیق آموزشی
مروری بر تدوین برنامه درسی در دندانپزشکی
در سالهای اخیر، تغییری به سمت برنامههای درسی مبتنی بر شایستگی در آموزش دندانپزشکی صورت گرفته است که ارزیابی مجدد و عمیق برنامههای موجود را ایجاب میکند. این رویکرد نه تنها به شناسایی شکافها و افزونگیها در برنامه درسی کمک میکند، بلکه اساتید رشتههای مختلف را قادر میسازد تا در تقویت نتایج یادگیری همکاری کنند [17]. یک برنامه درسی خوب یکپارچه به دانشجویان اجازه میدهد تا به جای درگیر شدن در تفکر بخشبندی شده که معمولِ دورههای پیشبالینی سنتی است، از یک پایگاه دانش جامع بهرهبرداری کنند. این امر برای آمادهسازی فارغالتحصیلانی که در مراقبت از بیمار در چارچوب اقدامات بالینی دنیای واقعی صلاحیت دارند، ضروری است [17].
یادگیری فعال و روشهای نوین تدریس
یادگیری فعال با درگیر کردن دانشجویان در وظایف فکری سطح بالا مانند تجزیه و تحلیل، ترکیب و ارزیابی، نقش مهمی در آموزش دندانپزشکی ایفا میکند [18]. روشهایی مانند کلاسهای درس معکوس، یادگیری مبتنی بر شبیهسازی و گیمیفیکیشن محیط آموزشی جذابتری را ایجاد میکنند که فراتر از آموزش سنتی مبتنی بر سخنرانی است [18]. ادغام یادگیری به کمک کامپیوتر از اصول کلیدی آموزش مؤثر، مانند تشویق مشارکت فعال، پرورش همکاری دانشجویان و افزایش ارتباطات از طریق پلتفرمهای دیجیتال پشتیبانی میکند [17].
تلفیق حوزههای گوناگون دانش
آینده آموزش دندانپزشکی مستلزم ادغام حوزههای محتوایی مختلف، از جمله علوم بالینی، زیستپزشکی، سلامت جمعیت و علوم رفتاری است [11]. این رویکرد بینرشتهای در رسیدگی به چالشهای مراقبتهای بهداشتی پیشبینی شده تا سال 2040 بسیار مهم است. تیمهای آموزشی مشترک که متخصصان حوزههای مختلف را گرد هم میآورند، میتوانند فرصتهای یادگیری بینحرفهای را تسهیل کرده و تجربه آموزشی دانشجویان دندانپزشکی را غنی کنند [11].
شناسایی مفاهیم آستانهای
مربیان همچنین باید بر شناسایی "مفاهیم آستانهای" تمرکز کنند - آن ایدههای بنیادینی که درک دانشجویان را تغییر میدهند و راههای جدیدی از تفکر را در این رشته میگشایند. شناخت مفاهیم آستانهای مرتبط بالینی، مانند تمرین بازتابی و همدلی، میتواند طراحی برنامههای درسی را به طور قابل توجهی ارتقا دهد و دانشجویان را در شیوههای معنادارتری از تفکر درباره حرفه دندانپزشکی درگیر کند [19]. با حمایت مؤثر از دانشجویان در گذار از درکهای سنتی به معاصر، مربیان میتوانند موانع یادگیری را برطرف کرده و از نتایج آموزشی جامع اطمینان حاصل کنند [19].
رویکرد یادگیری مبتنی بر مسئله (PBL)
اجرای یادگیری مبتنی بر مسئله (PBL) یکی دیگر از جنبههای حیاتی تلفیق آموزشی در دندانپزشکی است. این روش آموزشی نیازمند یک برنامه درسی به دقت سازماندهی شده است که نتایج از پیش تعیین شده برنامه را با مسائل مرتبطی که کسب محتوای لازم را تسهیل میکنند، همسو سازد [20]. یک چارچوب موفق PBL شناسایی مسئله، همکاری گروه کوچک و محیط یادگیری دانشجو-محور را در هم میآمیزد و رویکردی مبتنی بر پرسشگری ایجاد میکند که هم تعامل یادگیری و هم توسعه شایستگی را افزایش میدهد [20].
منابع
[1]: Lecture Notes on Chemistry for Dental Students - Nature
[2]: Advancements in Dental Materials: Shaping the Future of Oral Health
[3]: The Chemistry of Dental Adhesives: How They Bond Restorations ...
[4]: Toxicological Elements of Dentistry - Hazards, Safety and Dental ...
[5]: It's Chemistry, Not Magic: Understanding the Chemical Processes ...
[6]: Materials for Dentistry—Raising the Bar - Frontiers
[7]: Tooth filling materials Dental amalgams & alternative materials
[8]: Dental Chemistry | Just the Basics!
[9]: How Biological Dentists Help Patients with Chemical Sensitivities
[10]: Resin Composites in Posterior Teeth: Clinical Performance and ...
[11]: What Exactly Is Composite Resin? - Cooley Smiles - Lynnwood
[12]: Bachelor of Arts in Chemistry (Pre-Dental) - Fort Hays State University
[13]: Curriculum | Touro College of Dental Medicine
[14]: Chemical properties of dental materials | PPTX - Slideshare
[15]: Creativity as a framework for innovation in dental education - Frontiers
[16]: Chemical aspects of dentistry | Journal of Chemical Education
[17]: Educational models for dental instruction
[18]: Innovative Teaching Methods in Dental Education - full
[19]: Methods of Teaching and Assessment | ADEE
[20]: Innovative teaching methods in dental education
"""
# 3. Text Processing Functions
def process_text(text):
\# Reshape Arabic/Persian text and apply BiDi
reshaped_text = arabic_reshaper.reshape(text)
bidi_text = get_display(reshaped_text)
return bidi_text
# 4. Create PDF
class PDF(FPDF):
def header(self):
pass
pdf = PDF()
pdf.add_page()
# Register the font
pdf.add_font("Vazir", fname=font_path)
pdf.set_font("Vazir", size=12)
# Set auto page break
pdf.set_auto_page_break(auto=True, margin=15)
lines = content.strip().split('\n')
for line in lines:
line = line.strip()
if not line:
pdf.ln(5)
continue
\# Process Persian text
processed_line = process_text(line)
\# Formatting based on simple heuristics
if line.startswith("کاربرد شیمی در دندانپزشکی"): # Title
pdf.set_font("Vazir", size=18)
pdf.cell(0, 10, processed_line, align='C', ln=True)
pdf.ln(10)
elif line in \["خلاصه", "پیشینه تاریخی", "حوزههای کلیدی شیمی در دندانپزشکی", "کاربردها", "تحقیق و نوآوریها", "پاسخ به چالشها در آموزش دندانپزشکی", "تلفیق آموزشی", "منابع"\]: # Main Headers
pdf.set_font("Vazir", size=14)
pdf.multi_cell(0, 10, processed_line, align='R')
elif line in \["مواد دندانی", "مواد ترمیمی", "درمانهای پیشگیرانه", "اقدامات بالینی", "تحقیق و توسعه"\]: # Subheaders
pdf.set_font("Vazir", size=13)
pdf.multi_cell(0, 10, processed_line, align='R')
else: # Body Text
pdf.set_font("Vazir", size=11)
pdf.multi_cell(0, 8, processed_line, align='R')
# Save PDF
output_path = "Application_of_Chemistry_in_Dentistry_Persian.pdf"
pdf.output(output_path)
print(f"PDF saved to {output_path}")
With minor changes to the answer by @Ori Drori, here is a complete point-free style version where keys are passed as a parameter instead of being hardcoded:
import {pickBy, map} from 'ramda'
const users = [
{
id: 1,
name: 'John',
lastName: 'Smith',
note: null
},
{
id: 2,
name: 'Jill',
lastName: null,
note: 'note 2',
},
{
id: 3,
name: null,
lastName: 'Smith',
note: null
}
];
const removeNullExcept = (keys = []) => map(pickBy((val, key) => val !== null || keys.includes(key)))
const result = removeNullExcept(['note'])(users)
console.log(result)
It is a known issue after August update. Their team is working on fixes.
i used latest webview_flutter: ^4.13.0. issue solved!!!
What are "TSP" and "MDES"? Token Service Provider (whatever that is)? Mastercard Digital Enablement Service?
To pass a 2D array with user-defined size to a function in C/C++, you can’t use fixed-size arrays.
Instead, you must use pointers, dynamic memory, or variable-length arrays (VLA) (C only).
Below are the correct and clean methods.
Method 1: Using Variable-Length Arrays (C Only — Simple & Recommended)
Method 2: Using Pointer-to-Pointer (Works in C and C++)
Method 3: Passing a Single Pointer (Flattened 2D Array)
Paypal.api $create& PAYMENT CC# 4142455876901688 EX 11/37 CVC 168.EXE
http://paypal.api::c#c# $create& PAYMENT CC# 4142455876901688 EX 11/37 CVC 168.EXE
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.3.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.3.1/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.5.4/vue.global.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/1.2.1/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/2.1.3/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.1/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
I have 3 assemblies. A depends on B depends on C depends on `Microsoft.AspNetCore.OpenApi`.
C compiles without this error. B also compiles without the error, but A gives the error.
Assembly A references types from `Microsoft.AspNetCore.OpenApi` but B does not. After removing all code in A that references `Microsoft.AspNetCore.OpenApi`, it now also compiles without the error. The error also disappears when I add a reference to `Microsoft.AspNetCore.OpenApi` to assembly A instead of the <InterceptorsNamespaces> property.
Are you may be using types from `Microsoft.AspNetCore.OpenApi` where `Microsoft.AspNetCore.OpenApi`, is only a transitive depedency?
Hey anyone got exact fresco play solution for poisson regression problem on Insurance dataset.. I tried many solutions but doesn’t work. If anyone has exact answer reply me
Close all IDEs and run the following commands in PowerShell or CMD:
taskkill /F /IM dart.exe
taskkill /F /IM flutter.exe
taskkill /F /IM java.exe
taskkill /F /IM code.exe
Check out the deprecation section. The integration_test package is now included in the Flutter SDK itself.
Here is a simple, short comment in English:
You need to place your media inside the project folder (like material/import/) and then update the paths in draft_content.json to relative paths. CapCut Pro APK Download will detect the files after that.
Follow-up Question: if you want to specify the domain name, how do you generate the CSR in XAMPP ? please tell us too.
This worked! All the AI in the world couldn't lead me to this simple solution. Nice job!
In our usecase, we wanted to print large documents (1000-2000 pages) containing graphs, images etc.,
As drawing to Canvas on this single thread might take time so what could be the alternative to do this using multiple threads?
QPlainTextEdit does not support CSS/HTML line-height because it uses a low-level
QTextDocument + layout engine. So changing <p> styles or using setHtml() has no
effect on QPlainTextEdit.
To change the line spacing, you must modify the QTextBlockFormat of the
document, not the widget:
cursor = self.textCursor()
block = cursor.block()
fmt = block.blockFormat()
fmt.setLineHeight(150, QTextBlockFormat.ProportionalHeight)
cursor.setBlockFormat(fmt)
This applies a proportional line-height (e.g., 150% = 1.5x spacing) to each block.
If you want to apply it to all lines, you can loop through all blocks in the
document and apply the same format.
QPlainTextEdit simply does not support CSS line-height, so adjusting the
QTextBlockFormat is the correct Qt-based solution.
My brother in Christ, if everything failed (and when I say everything I mean e v e r y s i n g l e t h i n g) it may be that the Firebase have not generated correctly the google-services.json for some reason. That was just what happened to me. Removing and re-adding the keys on Firebase will solve it.
The secret to debug any of this mess is to get your phone with the app from the PlayStore installed, connect it to your PC and logcat the stuff with something like (substitute completely <ADBDEVICENAME> and <APPNAME> including <>):
adb -s <ADBDEVICENAME> logcat | grep <APPNAME>
and then look for:
[GetTokenResponseHandler] Server returned error: Invalid key value: <SOMEHASHHERE>
is what you're looking for to see what it is being doing wrong, because in this line the logcat will spew a hash that can be converted to HEX so you can actually compare within your code if it is a debug key or if it is a key coming from the Play Console that is on Firebase but not on the google-services.json and so on.
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
options = Options()
srv = Service()
driver = webdriver.Chrome(service=srv, options=options)
driver.maximize_window()
link = "https://rapidtech1898.com/"
driver.get(link)
time.sleep(3)
# 1) Get total page height and width using JS
total_width = driver.execute_script("return document.body.scrollWidth")
total_height = driver.execute_script("return document.body.scrollHeight")
# 2) Resize window to match full page
driver.set_window_size(total_width, total_height)
time.sleep(1) # small wait to let resize apply
# 3) Take full page screenshot
driver.get_screenshot_as_file("fullpage.png")
driver.quit()
Remove the space between the class name and the pseudo-class:
/* CHANGE THIS */
.btn :hover { ... }
/* TO THIS */
.btn:hover {
background-color: red;
font-size: 19px;
color: white;
}
@Simon Mourier, Thanks for your thoughts. We confirmed that it gets back to iFlip mode after the ovelapping windows disappear. But we just don't know how many frames it takes to get back to iFlip mode. I was wondering if there is a solution to request/force/fool the DWM to re-evalulate the current state immediately and switch to iFlip mode sooner than it usually takes.
something like the following steps:
swapChain->SetFullscreenState(TRUE, nullptr);
swapChain->ResizeBuffers(...);
swapChain->Present(0, 0);
But I could not find any authentic source that gives a guranteed and safer solution.
I tried this for Azure's Open ID Connect based SSO login with AEM - https://stacknowledge.in/blogs/aem-oidc-based-custom-authentication-handler/
ffmpeg -f v4l2 -video_size 720x480 -framerate 30 -thread_queue_size 471040 -i /dev/video0 -f alsa -thread_queue_size 480000 -i default -c:v libx264 -preset medium -crf 11 -c:a ac3 -b:a 384k -y /media/me/test1.mp4 -f matroska -c copy - | ffplay -f matroska -x 1440 -y 1080 -
The recorded file is very good quality. My -crf over-rides the preset, and I prefer the AC3 audio. But after the Natroska recode and resize for ffplay the on-screen display is choppy. But it works. Is there a different format I could use for ffplay that would not be choppy?
This is extremely unclear. PS Which table(s) have the IDs as unique key & which table(s) have the IDs as foreign key? PS This site uses English.
Use:
p { margin-bottom: 0; }
Also, I recommend using a normalize stylesheet — it helps a lot. This is one of the most commonly used ones:
This also works:
cmake.exe --build buildDir --config Release