海外TECH |
MakeUseOf |
How to Fix Color Management Not Working on Windows |
https://www.makeuseof.com/how-to-fix-color-management-stopped-working-in-windows/
|
color |
2022-12-31 16:15:15 |
海外TECH |
DEV Community |
Test your django Project |
https://dev.to/fayomihorace/test-your-django-project-4ei9
|
Test your django ProjectOne of the best practices in software engineering is to write various kinds of tests after or before we write code according to the method we use for development like TDD Test Driven Development In this tutorial we will learn the basics of the testing with Django This tutorial is the fourth part of a tutorial course in which you ll learn and understand the basics of Django by building a clone of the popular website Netflix First what to test Normally it s important to test all aspects of our code that means we do not test any libraries or functionality provided as part of Python or Django We should trust our framework Django and other libraries However in the real world we can t test all our code most of the time but we need to test core features and tricky code In this course we will test the following features movies listing and filteringregistrationlogin There are several kinds of test types but in this tutorial we will focus on integration tests which involves the entire application all parts together Testing movie listing and filteringLet s create the test class Open netflix tests py file it has been created by default with the app and add this code netflix tests pyfrom HTTP import HTTPStatusfrom copy import deepcopyfrom django contrib auth models import Userfrom Django test import TestCasefrom django contrib import authfrom netflix models import Category Movieclass IndexTests TestCase def setUp self self category Category objects create name Action self spider man movie Movie objects create name Spider man category self category self avatar movie Movie objects create name Avatar category self category def test index render all movies self pass def test index filter movies self passExplanation The test class is IndexTests which inherits from django test TestCase It contains tests cases test index render all movies to test that index route renders all movies and test index filter movies to test that the filter feature works well Note each test is a function of the class with a name starting with test It also contains a method setUp which is a default method defined by Django test frameworks to set up the testing environment before each test case It runs before each test case Inside that method we have created a category instance as an attribute to IndexTests class We have also created two movies instance for that category We have created them because we need to have at least one category and some movies that we can display to test the listing feature That is why it s called Setup We should put in it all data and actions required to perform the test Note each test is isolated that means to run the test Django will do this run IndexTests setUp to create the testing environment if there is any and behind the scenes Django creates a temporary testing database to store any potential model data run IndexTests test index render all movies to make asserts then it clears the database data so the next test will be executed in a new environment run IndexTests test index filter movies to make assertions That is why we say that each test case is isolated from others test index render all moviesModify the test index render all movies method like this def test index render all movies self response self client get make sure index displays the two movies self assertContains response self spider man movie name self assertContains response self avatar movie name Explanation we just simulate a GET request to index with the line response self client get we assert that the response the index HTML page contains the spiderman movie name with self assertContains response self spider man movie name we do the same for the avatar movie test index filter moviesModify the test index filter movies method like this def test index filter movies self make sure only Avatar movie is rendered when the search term is ava This also asserts that the search is case insensitive as the real name is Avatar with an upper A and we search ava response self client post data search text avat make sure index displays Avatar movie self assertContains response self avatar movie name Make sure index doesn t display Spider man movie self assertNotContains response self spider man movie name Explanation We simulate the POST on the search form with the search text avat Because there is only avatar movie whose names contain avat in a case insensitive then it should be the only movie displayed we then assert that the response contains Avatar movie but not spider man movie That means our filter works well Testing registrationCreate the test class Always inside netflix forms py file add the following right after IndexTests class netflix forms pyTEST DATA firstname John lastname Joe email johnjoe gmail com password NetflixClone password conf NetflixClone class RegisterTests TestCase def test get registration page self pass def test registration with valid data self pass def test registration with empty fields self pass def test registration with wrong password confirmation self passNote TEST DATA is a dictionary that contains good registration information Also we don t need a setup method which is why it s not present test get registration pageHere we test that user that will retrieve the registration page Add this code def test get registration page self We call the register route using GET response self client get register We assert that no error is returned self assertEqual response status code HTTPStatus OK We assert that the returned page contains the button for registration form self assertContains response lt button type submit gt Register lt button gt html True Explanation We call the registration page using GET on register route and we make sure the response HTML contains the register button test registration with valid dataHere We make sure that we can register with valid data Add this code def test registration with valid data self We make sure that there no user exists in the database before the registration self assertEqual User objects count We call the register route using POST to simulate form submission with the good data in the setup self client post register data TEST DATA We make sure that there is user created in the database after the registration self assertEqual User objects count We make sure that newly created user data are the same as we used during registration new user User objects first self assertEqual new user first name TEST DATA firstname self assertEqual new user last name TEST DATA lastname self assertEqual new user email TEST DATA email Explanation We first make sure that no user exists in the database at the beginning Secondly we simulate the registration form POST with some valid data Then we make sure that a user instance is created with the data used during the registration form submission test registration with empty fieldsdef test registration with empty fields self We make sure that there no user exists in the database before the registration self assertEqual User objects count We call the register route using POST to simulate form submission with empty fields data response self client post register data firstname lastname email password password conf We make sure that there no user exists in the database after the registration failure That means no user has been created self assertEqual User objects count Make sure the required message is displayed self assertContains response This field is required Explanation We try to submit the registration form with empty fields and we assert that the response fails and that no user is created test registration with wrong password confirmationdef test registration with wrong password confirmation self We make sure that there no user exists in the database before the registration self assertEqual User objects count We call the register route using POST to simulate form submission with wrong password confirmation good data in the setup This time to create the invalid dict we create a copy of the good data of the setup first bad data deepcopy TEST DATA bad data password conf Wrong Password Confirmation response self client post register data bad data We make sure that there no user exists in the database after the registration failure That means no user has been created self assertEqual User objects count Make sure the wrong confirmation is displayed self assertContains response wrong confirmation Explanation We try to submit the registration form with a password confirmation value different that the password value We then make sure an error is raised and no user is created Testing loginCreate the test class Always inside netflix forms py file adds the following right after RegisterTests class class LoginTests TestCase def setUp self self user User objects create username johnjoe gmail com self user password NetflixPassword self user set password self user password self user save def test login with invalid credentials self pass def test login with good credentials self passExplanation We have added a setup because as we want to just test the login we need some existing users Thus we have created a user and set a password test login with invalid credentialsAdd the following code def test login with invalid credentials self self assertFalse auth get user self client is authenticated response self client post login data email self user username password Wrong password self assertContains response Invalid credentials self assertFalse auth get user self client is authenticated Explanation We make sure that initially the user was not authenticated with self assertFalse auth get user self client is authenticated We try to POST the login form using the wrong password and then make sure that the response contains the error Invalid credentials We assert that the user is still not authenticated test login with invalid credentialsAdd the following code def test login with good credentials self self assertFalse auth get user self client is authenticated self client post login data email self user username password self user password self assertTrue auth get user self client is authenticated Explanation We make sure that initially the user was not authenticated with self assertFalse auth get user self client is authenticated We try to POST the login form using a good password We assert that the user is this time authenticated Finally run the testJust run on the project shellpython manage py testThe output should looks like this Also remember that the final source code is available here Congratulations We have tested the main features of our Django project In the next part we will learn how to deploy your Django application |
2022-12-31 16:47:35 |
海外TECH |
DEV Community |
How do TensorFlow.js models load in the browser? |
https://dev.to/360macky/how-do-tensorflowjs-models-load-in-the-browser-3fbj
|
How do TensorFlow js models load in the browser In a previous post I wrote about TensorFlow js and how it can be used to build and deploy deep learning models in the browser In this post I will focus on how TensorFlow js models are loaded in the browser Most of the times Machine Learning models are used from an API But TensorFlow js brings those models to the user browser The process behind this is very interesting Toxicity ModelThere are many ways to load and use TensorFlow js models Let s say you want to load the Toxicity model Toxicity is a model that can detect toxicity in text This is the kind of model you can load directly from an NPM package after install it import as toxicity from tensorflow models toxicity So now you can load the model by calling toxicity load Toxicity load it s a wrapper around tf loadGraphModel tf loadGraphModel is a function that loads a TensorFlow js model from a URL or a local file Process of loading the modelEven when you install a model with NPM the model is not inside the package When you need to use the model this will fire a network call to download the model Because the model is loaded asynchronously you need to wait for the model to load before you can use it const model await toxicity load This is something we can see from the Network tab in Chrome Developer Tools ShardsThe Toxicity model is a large model so it s split into multiple files The files are called shards The shards are loaded in parallel and then they are combined into a single model This allows you to load the model more efficiently especially when loading large models over a slow connection TensorFlow js automatically handles the process of downloading and combining the shards to create the full model Not all the models are split into shards some models can be loaded as single files because they are not very large StorageThis model will be storaged in local memory so you don t need to worry about downloading the model each time you run your application Once the model is complete you can start using it through your app This was the internal process of loading machine learning models in the browser using TensorFlow js |
2022-12-31 16:15:14 |
海外TECH |
DEV Community |
Install and Launch JMeter GUI on AWS EC2 |
https://dev.to/aws-builders/install-and-launch-jmeter-gui-on-aws-ec2-2ld0
|
Install and Launch JMeter GUI on AWS ECWhen you run performance tests using JMeter on cloud instances you typically do not need to launch the user interface of JMeter Especially if your CI CD pipelines are designed properly the JMeter scripts will be checked out from git repo for further execution In some cases you may need to open the user interface from a cloud instance for a quick edit or to validate the settings In this blog article we will see how to install and launch JMeter GUI on AWS EC PrerequisitesThe following are the prerequisites to install and launch JMeter GUI on AWS EC an AWS InstanceJavaJMeterxauthPutty or MobaxtermInstalling Java and JMeterSpin up an Amazon Linux EC instance and ssh into it Instructions to launch EC are beyond the scope of this blog article Once the ssh is successful issue the commands below which will update the packages install Java and JMeter sudo yum update ysudo yum install java amazon corretto y validate javajava version download JMeter wget download JMeter checksumshasum apache jmeter tgz validate checksumif cat apache jmeter tgz sha awk print eq shasum apache jmeter tgz awk print then echo Valid checksum Proceeding to extract else echo Invalid Checksum please download it from secured source fi extracting JMetertar xf apache jmeter tgzrm apache jmeter tgz validate JMetercd apache jmeter bin jmeter vCongratulations You have successfully installed Java and JMeter on AWS EC SSH Client ConfigurationThe next step is to install MobaXterm or Putty Installing MobaXterm and Putty is straightforward Here are the links for MobaXterm and Putty Both MobaXterm and Putty have packed with X package In MobaXterm go to Settings gt Configuration then click X tab to view the X settings MobaXterm X SettingsIn Putty you need to enable X explicitly by navigating to Connection gt X then check Enable X forwarding as shown below Putty X SettingsInstalling X and Launching JThe next step is to install xauth in EC SSH into EC using either MobaXterm or Putty then issue the commands below to install xauth and configure the DISPLAY parameter sudo yum install xauth yexport DISPLAY localhost validate X forwarding this should print XForwarding yes sudo cat etc ssh sshd config grep X rebootsudo rebootAfter rebooting successfully ssh again then navigate to apache jmeter bin then run jmeter It will launch the JMeter GUI as shown below JMeter GUI on AWS ECSimilarly you can also leverage Putty to ssh into it then launch the GUI Final WordsAs mentioned above it is easy and straightforward to launch JMeter GUI on AWS EC for a quick edit With this setup there is no need to download the test plan locally then launch it using a local installation of JMeter For macOS you can use XQuartz |
2022-12-31 16:01:54 |
Apple |
AppleInsider - Frontpage News |
iPhone 15 Ultra: What it may look like, and what to expect in 2023 |
https://appleinsider.com/articles/22/11/29/iphone-15-ultra-what-it-looks-like-and-what-to-expect-in-2023?utm_medium=rss
|
iPhone Ultra What it may look like and what to expect in The iPhone Ultra is a bit less than a year away but reports are already pouring in about what to expect Here s what the rumor mill thinks is coming and a first glance at what it may look like iPhone Ultra to have a new curved edgeRumors about the iPhone lineup began in the middle of Despite the early start they have been much more realistic than early iPhone rumors Read more |
2022-12-31 16:35:53 |
ニュース |
BBC News - Home |
New Year's Eve: World celebrates arrival of 2023 |
https://www.bbc.co.uk/news/world-64135760?at_medium=RSS&at_campaign=KARANGA
|
zealand |
2022-12-31 16:47:52 |
ニュース |
BBC News - Home |
Former Pope Benedict XVI dies at 95 |
https://www.bbc.co.uk/news/world-europe-64107731?at_medium=RSS&at_campaign=KARANGA
|
vatican |
2022-12-31 16:41:57 |
ニュース |
BBC News - Home |
Ukraine war: Deadly explosions hit Kyiv on New Year's Eve |
https://www.bbc.co.uk/news/world-europe-64135079?at_medium=RSS&at_campaign=KARANGA
|
klitschko |
2022-12-31 16:17:17 |
ニュース |
BBC News - Home |
Marcus Rashford was dropped after oversleeping and missing Manchester United meeting |
https://www.bbc.co.uk/sport/football/64135191?at_medium=RSS&at_campaign=KARANGA
|
Marcus Rashford was dropped after oversleeping and missing Manchester United meetingManchester United forward Marcus Rashford lost his place in the starting XI for Saturday s Premier League game at Wolves after oversleeping and missing a team meeting |
2022-12-31 16:46:48 |
北海道 |
北海道新聞 |
新年の願い胸に 北海道神宮に初詣客 2023年スタート |
https://www.hokkaido-np.co.jp/article/782774/
|
北海道神宮 |
2023-01-01 01:38:44 |
北海道 |
北海道新聞 |
五輪「代理店依存見直す」 札幌市長、改革案示し意向調査 |
https://www.hokkaido-np.co.jp/article/782752/
|
意向調査 |
2023-01-01 01:35:00 |
北海道 |
北海道新聞 |
<聖火のゆくえ 2030札幌五輪パラ招致>秋元市長インタビュー スケート会場「不都合解消へ議論」 |
https://www.hokkaido-np.co.jp/article/782755/
|
北海道新聞 |
2023-01-01 01:32:12 |
北海道 |
北海道新聞 |
経団連、賃上げで好循環実現へ 十倉会長が意欲、労働移動重視 |
https://www.hokkaido-np.co.jp/article/782794/
|
労働移動 |
2023-01-01 01:20:00 |
北海道 |
北海道新聞 |
賃上げ、中小成長に決意 経済3団体トップ、年頭所感 |
https://www.hokkaido-np.co.jp/article/782793/
|
日本商工会議所 |
2023-01-01 01:16:00 |
北海道 |
北海道新聞 |
「経済成長へ価値創造を」 経済同友会の桜田代表幹事 |
https://www.hokkaido-np.co.jp/article/782792/
|
共同通信 |
2023-01-01 01:16:00 |
北海道 |
北海道新聞 |
札幌の90代男性、500万円だまし取られる |
https://www.hokkaido-np.co.jp/article/782771/
|
札幌市中央区 |
2023-01-01 01:15:13 |
北海道 |
北海道新聞 |
22年の道内交通死者数、最少115人 「高齢歩行者」大幅減、オートバイや自転車乗車中は増加 |
https://www.hokkaido-np.co.jp/article/782766/
|
交通事故 |
2023-01-01 01:13:40 |
北海道 |
北海道新聞 |
西九州新幹線、博多―長崎直通に JR九州、鉄道事業黒字化へ |
https://www.hokkaido-np.co.jp/article/782789/
|
佐賀県武雄市 |
2023-01-01 01:12:00 |
コメント
コメントを投稿