You need to build the project B, get the DLL and add it as a reference in the project A.
here is how to add a reference inside a project in the MSDN
this is built in to phpunit now: https://github.com/sebastianbergmann/phpunit/pull/6118
Since I can't comment yet, I'll add an answer, which might be helpful. I ran into "java.lang.Compiler" error too, but was using Maven. Wanted to build app with older Java version (Java 8) than my CI system runtime (Java 21) and had to wrap kie-maven-plugin execution into exec-maven-plugin with specific executable and arguments to get it working.
Yes this is the best that Python offers right now for specifying the type that was used to initialize the "self" reference. It is not perfect and you are correct that it can cause "issues" when subclassing, but it is less of an issue and moreso that it adds the tedium of having to go through and manually specify the correct typing in the string.
I am not sure that improving or altering this system is a top priority. It is annoying, but it is also not going to be a concern for 99% of people who use Python regularly (not that your confusion/irritation regarding it is invalid).
x gxvcx vxcxc xcdsf sdfsdgsd gdsg sdgsdgsdg sdgsdgs
For some reason the terminal was changing the name of my folder to Personal:Study
when it was actually Personal/Study
So the path was not working for Gradle ~project/Personal:Study/FirstProject/src
Just renaming the folder to Personal-Study
made it start working again :)
Well, for what it is worth, I found an answer to this by asking Copilot. Unfortunately on Visual Studio 2022 I had to change the "Environment Font" as the Copilot setting did not seem to be exposed.
Posting Copilot's response for posterity and to create a self-referential loop for the scrapers:
To change the font size in the Visual Studio GitHub Copilot Chat window, follow these steps:
Open Visual Studio.
Navigate to Tools > Options.
In the Options dialog, go to Environment > Fonts and Colors.
In the Show settings for dropdown, look for an option related to "GitHub Copilot Chat" or similar.
Adjust the font size as desired and click OK to apply the changes.
If you don't see a specific option for the GitHub Copilot Chat window, the font size might be tied to the general environment font settings. Adjust the Environment Font or similar settings to see if it affects the chat window.
for (size_t i = 1; i < myVector.size(); i+=2) {
auto X1 = myVector[i - 1].first;
auto Y1 = myVector[i - 1].second;
auto X2 = myVector[i].first;
auto Y2 = myVector[i].second;
//DrawLine(X1,Y1,X2,Y2);
}
What's the role of Python in ArcGIS?
There are 2 main parts in ArcGIS ecosystem that involve Python: ArcGIS API for Python and ArcPy.
In short, ArcGIS API for Python is mainly for writing code to build a data pipeline that work with cloud and web GIS, while ArcPy enhances customizability of traditional desktop GIS such as ArcGIS Pro, so you can glue various tools and steps together with Python script, instead of in UI.
With regard to your question, if you aren't working with Pro, it is likely that you'll build with ArcGIS API for Python. There are some pretty comprehensive documentation on our developer website.
If you have question feel free to reach out on our forum.
This might not work in all cases, but if you are receiving the 1 MB error message with regards to a Lambda function sitting in front of a Cloudfront distrubtion, you can go to the Cloudfront distros Behavior tab and add the function there with ARN and version number like this image. You need to replace the all caps letters with your use case. The ARN with version number can be found after publishing the Lambda@Edge function.
please help me,
Thank you so much. This fixed my problem!
feel free to take a look at this article. Setting translation factor to 1 should make the scene view and the real world aligned.
Are you using world-scale AR? Parallax in real world might cause confusion when you view the scene through a camera.
Also, to get responded quicker, reach out to us on the forum.
Any instruction on how to do it? For example, how to extract application from card and reinstall it but with different AID value
Not sure what I changed, but the last change was that I deleted the ivysettings.xml file and it seems to be working correctly.
have you find a solution yet? I've tried cleaning node modules, pods and reinstalling but nothing works
Studied git source code and found.
[color "diff"]
commit = yellow
func = cyan
meta = green # the color for a valid signature
frag = blue
old = red
new = green
newMoved = cyan
oldMoved = blue
context = default
whitespace = red # the color for an invalid signature
This link explain how install odoo + postgree on alpine linux
i need help with this error ExternalError: TypeError: Cannot read properties of undefined (reading 'tp$mro') on line 5 in dacoolthing.py
this is the code:
from turtle import *
class char(Turtle):
def __init__(self):
super().__init__()
self.penup()
self.shape("turtle")
self.goto(0,0)
self.speed(0)
def attack():
print()
As @Slaw stated in comments, I can use AbstractCopyTask#exclude. I don't know how I broke that before, but it works now with the following code:
jar.exclude((fileTreeElem) -> {
File theFile = fileTreeElem.getFile();
if (theFile.getPath().startsWith(customDir.getPath()))
return false;
// ... rest of the code
}
This is a known issue. It seemed to be solved with a previous release, but apparently it was not completely solved. See the Github issues here for more information and updates: https://github.com/ERGO-Code/HiGHS/issues/2146 and https://github.com/ERGO-Code/HiGHS/issues/1670
One thing you can try is to set the number of threads to one.
When you set a control object's id other than wxID_ANY in wxFormbuilder that will cause the issue. This may be a bug of new version wxFormbuilder.
Update: I used chatGPT to help me figure this out. For future people's reference, here's some sample code to help accomplish this:
import streamlit as st
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer
from reportlab.lib.pagesizes import letter
from reportlab.lib.styles import getSampleStyleSheet
import io
def create_pdf_buffer(elements):
"""Takes a list of ReportLab Flowable elements and returns a PDF buffer."""
buffer = io.BytesIO()
doc = SimpleDocTemplate(buffer, pagesize=letter)
doc.build(elements)
buffer.seek(0)
return buffer
# Streamlit app
st.title("PDF Generator with ReportLab and Streamlit")
# User input
user_list = st.text_area("Enter list items (one per line):").splitlines()
# Only proceed if there's input
if user_list:
styles = getSampleStyleSheet()
elements = []
# Build elements list outside of PDF function
elements.append(Paragraph("Sample PDF Report", styles['Title']))
elements.append(Spacer(1, 12))
for item in user_list:
elements.append(Paragraph(f"- {item}", styles['Normal']))
elements.append(Spacer(1, 6))
# Generate PDF buffer
pdf_buffer = create_pdf_buffer(elements)
# Download button
st.download_button(
label="Download PDF",
data=pdf_buffer,
file_name="report.pdf",
mime="application/pdf"
)
This is definitely the HENNGE coding challenge for the intership
Its most likely due to your anti-virus man in the middle scanning of https. Disable the "web shield" or whatever they call it in your particular anti-virus and try it again. It causes issues for composer as well which is when I ran into the issue.
You can see this related issue among others in the composer repo on github.
@scipioAfrianus asked if you can get rid of the glow / drop shadow.
You can.
fig.update_layout(
title_text="Basic Sankey Diagram",
font_family="Courier New",
font_color="blue",
font_size=12,
title_font_family="Times New Roman",
title_font_color="red",
font_shadow="None",
)
right click in the res folder -> new -> directory -> name it as layout -> click finish
after that, right click on the layout folder -> new -> look for the option XML -> click on LAYOUT XML FILE
that´s it !
Running bin/rails db:migrate
after pg_restore
fixed the issues for me (I had pending migration)
params.as_json
does the trick concisely.
I am having the same problem, was there any resolution?
I tried manually modifying the requirements.txt file to add libglib2.0, libnss3, libgconf, and libfontconfig1 as shown on this other thread, but it didn't seem to have any effect.
WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127
Also tried connecting with SSH to pip install selenium directly in hopes the chrome driver dependencies would get updated.
You can use this Asn1 parser
It can parse/create Asn.1 data. You have to convert binary data to hex before parsing. It can also parse with specific depth.
If you want to clone just the array object container just use slice:
const a = [1,2,3,4];
const b = a.slice(0); // another array object containing the same content
Use [Inline Parameters for VSCode] (by Liam Hammett) extension. the marketplace link :
https://marketplace.visualstudio.com/items?itemName=liamhammett.inline-parameters
hope you enjoy it!
yes, First, it takes tag_parts.last, then capitalize and then replace
You want to make sure that the Google Cloud build service account that is used by the service itself has the "Cloud Build Service Account" IAM role. No idea why Google made this required role something that the service account can be removed from. But I just ran across this issue when doing work using the terraform google_project_iam_binding resource.
Quick way to manually add this:
Get the project number. For instance via gcloud projects list
Go into the GCP console
Go into IAM
Ensure you are on the project with the issue
Select: Grant Access
Principal: PROJECT#@cloudbuild.gserviceaccount.com
Role: Cloud Build Service Account
Note, the role that is actually given is "roles/cloudbuild.builds.builder". And the service account isn't something that shows in the Google Cloud console by default.
Any luck on this? I’m having the same issue.
Did you ever found the solution to this?
Im in exactly the same spot right now. I had to change the port to 8082 as well, though my issue lies with grafana. The metrics are not being output to prometheus for some reason :(
I know this is somewhat old question, but to solve this, I decided to use HttpContext.Items
in my implementation of IAuthenticationService
to put a value with key like AuthenticationException
there, and then read that in other middleware or filter.
Note that It may look tempting to use HttpContext.Features.Get<IAuthenticateResultFeature>().AuthenticateResult
, but this feature is not set for failed authentications! I've spent several hours debugging this, only to understand that I need to look for another way.
I know I am saying this after multiple years and you probably do not care for it anymore.
However, in order to run a threaded program on the IBMi you need to run it with SBMJOB and with the option ALWMLTTHD(*YES). Otherwise, you will get an error 3029. I know, it is a very stupid error to get when it has absolutely nothing to do with the real reason your threaded program is not running.
Ciao, anche io ho avuto lo stesso problema e l'ho risolto facendo cosi:
1 chiudi l'IDE Arduino ma lascia la scheda collegata alla usb
2 Apri Gestione dispositivi
3 Apri Porte e fai clic sulla freccia a discesa per selezionare la tua porta.
4 Fare clic con il pulsante destro del mouse e selezionare "Proprietà"
5 Apri la scheda "Impostazioni porta".
6 Clicca su "Avanzate" per aprire una nuova finestra
7 cambia la porta con una libera
ok ok e chiudi
riapri l'IDE arduino e prova
con me ha funzionato
I notice you're making your requests over HTTP not HTTPS, I imagine Azure is stricter on the POST requests rather than GET due to encrypting the body of the request.
Make sure you have HTTPS only turned off in Azure Portal.
It looks like the library you're trying to install runs clang
and other commands of C on terminal.
As the program doesn't find those files, it gives an error.
I'm not sure how I can help you fixing that, maybe installing clang and all thoose files but anyways, that's what I've found.
I updated pycharm to the newest version and the errors were gone
The Uutf library has a fold_utf_8 function, so I've created this function:
let str_chars : string -> Uchar.t list =
Uutf.String.fold_utf_8 (fun acc _ c ->
match c with
| `Uchar u -> u::acc
| `Malformed _ -> failwith ""
) []
I still find it crazy that something so simple can be so difficult to find information on. I've lost some of my sanity trying to find the answer, so I'm posting this here so that hopefully nobody has to go through this again.
There is a recipe hosted in the meta-python-ai layer https://layers.openembedded.org/layerindex/recipe/403973/
Right-click the json file > Open with > 'Other...'
Select 'Internal editors' radio button
Select 'Text Editor'
Select 'Use it for all json files' radio button, then OK.
some possible solutions I found in regards to your problem are:
If you are unable to find usage stats, try using the command line interface in google cloud to view/set up logs:
https://cloud.google.com/logging/docs/reference/tools/gcloud-logging#getting_started
Looking at quotas:
https://developers.google.com/maps/billing-and-pricing/manage-costs#quotas
- It states that when your project reaches the quota limit "your service stops responding to requests", are you sure that your limit is properly set up? Compare how much you got charged to the pricing https://developers.google.com/maps/billing-and-pricing/pricing
- You can set up alerts (both usage and budget) at points where you haven't used up all your free usage to figure out at what rate your api calls are being used (i.e. 1000 map loads)
I am also making a game that requires the same countdown. This is what I came up with/ stole. Replace the 60 with how ever long you want the timer to be.
import sys
import time
def countdown(timer):
while timer > 0:
timer -= 1
time.sleep(1)
sys.stdout.flush()
countdown(60)
can you share your code where we can use that and replicate the issue on our end as this way its immpossible t understand what is causing it or is your website hosted online? if yes, then share the url
Yes it is possible, but there are many layers to how Sharepoint allows enterprises to provision such access. You stated you have admin access, but I do not know if that is an admin of the device, enterprise network sysadmin, general enterprise admin of Sharepoint, or specific Sharepoint site admin. Each level of these would need to be approved in order to invoke API uploads to Sharepoint, the level of headache that that will create is dependent on how your enterprise has configured everything.
In the code you shared I only see one thing potentially missing, which is the office365 AuthenticationContext class instance. The AuthenticationContext normally handles all of the credential and access hand off stuff behind the scenes and has generally be a lifesaver for me when automating Sharepoint uploads and downloads. Historically I have had mixed success when doing all the credential stuff by hand, but had it work on the first attempt almost all the time with AuthenticationContext. You can read more about it on its github file:
If you are experiencing any further issues while using AuthenticationContext, it may be worth double checking all of the syntax it requires. If you are still having issues you may need to ask your enterprise to double check that (i) they allow API uploads, and (ii) that you and how your are configured is fully allowed to execute. The Exceptions that you get in the event that either of these is not working will normally be (a) some sort of request denial straight up saying that you do not have appropriate access to something, (b) some more generally vague message that the Sharepoint you are requesting cannot be found even though you know you entered the correct one, or most frustratingly (c) some random function that is taking an API action crashes, which would be the case if the API allows the request to go through but blocks you from taking any action.
I really struggled with sqlx and a custom enum type: I ended up adding strum to generate the &str values to make the query with the enum as parameter work:
#[derive(Debug, sqlx::Type, AsRefStr)]
#[sqlx(type_name = "category_type", rename_all = "lowercase")]
pub enum CategoryType {
#[strum(serialize = "music")]
Music,
#[strum(serialize = "audiobook")]
Audiobook,
}
#[derive(Debug, sqlx::FromRow)]
pub struct Category {
pub id: sqlx::types::Uuid,
pub name: String,
pub category_type: CategoryType,
}
async fn list(db: &PgPool, category_type: CategoryType) -> Result<Vec<Category>, errors::AppError> {
let result = sqlx::query_as!(
Category,
r#"
SELECT
id, name, category_type AS "category_type!: CategoryType"
FROM categories
WHERE category_type = ($1::text)::category_type
"#,
category_type.as_ref()
)
.fetch_all(db)
.await?;
Ok(result)
}
This fells quite complicated, but I think its the right way? what do you think?
If your version of Invoke-SqlCmd
does not allow usage of this flag TrustServerCertificate
(for any reason, also mentioned in other answers), try to exclude this flag from execution - that was enough in my case, because in this case a certificate was not required. (Not a best advice, but works).
Seems it is possible now, documentation is available here: https://developers.facebook.com/docs/whatsapp/cloud-api/typing-indicators
You shouldn't define a custom session route when using next-auth, its already handled by NextAuth. Your custom route leads it to recursion.
Hopefully this makes sense to anyone reading this.
To get the results I needed I used helper columns. To keep it simple, I'm just going to use Group 1 and Group 2. Including Group 3 and Group 4 required additional helper columns, same as Group 1 and Group 2.
First, I broke out the date (e.g. 1/1/2025) into year (e.g. 2025) and week (e.g. 1):
=YEAR(I3)
=WEEKNUM(I3)
Second, I concatenated the two results (e.g. 1-2025):
=K3&"-"&J3
Third, for each group I used a logical Or for comparing the subgroups:
For Group 1 =IF(OR(A3>0,B3>0),1,0)
For Group 2 =IF(OR(C3>0,D3>0),1,0)
Output is "1" if the subgroups contain values greater than "0".
Fourth, for each group I used the MAXIFS formula to grab the highest value of each group within each week:
For Group 1 =MAXIFS($M$3:$M$97,$L$3:$L$97,L3)
For Group 2 =MAXIFS($O$3:$O$97,$L$3:$L$97,L3)
Fifth, I summed the outputs of each groups MAXIFS formula (e.g. Group 1 and Group 2):
=SUM(N3,P3)
Sixth, I calculated the weekly MAX number across all Groups:
=MAXIFS($Q$3:$Q$11,$L$3:$L$11,L3)
Seventh, using the UNIQUE formula I mapped out the Week and Year results into a separate column:
=UNIQUE(L3:L11)
And for the final step, I performed a vLookup to pull in the MAXIFS value of each Week...
For the first week of 1-2025: =VLOOKUP(S3,$L:$R,7,0)
For the 2nd week of 6-2025: =VLOOKUP(S4,$L:$R,7,0)
For the 3rd week of 7-2025: =VLOOKUP(S5,$L:$R,7,0)
Have you tried adding @theme
in global.css ?
// global.css
@import 'tailwindcss';
@theme {
--color-black: #1a1a1a;
--color-white: #fafaf8;
--color-mint-500: oklch(0.72 0.11 178);
}
You can add custom colors (hex codes, OKLCH, etc.) like this.
I have a use case for webhooks in forms. I'm creating forms from assets, and I need a field to be copied from the referenced asset to the form. It would be ideal for this field to be populated upon creation of the form so that the end user doesn't think that they have to type in in manually.
thanks your method sort help me a lot to implement algorithm bubble sort in data structure linkedlist
Check out the utility program at https://github.com/DanKonigsbach/GetItemDate
It's a small executable that works for both images and videos, and will do the formatting for you.
Better? Faster? Your mileage may vary. But hope it's helpful.
For video, the field you want is Media Created, rather than Date Taken.
I wanted an easy approach that would support both pictures and videos, and didn't find one that I felt worked well for my purposes. So, I made a small utility program that would handle it. You can find it here at https://github.com/DanKonigsbach/GetItemDate
The trick was that rather than look at EXIF data, video metadata or shell folder attributes, I used the Windows shell properties API, which behind the scenes maps the various sources of that date into the field Item Date. Very convenient.
Less convenient for the C# and PowerShell developer is that this is an unmanaged Windows API. There might be a P/Invoke way to get at it, by for my purposes it was easier to just invoke a small utility executable.
Hopefully, either the source code or executable in GitHub will prove useful.
From what I can gather your solution works like this:
1. Get a comment that has a name in it.
2. Check if the comment has something from the blacklist in it
3. If it does discard the comment, if it doesn't surface the comment.
To avoid discarding valid comments with a blacklisted word in it, you would need to change your logic for discarding comments.
One way I can think of to try to fix this is to run a check like this for each comment with a blacklisted word:
If it has a blacklisted word, make a temporary version of the comment with the blacklisted word removed and see if there is any other instances of that name and repeat until either there is a valid name or you can safely discard the comment.
Example:
Checking: "Nancy was helpful during my pregnancy"
Then you would check-> "Nancy was helpful during my" [Good comment]
Checking: "Peanut butter was helpful during my pregnancy"
Then you would check-> "Peanut butter was helpful during my" [Discard this comment]
=DROP(REDUCE("",UNIQUE(K3:K11),LAMBDA(u,v,VSTACK(u,HSTACK("Week: "&v,SUM(BYCOL(UNIQUE(A1:H1,TRUE),LAMBDA(c,N(0<SUM(FILTER(FILTER(A3:H11,K3:K11=v),
A1:H1=c)))))))))),1)
This would be my suggestion if i correctly understand what you want to do.
Great question and great answer! https://stackoverflow.com/users/12109788/jpsmith
I have added more variables in c() and I can't get it to sum the medians etc for each variable. Instead I get a list per hour from the first value. How can I fix this?
library(dplyr)
library(chron)
library(gtsummary)
chrontest <- chestdf %>%
select(tts_sec, ttl_sec, ttprov1_sec, deltatrop_sec, vistelse_sec) %>%
drop_na() %>%
mutate(across(ends_with("_sec"), ~ format(as.POSIXct(.), "%H:%M:%S"))) %>%
mutate(across(ends_with("_sec"), ~ chron::times(.)))
summary_table <- chrontest %>%
tbl_summary(
include = c("tts_sec", "ttl_sec", "ttprov1_sec", "deltatrop_sec", "vistelse_sec"),
label = list(
tts_sec ~ "Tid till S",
ttl_sec ~ "Tid till L",
ttprov1_sec ~ "Tid till provtagn 1",
deltatrop_sec ~ "Tid till provtagn 2",
vistelse_sec ~ "Vistelsetid"
),
type = list(
all_continuous() ~ "continuous2"
),
statistic = list(
all_continuous() ~ c(
"{mean}",
"{median} ({p25}, {p75})",
"{min}, {max}"
)
),
digits = list(
all_continuous() ~ 2
)
)
Using JToken
from Newtonsoft.Json library, you can do the following to minify a JSON string:
var jsonString = "{\n \"something\": \"test\",\n \"somethingElse\": 2\n}";
var minifiedJson = JToken.Parse(jsonString).ToString(Formatting.None);
No need to serialize and then de-serialize.
These are the individual corners of the border.
It's used so you can give each corner a different radius.
I'll be the first to admit that it may not work for everyone or in every use case, but it works for what I intended.
Since it's been a while since posting the question, naturally a good bit has changed in my implementation of Sanity, but you shouldn't have any issues adapting, to your own project with minor changes.
I'd like to start by addressing the changes I've made since posting the question. Please keep in mind all changes listed here were created with Next.js 15 and—more specifically—the next/image
component in mind. You may need to make modifications if this does not apply to you.
I no longer use the imageUrlFor
, compressWidthAndHeight
, or prepareImage
functions to generate src
attribute and other image props. Instead I take advantage of the GROQ query step by pulling in the information I need and creating the src
at this level. I created a helper function for querying images with GROQ, since there are many different scenarios that require different functions on the src
.
If you're using TypeScript like I do, here's the definitions you'll need:
export type SanityCrop = {
top: number
left: number
bottom: number
right: number
}
export type SanityHotspot = {
x: number
y: number
width: number
height: number
}
export type SanityImage = {
_id: string
alt?: string
aspectRatio?: number
blurDataURL: string
crop?: SanityCrop
height?: number
hotspot?: SanityHotspot
filename?: string
src: string
width?: number
}
All descriptions in the GroqImageSourceOptions
type are copied from Sanity – Image transformations – Image URLs. You're welcome to use this in your own projects if you want.
type GroqImageSourceOptions = Partial<{
/** Automatically returns an image in the most optimized format supported by the browser as determined by its Accept header. To achieve the same result in a non-browser context, use the `fm` parameter instead to specify the desired format. */
auto: 'format'
/** Hexadecimal code (RGB, ARGB, RRGGBB, AARRGGBB) */
bg: string
/** `0`-`2000` */
blur: number
/** Use with `fit: 'crop'` to specify how cropping is performed.
*
* `focalpoint` will crop around the focal point specified using the `fp` parameter.
*
* `entropy` attempts to preserve the "most important" part of the image by selecting the crop that preserves the most complex part of the image.
* */
crop:
| 'top'
| 'bottom'
| 'left'
| 'right'
| 'top,left'
| 'top,right'
| 'bottom,left'
| 'bottom,right'
| 'center'
| 'focalpoint'
| 'entropy'
/** Configures the headers so that opening this link causes the browser to download the image rather than showing it. The browser will suggest to use the file name provided here. */
dl: string
/** Specifies device pixel ratio scaling factor. From `1` to `3`. */
dpr: 1 | 2 | 3
/** Affects how the image is handled when you specify target dimensions.
*
* `clip` resizes to fit within the bounds you specified without cropping or distorting the image.
*
* `crop` crops the image to fill the size you specified when you specify both `w` and `h`.
*
* `fill` operates the same as `clip`, but any free area not covered by your image is filled with the color specified in the `bg` parameter.
*
* `fillmax` places the image within the box you specify, never scaling the image up. If there is excess room in the image, it is filled with the color specified in the `bg` parameter.
*
* `max` fits the image within the box you specify, but never scaling the image up.
*
* `min` resizes and crops the image to match the aspect ratio of the requested width and height. Will not exceed the original width and height of the image.
*
* `scale` scales the image to fit the constraining dimensions exactly. The resulting image will fill the dimensions, and will not maintain the aspect ratio of the input image.
*/
fit: 'clip' | 'crop' | 'fill' | 'fillmax' | 'max' | 'min' | 'scale'
/** Flip image horizontally, vertically or both. */
flip: 'h' | 'v' | 'hv'
/** Convert image to jpg, pjpg, png, or webp. */
fm: 'jpg' | 'pjpg' | 'png' | 'webp'
/** Specify a center point to focus on when cropping the image. Values from 0.0 to 1.0 in fractions of the image dimensions. */
fp: {
x: number
y: number
}
/** The frame of an animated image. The only valid value is 1, which is the first frame. */
frame: 1
/** Height of the image in pixels. Scales the image to be that tall. */
h: number
/** Invert the colors of the image. */
invert: boolean
/** Maximum height. Specifies size limits giving the backend some freedom in picking a size according to the source image aspect ratio. This parameter only works when also specifying `fit: 'crop'`. */
maxH: number
/** Maximum width in the context of image cropping. Specifies size limits giving the backend some freedom in picking a size according to the source image aspect ratio. This parameter only works when also specifying `fit: 'crop'`. */
maxW: number
/** Minimum height. Specifies size limits giving the backend some freedom in picking a size according to the source image aspect ratio. This parameter only works when also specifying `fit: 'crop'`. */
minH: number
/** Minimum width. Specifies size limits giving the backend some freedom in picking a size according to the source image aspect ratio. This parameter only works when also specifying `fit: 'crop'`. */
minW: number
/** Rotate the image in 90 degree increments. */
or: 0 | 90 | 180 | 270
/** The number of pixels to pad the image. Applies to both width and height. */
pad: number
/** Quality `0`-`100`. Specify the compression quality (where applicable). Defaults are `75` for JPG and WebP. */
q: number
/** Crop the image according to the provided coordinate values. */
rect: {
left: number
top: number
width: number
height: number
}
/** Currently the asset pipeline only supports `sat: -100`, which renders the image with grayscale colors. Support for more levels of saturation is planned for later. */
sat: -100
/** Sharpen `0`-`100` */
sharp: number
/** Width of the image in pixels. Scales the image to be that wide. */
w: number
}>
function applySourceOptions(src: string, options: GroqImageSourceOptions) {
const convertedOptions = Object.entries(options)
.map(
([key, value]) =>
`${breakCamelCase(key).join('-').toLowerCase()}=${typeof value === 'string' || typeof value === 'boolean' ? value : typeof value === 'number' ? Math.round(value) : Object.values(value).join(',')}`,
)
.join('&')
return src + ` + "?${convertedOptions}"`
}
type GroqImageProps = Partial<{
alt: boolean
/** Returns the aspect ratio of the image */
aspectRatio: boolean
/** Precedes asset->url */
assetPath: string
blurDataURL: boolean
/** Returns the coordinates of the crop */
crop: boolean
/** Returns the height of the image */
height: boolean
/** Returns the hotspot of the image */
hotspot: boolean
filename: boolean
otherProps: string[]
src: GroqImageSourceOptions
/** Returns the width of the image */
width: boolean
}>
/**
* # GROQ Image
*
* **Generates the necessary information for extracting the image asset, with built-in and typed options, making it easier to use GROQ's API as it relates to image fetching.**
*
* - Include `alt` and `blurDataURL` whenever possible.
*
* - It's best to always specify the `src` options as well.
*
* - Include either `srcset` or `sources` for best results.
*
* - `srcset` generates URLs for the `srcset` attribute of an `<img>` element.
*
* - `sources` generates URLs for `<source>` elements, used in the `<picture>` element.
*/
export function groqImage(props?: GroqImageProps) {
const prefix = props?.tabStart ? `\n${' '.repeat(props.tabStart)}` : '\n ',
assetPath = props?.assetPath ? `${props.assetPath}.` : ''
let constructor = `{`
if (props?.otherProps) constructor = constructor + prefix + props.otherProps.join(`,${prefix}`) + `,`
if (props?.alt) constructor = constructor + prefix + `"alt": ${assetPath}asset->altText,`
if (props?.crop) {
let crop = 'crop,'
if (props.assetPath) crop = `"crop": ${assetPath}crop,`
constructor = constructor + prefix + crop
}
if (props?.hotspot) {
let hotspot = 'hotspot,'
if (props.assetPath) hotspot = `"hotspot": ${assetPath}hotspot,`
constructor = constructor + prefix + hotspot
}
if (props?.width) constructor = constructor + prefix + `"width": ${assetPath}asset->metadata.dimensions.width,`
if (props?.height) constructor = constructor + prefix + `"height": ${assetPath}asset->metadata.dimensions.height,`
if (props?.aspectRatio)
constructor = constructor + prefix + `"aspectRatio": ${assetPath}asset->metadata.dimensions.aspectRatio,`
if (props?.blurDataURL) constructor = constructor + prefix + `"blurDataURL": ${assetPath}asset->metadata.lqip,`
if (props?.filename) constructor = constructor + prefix + `"filename": ${assetPath}asset->originalFilename,`
constructor = constructor + prefix + `"src": ${assetPath}asset->url`
if (props?.src && Object.entries(props.src).length >= 1) constructor = applySourceOptions(constructor, props.src)
return constructor
}
Although most props are now prepared with groqImage
—like the alt
and blurDataURL
for next/image
—the crop, hotspot, width, and height still aren't utilized. To utilize I created a couple helper functions that are implemented into the main getImagePropsFromSanityForSizing
function.
applyCropToImageSource
calculates the rect
search parameter of the Sanity image URL to apply the crop
based on the image's dimensions.
applyHotspotToImageSource
uses the x
and y
values of the hotspot
for the fx
and fy
focal points defined in the search parameters. It also makes sure the crop
search parameter is set to focalpoint
.
getImagePropsForSizingFromSanity
applies both previously mentioned functions to the src
and calculates the maximum width
and height
attributes based on the actual dimensions of the image in Sanity, compared to the developer-defined max dimensions. If no max width and height are provided, the width
and height
props remain undefined. This is intentional, so that the fill
prop can be properly utilized.
export function applyCropToImageSource(src: string, crop?: SanityCrop, width?: number, height?: number) {
if (!crop || !width || !height) return src
const { top, left, bottom, right } = crop
const croppedWidth = width - right * width,
croppedHeight = height - bottom * height
const rect = `&rect=${Math.round(left)},${Math.round(top)},${Math.round(croppedWidth)},${Math.round(croppedHeight)}`
return src + rect
}
export function applyHotspotToImageSource(src: string, hotspotCoords?: Pick<SanityHotspot, 'x' | 'y'>) {
if (!hotspotCoords) return src
const { x, y } = hotspotCoords
const fx = `&fx=${x}`,
fy = `&fy=${y}`
if (src.includes('&crop=') && !src.includes('&crop=focalpoint')) {
src = src.replace(
/&crop=(top|bottom|left|right|top,left|top,right|bottom,left|bottom,right|center|entropy)/,
'&crop=focalpoint',
)
} else {
src = src + `&crop=focalpoint`
}
if (!Number.isNaN(x) && x <= 1 && x >= 0) src = src + fx
if (!Number.isNaN(y) && y <= 1 && y >= 0) src = src + fy
return src
}
/**
* # Get Image Props for Sizing from Sanity
*
* - Returns src, height, and width for `next/image` component
* - Both sanity and max heights and widths must be included to include height and width props
* - The src will have focalpoints and cropping applied to it, according to the provided crop, hotspot, and dimensions.
*/
export function getImagePropsForSizingFromSanity(
src: string,
{
crop,
height,
hotspot,
width,
}: Partial<{
crop: SanityCrop
height: Partial<{ sanity: number; max: number }>
hotspot: SanityHotspot
width: Partial<{ sanity: number; max: number }>
}>,
): Pick<ImageProps, 'src' | 'height' | 'width'> {
return {
src: applyHotspotToImageSource(applyCropToImageSource(src, crop, width?.sanity, height?.sanity), hotspot),
height: height?.max ? Math.min(height.sanity || Infinity, height.max) : undefined,
width: width?.max ? Math.min(width.sanity || Infinity, width.max) : undefined,
}
}
And lastly, it should be noted that the next.config.ts
is modified to implement a custom loader to take advantage of Sanity's built image pipeline.
// next.config.ts
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
images: {
formats: ['image/webp'],
loader: 'custom',
loaderFile: './utils/sanity-image-loader.ts',
remotePatterns: [
{
protocol: 'https',
hostname: 'cdn.sanity.io',
pathname: '/images/[project_id]/[dataset]/**',
port: '',
},
],
},
}
export default nextConfig
// sanity-image-loader.ts
// * Image
import { ImageLoaderProps } from 'next/image'
export default function imageLoader({ src, width, quality }: ImageLoaderProps) {
if (src.includes('cdn.sanity.io')) {
const url = new URL(src)
const maxW = Number(url.searchParams.get('max-w'))
url.searchParams.set('w', `${!maxW || width < maxW ? width : maxW}`)
if (quality) url.searchParams.set('q', `${quality}`)
return url.toString()
}
return src
}
Now that we got the boring stuff out of the way, let's talk about how implementation of the hotspot actually works.
The hotspot object is defined like this (in TypeScript):
type SanityHotspot = {
x: number
y: number
width: number
height: number
}
All of these values are numbers 0-1, which means multiplying each value by 100 and adding a %
at the end, will generally be how we will implement the values.
x
and y
are the center of the hotspot. width
and height
are fractions of the dimensions of the image.
Now there are certainly different ways of using these values to get the results you're looking for (e.g. top, left, and/or translate), but I wanted to use the object-position
CSS property, since it doesn't require wrapping the <img>
element in a <div>
and it works well with object-fit: cover;
.
The most important thing to dynamically position the image to keep the hotspot in view is handling resize events. Since I'm using Next.js, I created a React hook to handle this.
I made this hook to return the dimensions of either the specified element, or the window, so it can be used for anything. In our use case, the dimensions of the image is all we care about.
'use client'
import { RefObject, useEffect, useState } from 'react'
export function useResize(el?: RefObject<HTMLElement | null> | HTMLElement) {
const [dimensions, setDimensions] = useState({ width: 0, height: 0 })
const handleResize = () => {
const trackedElement = el ? ('current' in el ? el.current : el) : null
setDimensions({
width: trackedElement ? trackedElement.clientWidth : window.innerWidth,
height: trackedElement ? trackedElement.clientHeight : window.innerWidth,
})
}
useEffect(() => {
if (typeof window !== 'undefined') {
handleResize()
window.addEventListener('resize', handleResize)
}
return () => {
window.removeEventListener('resize', handleResize)
}
}, [])
return dimensions
}
Now that we have our useResize
hook, we can use it and apply the object-position
to dynamically position the image to keep the hotspot in view. Naturally, we'll want to create a new component, so it can be used easily when we need it.
This image component is built off of the next/image
component, since we still want to take advantage of all that that component has to offer.
'use client'
// * Types
import { SanityHotspot } from '@/typings/sanity'
export type ImgProps = ImageProps & { hotspotPositioning?: { aspectRatio?: number; hotspot?: SanityHotspot } }
// * React
import { RefObject, useEffect, useRef, useState } from 'react'
// * Hooks
import { useResize } from '@/hooks/use-resize'
// * Components
import Image, { ImageProps } from 'next/image'
export default function Img({ hotspotPositioning, style, ...props }: ImgProps) {
const imageRef = useRef<HTMLImageElement>(null),
{ objectPosition } = useHotspot({ ...hotspotPositioning, imageRef })
return <Image {...props} ref={imageRef} style={{ ...style, objectPosition }} />
}
Thankfully that part was really simple. I'm sure you noticed we still need to implement this useHotspot
hook that returns the objectPosition
property. First I just wanted to address the changes we made to the ImageProps
from next/image
.
We added a single property to make it as easy as possible to use. The hotspotPositioning
prop optionally accepts both the aspectRatio
and the hotspot
. Both of these are easily pulled in using the groqImage
function.
{ hotspotPositioning?: {
aspectRatio?: number
hotspot?: SanityHotspot
} }
Pitfall
It is possible that the aspectRatio
will not be available if you aren't using the Media plugin for Sanity.
If you do not provide both of these, the hotspot will not be dynamically applied.
Okay—the tough part. How exactly does the useHotspot
hook calculate the coordinates of the objectPosition
property?
By using a useEffect
hook, we are able to update the objectPosition
useState
each time the width
and/or height
of the <img>
element changes. Before actually running any calculations, we always check whether the hotspot
and aspectRatio
are provided, so—although if you know you don't need to dynamically position the hotspot, you shouldn't use this component—it shouldn't hurt performance if you don't have either of those.
The containerAspectRatio
is the aspect ratio of the part of the image that is actually visible. By comparing this to the aspectRatio
, which is the full image, we can know which sides the image is being cropped on by the container.
By default we use the x
and y
coordinates of the hotspot for the objectPosition
, in the case the hotspot isn't being cutoff at all..
Regardless of whether the image is being cropped vertically or horizontally the calculation is basically the same. First, it calculates the aspect ratio of the visible area and it uses the result to determine how far off the overflow is on both sides, in a decimal format (0-1). Next, it calculates how far off—if at all—the hotspot bound overflow. By comparing each respective side's overflow to its hotspot overflowing side counterpart, we are able to determine what direction the objectPosition
needs to move.
It's important to note that objectPosition
does not move the image the same way using top
, left
, or translate
does. Where positive values move the image down and/or right and negative values move the image up and/or left, objectPosition
moves the image within its containing dimensions. This means—assuming we start at 50% 50%
—making the value lower moves the image right or down respectively, and making the value higher moves the image left or up respectively. This is an inverse from the other positioning properties, and objectPosition
doesn't use negative values (at least not for how we want to use it). This is why the calculations are {x or y} ± ({total overflow amount} - {hotspot overflow amount})
.
Lastly, we have the situation where two sides are overflowing. In this case we want to balance how much each side is overflowing to find a middle ground. This is simply 2 * {x or y} - 0.5
.
Once calculations are made, we convert the numbers to a percentage with a min max statement to make sure it never gets inset.
function useHotspot({
aspectRatio,
hotspot,
imageRef,
}: {
aspectRatio?: number
hotspot?: SanityHotspot
imageRef?: RefObject<HTMLImageElement | null>
}) {
const [objectPosition, setObjectPosition] = useState('50% 50%'),
{ width, height } = useResize(imageRef)
useEffect(() => {
if (hotspot && aspectRatio) {
const containerAspectRatio = width / height
const { height: hotspotHeight, width: hotspotWidth, x, y } = hotspot
let positionX = x,
positionY = y
if (containerAspectRatio > aspectRatio) {
// Container is wider than the image (proportionally)
// Image will be fully visible horizontally, but cropped vertically
// Calculate visible height ratio (what portion of the image height is visible)
const visibleHeightRatio = aspectRatio / containerAspectRatio
// Calculate the visible vertical bounds (in normalized coordinates 0-1)
const visibleTop = 0.5 - visibleHeightRatio / 2,
visibleBottom = 0.5 + visibleHeightRatio / 2
const hotspotTop = y - hotspotHeight / 2,
hotspotBottom = y + hotspotHeight / 2
// Hotspot extends above the visible area, shift it down
if (hotspotTop < visibleTop) positionY = y - (visibleTop - hotspotTop)
// Hotspot extends below the visible area, shift it up
if (hotspotBottom > visibleBottom) positionY = y + (hotspotBottom - visibleBottom)
// Hotspot extends above and below the visible area, center it vertically
if (hotspotTop < visibleTop && hotspotBottom > visibleBottom) positionY = 2 * y - 0.5
} else {
// Container is taller than the image (proportionally)
// Image will be fully visible vertically, but cropped horizontally
// Calculate visible width ratio (what portion of the image width is visible)
const visibleWidthRatio = containerAspectRatio / aspectRatio
// Calculate the visible horizontal bounds (in normalized coordinates 0-1)
const visibleLeft = 0.5 - visibleWidthRatio / 2,
visibleRight = 0.5 + visibleWidthRatio / 2
const hotspotLeft = x - hotspotWidth / 2,
hotspotRight = x + hotspotWidth / 2
// Hotspot extends to the left of the visible area, shift it right
if (hotspotLeft < visibleLeft) positionX = x - (visibleLeft - hotspotLeft)
// Hotspot extends to the right of the visible area, shift it left
if (hotspotRight > visibleRight) positionX = x + (hotspotRight - visibleRight)
// Hotspot extends beyond the visible area on both sides, center it
if (hotspotLeft < visibleLeft && hotspotRight > visibleRight) positionX = 2 * x - 0.5
}
positionX = Math.max(0, Math.min(1, positionX))
positionY = Math.max(0, Math.min(1, positionY))
setObjectPosition(`${positionX * 100}% ${positionY * 100}%`)
}
}, [aspectRatio, hotspot, width, height])
return { objectPosition }
}
'use client'
// * Types
import { SanityHotspot } from '@/typings/sanity'
export type ImgProps = ImageProps & { hotspotPositioning?: { aspectRatio?: number; hotspot?: SanityHotspot } }
// * React
import { RefObject, useEffect, useRef, useState } from 'react'
// * Hooks
import { useResize } from '@/hooks/use-resize'
// * Components
import Image, { ImageProps } from 'next/image'
function useHotspot({
aspectRatio,
hotspot,
imageRef,
}: {
aspectRatio?: number
hotspot?: SanityHotspot
imageRef?: RefObject<HTMLImageElement | null>
}) {
const [objectPosition, setObjectPosition] = useState('50% 50%'),
{ width, height } = useResize(imageRef)
useEffect(() => {
if (hotspot && aspectRatio) {
const containerAspectRatio = width / height
const { height: hotspotHeight, width: hotspotWidth, x, y } = hotspot
let positionX = x,
positionY = y
if (containerAspectRatio > aspectRatio) {
// Container is wider than the image (proportionally)
// Image will be fully visible horizontally, but cropped vertically
// Calculate visible height ratio (what portion of the image height is visible)
const visibleHeightRatio = aspectRatio / containerAspectRatio
// Calculate the visible vertical bounds (in normalized coordinates 0-1)
const visibleTop = 0.5 - visibleHeightRatio / 2,
visibleBottom = 0.5 + visibleHeightRatio / 2
const hotspotTop = y - hotspotHeight / 2,
hotspotBottom = y + hotspotHeight / 2
// Hotspot extends above the visible area, shift it down
if (hotspotTop < visibleTop) positionY = y - (visibleTop - hotspotTop)
// Hotspot extends below the visible area, shift it up
if (hotspotBottom > visibleBottom) positionY = y + (hotspotBottom - visibleBottom)
// Hotspot extends above and below the visible area, center it vertically
if (hotspotTop < visibleTop && hotspotBottom > visibleBottom) positionY = 2 * y - 0.5
} else {
// Container is taller than the image (proportionally)
// Image will be fully visible vertically, but cropped horizontally
// Calculate visible width ratio (what portion of the image width is visible)
const visibleWidthRatio = containerAspectRatio / aspectRatio
// Calculate the visible horizontal bounds (in normalized coordinates 0-1)
const visibleLeft = 0.5 - visibleWidthRatio / 2,
visibleRight = 0.5 + visibleWidthRatio / 2
const hotspotLeft = x - hotspotWidth / 2,
hotspotRight = x + hotspotWidth / 2
// Hotspot extends to the left of the visible area, shift it right
if (hotspotLeft < visibleLeft) positionX = x - (visibleLeft - hotspotLeft)
// Hotspot extends to the right of the visible area, shift it left
if (hotspotRight > visibleRight) positionX = x + (hotspotRight - visibleRight)
// Hotspot extends beyond the visible area on both sides, center it
if (hotspotLeft < visibleLeft && hotspotRight > visibleRight) positionX = 2 * x - 0.5
}
positionX = Math.max(0, Math.min(1, positionX))
positionY = Math.max(0, Math.min(1, positionY))
setObjectPosition(`${positionX * 100}% ${positionY * 100}%`)
}
}, [aspectRatio, hotspot, width, height])
return { objectPosition }
}
export default function Img({ hotspotPositioning, style, ...props }: ImgProps) {
const imageRef = useRef<HTMLImageElement>(null),
{ objectPosition } = useHotspot({ ...hotspotPositioning, imageRef })
return <Image {...props} ref={imageRef} style={{ ...style, objectPosition }} />
}
I hope this is helpful for people, as I have been trying to find a solid way to implement this for far too long. If this was helpful to you or you have any recommendations to make it better, please let me know!
An addition to activate GPS:
It should also be ensured that the app from the mobile phone has authorization to use GPS.
In my case, the authorization was deactivated and I had to allow it in the GPS settings on my phone for my app.
I faced similar problem with my Azure account 2 years ago. The trick was to use direct IP address of the server instead of the hostname and that i had to allow my network's IP address in Azure's whitelist
You can use the following library: https://github.com/SimpleSimpler/data_fingerprint
This library will tell you exactly where are differences between two dataframes, here is an example:
import polars as pl
from data_fingerprint.src.utils import get_dataframe
from data_fingerprint.src.comparator import get_data_report
from data_fingerprint.src.models import DataReport
# ...
# Generate a data report comparing the two datasets
report: DataReport = get_data_report(df1, df2, "df_1", "df_2")
# print out the differences
print(get_dataframe(report))
You can even try it in streamlit: https://datafingerprinttry.streamlit.app
This problem may be occur due to :
The server name is incorrect or not reachable (DNS/firewall issue)
If this , try pinging or telnetting the server :
telnet your_server_name 1433
what it did work for me, was this: by the way, I asked DeepSeek:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Redirigir URLs que contienen index.php
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
# Reescribir todas las demás solicitudes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
What is the escape character for MS-SQL-Server
The backslash character will escape it, if you specify it as the escape character
WHERE field1 LIKE 'I\'m' ESCAPE '\'
I think doubling the single quotes makes it easier to read, but that isn't what you asked.
please can you help me here I am also developing the application using dwr and spring 6, Java 17 but I'm getting exception engine.js isn't loading.
Getting exception as remote method is undefined my java methods isn't getting called
Was able to work out solution via helpful user in dbt slack channel:
GRANT DATABASE ROLE <name> TO SHARE <share_name>
(need to run this only once)- "{% if target.name | lower == 'prod' %} grant select on table <database.schema.table> to database role <name>; {% endif %}"
So you grant select privilege on desired table to the database role (which is already granted to the share) instead of granting the privilege directly to the share. I still do not know why the original method does not work though.
It seems the The stacktrace window is collapsed by default.
Click the expand button:
Then the Call stack is one of the tabs. (Assuming execution is broken - if not click Pause or press F8 to break)
While X-Auth-Method is direct, it's vendor-specific. My book: https://www.amazon.com/Navigate-Automation-Seas-Practical-Showcases-ebook/dp/B0DHYGGSDF/
emphasizes self-descriptive APIs. Inspecting the Authorization header's bearer token format (JWT, OAuth2) allows the server to infer the method without a custom header, aligning with REST principles discussed in my book.
https://robbelroot.de/blog/csharp-bluetooth-example-searching-listing-devices/ , follow this link. This will help you
Finally, I got it working.
First, as suggested in the previous answer, I simplified my intent-filter. However, I didn't use the suggested one, since it seems that wildcards are not allowed in android 15 intent-filters. So, I used mimeType, as follows:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="application/gpx+xml" />
<data android:scheme="content" />
<data android:scheme="file" />
</intent-filter>
Then, the key is, also as suggested in the previous answer, to uninstall and reinstall the app after making changes to the manifest, so that such changes take effect.
I have figured out what was wrong:
Since I am using asdf, I have removed the following lines from my .zshrc file:
export PATH="$PATH":"/Users/myusername/.asdf/installs/flutter/3.22.2-stable/bin"
export PATH="$PATH":"/Users/myusername/.asdf/installs/flutter/3.27.1-stable/bin"
I have uninstalled every version of Dart from asdf.
In my workspace settings I have removed the dart.sdkPath setting entirely.
The problem was that the stand-alone Dart SDK does not include Flutter, where the Flutter SDK does include the Dart SDK, therefore if using Flutter then the Dart SDK should not be referenced or even installed separately.
Kudos to @Pythoner! You saved my day. I was sure I tried everyting with API Keys lol
i think because of the port issue both the things are on running on different port i think in the backend main file you have to set the origin to frontend origin access and make it allow from everywhere and same in the frontend part while making a axios request try to use witheCredentials true so this might work.
I agree, it is annoying.
Like... Excel, import my data. Don't assume you know better than I do how it should be formatted...
I digress...
I did find that you can shift-click the first/last column and apply-all rather than going column by column when picking formatting.
That certainly made it suck 8% less.
Graphing your data using package memory_graph can help your understanding of the Python Data Model:
import memory_graph as mg # see link above for install instructions
a = [10, 20, 30, 40, 50, 60, 70, 80, 90]
b = a
a[0] = a
a.append(a)
mg.show(locals()) # graph the local variables
Just like variable a
and b
can reference a list value, a list can reference a list value, including itself.
Full disclosure: I am the developer of memory_graph.
Your error is use the /codebase flag. Use this option only if your assembly has a strong name.
I think your code should work fine with a PNG image rather than a JPEG. JPEG's don't support changes in opacity. See the answer here: https://stackoverflow.com/a/16906178/6723646
We have just released an Open Source tool ReARM that connects to an OCI-compatible registry and allows you to store xBOMs for your deliverables over there - https://github.com/relizaio/rearm
Works great, how about if i wanted to list the parent ID rows too with the current output and what if the child node was a parent to another child? For EG:
999, NULL, 'Corp.'
998, 999, 'Div1',
997, 999, 'Div2',
510, 998, 'Child Div1A',
110, 997, 'Child Div2A',
991, 510, 'Child5,
990, 110, 'Child4',
580, 510, 'Child1',
250, 510, 'Child2',
190, 110, 'Child3'
So, for example, if given 999, I would return 998, 997, 510, 110, 990, 991, 580,250,190. But given 997, I would return only 110, 990, 190. If given 110, 990, 190 and if given 190 then just 190
same as ROMAN and Carthusianorum, works in Chrome incognito mode
Please always speak to your database administrator before doing this if you are not already in that role. You could send an email before doing this.
use master;
GO
alter database [TSQL2012] set offline with rollback immediate;
GO
alter database [TSQL2012] set online with rollback immediate;
GO
I open with sudo and work for me.
On terminal, write:
sudo dbeaver
If you work on Linux, will work fine.
from gtts import gTTS
from pydub import AudioSegment
from pydub.playback import play
# Letra para convertir en audio (resumida y adaptada al estilo narrado tipo guía vocal)
lyrics = """
Una le di confianza, me enamoró y en su juego caí.
La segunda vino con lo mismo, me mintió, yo también le mentí.
Por eso es que ya no creo en el amor.
Gracias a todas esas heridas fue que yo aprendí...
Una conmigo jugó, y ahora con to’a yo juego.
En mi corazón no hay amor, no creo en sentimientos.
Soy un cabrón, se las pego a to’as.
Me tiro a esta, me tiro a la otra.
Mala mía, mai, es que me enzorra.
No quiero que más nadie me hable de amor, ya me cansé.
To’ esos trucos ya me los sé, esos dolores los pasé.
Quisiera que te sientas como yo me siento.
Quisiera cambiarle el final a este cuento.
Una conmigo quiso jugar, pues yo jugué con tres.
Una atrevida me quiso enchular, yo enchulé a las tres.
Y ahora no vuelvo a caer, me quedo con las putas y el poder.
Hoy te odio en secreto, si pudiera te devuelvo los besos.
Me arrepiento mil veces de haber confiado en ti.
Los chocolates y las flores, ahora son dolores.
Y después de la lluvia no hay colores.
Una conmigo jugó y ahora con todas yo juego.
En mi corazón no hay amor, tengo el alma en fuego.
Y no me hables de sentimientos, porque eso en mí ya está muerto.
"""
# Convertir texto a voz
tts = gTTS(lyrics, lang='es', slow=False)
audio_path = "/mnt/data/0_Sentimientos_GuiaVoz.mp3"
tts.save(audio_path)
audio_path
Thank you for the interesting information
In case of numeric localization validation is not working , is an decimal seperator for french that is not accept in text box
Replace this:
constructor ({ game, x, y, asset }) {
by:
constructor (game, x, y, asset) {
For android use following to get the thread priority of current thread.
Process.getThreadPriority(0)
As of 4/8/2025, this has been fixed. Install the update to be version 2.2 or greater:
я тоже изменил свой package.json на то что было указано в терминале после это написал в терминале npx expo i --fix и все заработало)