kandi X-RAY | utils Summary
kandi X-RAY | utils Summary
utils
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of utils
utils Key Features
utils Examples and Code Snippets
Community Discussions
Trending Discussions on utils
QUESTION
I'm trying to somehow test a hooked file that uses an Apollo client connection entry and GraphQL:
See the error:
...
ANSWER
Answered 2021-Jun-15 at 20:47I finally found the solution to the problem:
QUESTION
So I created a poll model in my Django app. I'm going thorugh the polling app tutorial posted on the Django website, however, I'm using a remote MySQL database rather than a SQLite database.
...ANSWER
Answered 2021-Jun-15 at 20:06I'm thinking the suspect is an unsuccessful migration. Let's undo it and try again
QUESTION
I am working on a StencilJS
project where I have to use MirageJS
to make fake API data.
How to call server before StencilJS application loads. In react we can call makeServer() in the index.ts file, but in the stencil, we don't have such a file.
How can we call this to start the mirage server, Please can someone suggest the correct way.
Below is my server.ts file mirage/server.ts
...ANSWER
Answered 2021-Jun-15 at 14:02I'm not familiar with MirageJS so I might be off, but can you use globalScript (https://stenciljs.com/docs/config) and then run your Mirage server there?
QUESTION
Yet another question about the style and the good practices. The code, that I will show, works and do the functionality. But I'd like to know is it ok as solution or may be it's just too ugly?
As the question is a little bit obscure, I will give some points at the end.
So, the use case.
I have a site with the items. There is a functionality to add the item by user. Now I'd like a functionality to add several items via a csv-file.
How should it works?
- User go to special upload page.
- User choose a csv-file, click upload.
- Then he is redirected to the page that show the content of csv-file (as a table).
- If it's ok for user, he clicks "yes" (button with "confirm_items_upload" value) and the items from file are added to database (if they are ok).
I saw already examples for bulk upload for django, and they seem pretty clear. But I don't find an example with an intermediary "verify-confirm" page. So how I did it :
- in views.py : view for upload csv-file page
ANSWER
Answered 2021-May-28 at 09:27a) Even if obviously it could be better, is this solution is acceptable or not at all ?
I think it has some problems you want to address, but the general idea of using the filesystem and storing just filenames can be acceptable, depending on how many users you need to serve and what guarantees regarding data consistency and concurrent accesses you want to make.
I would consider the uploaded file temporary data that may be lost on system failure. If you want to provide any guarantees of not losing the data, you want to store it in a database instead of on the filesystem.
b) I pass 'uploaded_file' from one view to another using "request.session" is it a good practice? Is there another way to do it without using GET variables?
There are up- and downsides to using request.session.
- attackers can not change the filename and thus retrieve data of other users. This is also the reason why you should not use a GET parameter here: If you used one, attackers could simpy change that parameter and get access to files of other users.
- users can upload a file, go and do other stuff, and later come back to actually import the file, however:
- if users end their session, you lose the filename. Also, users can not upload the file on one device, change to another device, and then go on with the import, since the other device will have a different session.
The last point correlates with the leftover files problem: If you lose your information about which files are still needed, it makes cleaning up harder (although, in theory, you can retrieve which files are still needed from the session store).
If it is a problem that sessions might end or change because users clear their cookies or change devices, you could consider adding the filename to the UserProfile
in the database. This way, it is not bound to sessions.
c) At first my wish was to avoid to save the csv-file. But I could not figure out how to do it? Reading all the file to request.session seems not a good idea for me. Is there some possibility to upload the file into memory in Django?
You want to store state. The go-to ways of storing state are the database or a session store. You could load the whole CSVFile and put it into the database as text. Whether this is acceptable depends on your databases ability to handle large, unstructured data. Traditional databases were not originally built for that, however, most of them can handle small binary files pretty well nowadays. A database could give you advantages like ACID guarantees where concurrent writes to the same file on the file system will likely break the file. See this discussion on the dba stackexchange
Your database likely has documentation on the topic, e.g. there is this page about binary data in postgres.
d) If I have to use the tmp-file. How should I handle the situation if user abandon upload at the middle (for example, he sees the confirmation page, but does not click "yes" and decide to re-write his file). How to remove the tmp-file?
Some ideas:
- Limit the count of uploaded files per user to one by design. Currently, your filename is based on a timestamp. This breaks if two users simultaneously decide to upload a file: They will both get the same timestamp, and the file on disk may be corrupted. If you instead use the user's primary key, this guarantees that you have at most one file per user. If they later upload another file, their old file will be overwritten. If your user count is small enough that you can store one leftover file per user, you don't need additional cleaning. However, if the same user simultaneusly uploads two files, this still breaks.
- Use a unique identifier, like a UUID, and delete the old stored file whenever the user uploads a new file. This requires you to still have the old filename, so session storage can not be used with this. You will still always have the last file of the user in the filesystem.
- Use a unique identifier for the filename and set some arbitrary maximum storage duration. Set up a cronjob or similar that regularly goes through the files and deletes all files that have been stored longer than your specified maximum duration. If a user uploads a file, but does not do the actual import soon enough, their data is deleted, and they would have to do the upload again. Here, your code has to handle the case that the file with the stored filename does not exist anymore (and may even be deleted while you are reading the file).
You probably want to limit your server to one file stored per user so that attackers can not fill your filesystem.
e) Small additional question : what kind of checks there are in Django about uploaded file? For example, how could I check that the file is at least a text-file? Should I do it?
You definitely want to set up some maximum file size for the file, as described e.g. here. You could limit the allowed file extensions, but that would only be a usability thing. Attackers could also give you garbage data with any accepted extension.
Keep in mind: If you only store the csv as text data that you load and parse everytime a certain view is accessed, this can be an easy way for attackers to exhaust your servers, giving them an easy DoS attack.
Overall, it depends on what guarantees you want to make, how many users you have and how trustworthy they are. If users might be malicious, you want to keep all possible kinds of data extraction and resource exhaustion attacks in mind. The filesystem will not scale out (at least not as easily as a database).
I know of a similar setup in a project where only a handful of priviliged users are allowed to upload stuff, and we can tolerate deletion of all temporary files on failure. Users will simply have to reupload their files. This works fine.
QUESTION
I'd like to implement UPDATE (method PUT) operation for REST api. From front-end application my controller method expects map of values, for example:
...ANSWER
Answered 2021-Jun-15 at 13:09You can convert your User
object to a Map
and work as follow:
- convert
User
to aMap
original object - add all items to from
userForm
tooriginal
- convert the original to a
User
class - do what you need with the updated user
Basically the code is something like that:
QUESTION
So I am relatively new to programming, and I have been working on this task app, where I want to save the data such as task name and more, given by the user. I am trying to accomplish this using Room. Now, initially, when I tried to do it, the app would crash since I was doing everything on the main thread probably. So, after a little research, I came to AsyncTask, but that is outdated. Now finally I have come across the Executer. I created a class for it, but I am a little unsure as to how I can implement it in my app. This is what I did :
Entity Class :
...ANSWER
Answered 2021-Jun-14 at 12:03First make a Repository class and make an instance of your DAO
QUESTION
I'm currently working on a project running a jboss backend server (server-ear:ear exploded artefact) and a java gui (java 11) as frontend.
The backend contains a java service bean which accesses a database server and throws a custom exception (extends exceptions), if the variable is not found. The GUI catches the custom exceptions with a try and catch block.
The code is build and run inside of Intellij + Maven.
If i try to execute the code following arrow pops up at runtime:
...ANSWER
Answered 2021-Jun-15 at 10:54So for anyone interested what the problem was:
Since we are using a custom logger (ServiceLoggingInvocationHandler) which try catched the exceptions of an invoke method, the catched exceptions were already wrapped with an invocation exception and were not the original exceptions. To solve the problem we needed to unwrap the exceptions again before forwarding them.
Since the logger was only used in debugging mode and only when specified the problem was only occurring for me.
QUESTION
Starting with the sample from https://docs.gradle.org/current/samples/sample_jvm_multi_project_with_code_coverage.html (i.e., the code here https://github.com/gradle/gradle/tree/master/subprojects/docs/src/samples/java/jvm-multi-project-with-code-coverage ) and simply adding Spring Boot by changing application/build.gradle
to
ANSWER
Answered 2021-Jun-01 at 20:54Just do that and you will be fine (all external classes will be excluded):
QUESTION
Hello i have alert component which has flag isVisible, this flag is becoming true when component is created, and also in created HOOK i have setTimeout which starts if component receives DESTROY boolean prop
...ANSWER
Answered 2021-Jun-15 at 07:31Your need to use fake timers here.
After all imports call jest.useFakeTimers()
.
Then in test after mounting the component call jest.runTimersToTime(2500)
. And after that you can do your assertions. Test example:
QUESTION
I have old django project and new django project. I created dump file from database of old django. And also I made changes in tables and created new tables.
Now I want to load that dump file to my new django app. I am facing errors when I firstly migrate then restore data or firstly restore then migrate.. When I do migration first, it says tables already exist.
When I do restore first , it says django.db.utils.ProgrammingError: relation "django_content_type" already exists
I use migrate --fake
error goes but new tables are not created in database.
I spent 3-4 days but could not succeed.
Please, help me if you can.
PS: my database is postgresql
...ANSWER
Answered 2021-Jun-15 at 07:00This is not straightforward and will need some manual interventions and it depends on what do you want to do in the future
If the tables that already exist in the database have a stable design and won't be changed or you can do the changes manually using SQL statements then set
managed = False
to the models' meta, this will make Django skip making migrations for those modelsIf you want to keep the power of migration in the new project for all models then this will more complex
- Delete all your migrations
- You need to make your models equivalent to your database, you can set
managed=False
for new models likeUsers
- Run
python manage.py makemigrations
, this will create the structure of the initial database. - Fake running the migrations
python manage.py migrate --fake
- Dump the records of django_migrations table
- Create a new empty migration (with --empty) and add the SQL statements of the
django_migrations
table to it usingmigrations.RunSQL()
- now fake again so you skip that new migration.
- Now you are ready to use migrations as usual.
When installing new database, you will just need to run python manage.py migrate
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install utils
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page