Project Management – I write by hand an extremely huge web application and things get extremely chaotic. Are there good organization methods?

How do I know if I broke something

Do you have unit tests? Or automated tests of all kinds?

They are invaluable both to make sure that you have not broken everything to help you state what the software should do.

A test should say something about your website. Say "From the xyz page, I can watch the weather panel". If the test succeeds, you can probably see the weather panel on the xyz page. If that fails, something is wrong, it's time to take a look.

You can also test the negative properties "From the abc page, I can not see the weather panel".

refactoring

Low fruits first.

  • Is there a code / html obviously duplicated? Try using includes / script files or a template engine to reduce copied / pasted sections.
  • Did you use a static code analysis tool? They can easily report duplicate code and other problems that you missed.
  • Keep the code in files based on common features. A calendar.js, profile.js, and bâtiment.js are much more significant than script.js. If necessary, use folders to help the code related to the group but different: building / layout.js, building / maintenance.js

Average fruit following:

  • Decompose complex functions
  • Let the functions speak at the same level of analysis
  • Apply principles such as SOLID (a useful principle to understand everything, but do not take it to the extreme).

Decompose complex functions

Most of your pains will eventually come from more than 200 line functions, from classes containing small planets and simple expressions that look more like hieroglyphs than anything else.

The only purpose of this is to take these complex things and simplify some of them. More simple is subjective, take a look at the code you wrote 2 months ago. If you can not read it easily, it is complex. If you can not understand what you just wrote 15 minutes ago, it's complex.

There are many strategies to simplify things. The most general strategy is to get things done. Find a piece of code that makes sense at a given moment, for example: 2 * Pi * r * h and push circumference (r) {return 2 * Pi * r; } and simplify for: circumference (r) * h.

You will usually find that what you are extracting is general and can be used elsewhere in your code.

Level of analysis

Try to keep the implementation of a function at the same level. Imagine that you were listening to a really boring teacher who is starting to talk about a subject, say of ancient Egypt. Then spend the next two hours talking about alluvial deposits, the speed of the water, the effects of erosion, then conclude with: "And that's why the Egyptian festivals are so interesting" … Wait what?

Let's try this again. "Ancient Egypt has a river that overflows every year or so, bringing new soil that can grow a lot of food on its shores.The abundance of food allows the civilization to have many artists who make Egyptian festivals so interesting. "

All alluvial deposits, water velocity and erosion are the details of annual floods.

The same applies to the code. If you can make the function read at the same level of detail, it is much more logical and less frightening.

SOLID

It's a set of principles that keep the code clean, readable and not scary.

Read here

Principle of sole responsibility

Each piece of code must have one purpose, one reason you would like to read and change it. If it has multiple objectives, you risk forgetting a goal while modifying it and introducing a bug.

Open-closed principle

When you write a behavior / function / class, you do not want to change behavior every time you find a new use. It is best to let anyone who uses this behavior / function / class convey what is different between uses.

For example, the previous circumference function accepts the radius because it changes depending on the user. You can also pass functions or objects instead. You did it well if you can use the function / class / etc without having to edit the code it contains.

Principle of substitution of Liskov

This follows on from Open / Closed. If you want the user to pass into functions / objects / etc .., these functions / objects / etc must be well behaved. They must do what is expected of them and do nothing surprising.

A function that expects fruit would be satisfied: apples, pears or strawberries. But you should not go in the carrots. They could both be food, they could both support consumption, but a vegetable is surprising here.

Principle of segregation of interface

A large interface is usually difficult to use, and although it is well used, it is not easy to create. It is better to have smaller interfaces. This makes it more difficult to misuse, but also to provide implementations.

Some good questions to ask here:

  1. If I delete this function / property / argument, can I use it in multiple places?
  2. If I remove this function / property / argument, can I make a useful implementation that was impossible / difficult to do before?

Principle of dependency reversal

This follows on from Open / Closed. When the user is allowed to provide specific usage differences, it is important to depend on an interface and not to link it to a specific implementation.

Imagine a list of teachers. You can say that it has to be an array of a specific teacher type. But this means that wherever this behavior is used, you need to know: Tables and this type of specific teacher. And if they had a list, a set or another type of collection? What if they can not create teacher objects, if they have a different implementation of Teacher (let's say you created an OnlineTeacher later)?

If instead you make it accept, a sort of enumerable / itable collection interface. And inside this collection where the objects belong to a teacher interface, but not to a specific implementation of this interface. This would allow users with sets, lists, tables, and more. to retain the professors you have set up today and the online teachers you have set up later.

★★★★★ [MONEY BACK GUARANTEE!] Extremely affordable and reliable web hosting [ >>> GO >>> ] ★★★★★

EXTREMELY AFFORDABLE AND RELIABLE WEBHOSTING – INSTANT CONFIGURATION!

We can provide you with extremely affordable hosting packages. All packages are delivered instantly after payment and also have an Installatron application installer. The hosting is provided with a 1 Gbps uplink per server!

Notice – Do not rely on our word, see what our customers say:
https://www.trustpilot.com/review/hostslim.eu
http://www.webhostingstuff.com/review/HOSTSLIMEU.html
http://www.webhostingstuff.com/revie…LIMEUROPE.html


Basic Hosting 1 € per month!

500 GB of traffic per month!
5 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 25 hosted domains
Directadmin CP

Order here – Instant Installation!

Popular accommodation € 2.50 per month!

1000 GB of traffic per month!
50 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 50 hosted domains
Directadmin CP

Order here – Instant Installation!

Premium Hosting € 5.00 per month!

10000 GB of traffic per month!
100 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 75 hosted domains
Directadmin CP

Order here – Instant Installation!

In each package includes:

– PHP, CGI and SQL
– Warranty within 6 hours of assistance
– email accounts: 999
– FTP accounts: 999
– subdomains 999
– The newest PHP 5 and the newest MySQL 5, we are up to date!
– MySQL Databases: 999
– DirectAdmin and Installatron
– Managed Support
– Free instant configuration
– Daily and weekly backups
– 30-day money back guarantee
– Support for 24x7x365 tickets (the average response time is 30 minutes!)
– Surveillance 24x7x365
– Web and FTP e-mail including SquirrelMail and Roundcube.
– Hosting features included: PHP, MySQL, CGI, Perl, Cron, Curl and much more!
– Email features included: Automatic virus scanning, Assassin spam, AV clam, POP3 accounts, SMTP, IMAP, autoresponders, mailing list, mail transfer and much more!

And much more. More information? Visit: HostSlim

10 payment options:

– Pay Pal
– Transfer
– Credit card
– Cash-Ticket
– Click and buy
– DIRECTebanking / Sofortbanking
– GiroPay
– iDeal
– Maestro
– Mr. Cash
– BitCoin (BTC)

Network and Data Center

Data Center: SERVERIUS (NL)
Traceroute & Ping IP: 185.121.164.28
OWN NETWORK: AS207083
LookingGlass: http://lg.hostslim.nl/LookingGlass/

terms and conditions

– No contract, all our products are prepaid!

5th dnd – How are the damages caused by the fall of extremely heavy objects regulated?

There are no specific rules for falling objects in 5th, which comes down to D & D (5th) who does not do physics well. It's left to the DM's intuition.

But that does not mean we have nothing to continue. The rules / guidelines on page 249 on improvised damage provide an approximate scale of damage (number of d10) for different types of "events". So let's try to see which one is closest to your scenario.

The "naive" answer in this case could be that a huge tungsten cylinder equals a flying fortress (apparently more likely), the recommended damage being 18d10.

However, the scenario you have described is actually closer to Rods from God1 which, in short, consists of dropping an enormous tungsten rod out of its orbit, producing the effect of a nuclear detonation without annoying irradiation thereafter. This could be considerable worse than a mere flying fortress. The last element of the improvised damage chart (for 24d10) is as follows:

Throwing himself into a fire vortex on the elemental plane of fire, being crushed in the jaws of a divine creature or a monster the size of a moon

and if you feel that being at the center of a nuclear-type explosion equates to one of these descriptions, use that damage. If you think the situation is worse, the following questions might be "how many dice do you have?", "How long do you want to spend throwing them?", And "will the result be anything other than # 39; themselves "? dead? ".

Of course, it is only the extent of the damage. The effect radius and the impact on the creatures (bbeg and key minions) will be yours (the DM) and perhaps in particular how much you are willing to leave creative solutions solve / bypass challenges. There is no adequate solution to this problem, but personally, I would let that solve the problem of all henchmen (that is, they must not be fought), leaving only the 'final fight against the boss "against the bbeg (assuming this is your story structure).2 The main argument that I have for doing this (in addition to "I had planned that this fight is really cool") is to involve all party members: if the powers (that is to say the spells) of only one party member solve the problem / conflict, it means that the other members do not contribute. This can very easily cause them to feel redundant or unnecessary, which means that they are not amused. And the most important job of DM is to entertain everyone.


1: We use here the idea of ​​the real world, not the fancy sticks distributed by celestial beings, as is more common in D & D.

2: We leave the bbeg alive under the pretext that their stronghold is sufficiently strengthened, perhaps by magic. Remember that villains tend to have defenses that are often parallel or superior to the attacks of the gentiles in heroic narration.

[ Psychology ] Open question: How can I stop being extremely jealous of the guy stealing my daughter?

This guy is his "type" Musician. Graphic designer. Strongly involved in the punk rock music scene Always go to shows and tricks. It's a stoner. She finds it so fascinating that he works in his area of ​​interest, for musical artists, designing their album covers and logos, and working on banners for record stores and skateboarding. shops. I am not a spectator, but she should be able to overcome that for someone who will be there for her and not be too high in the mind for who knows what. As soon as I met this guy for the first time, I said to myself "damn it, it looks like Judd Nelson when he was young". And I'm serious here, looks like him in the breakfast club. Even hair and everything else makes me so angry that she's the guy she likes. I approached the subject somehow to subtly emphasize that she was looking for a loser, because the character is also a loser (Stoner, drinking, no realistic plan for the future) and she is excited for that. "I know he knows it! He was told that at any time, someone even bought him a little figurine as a joke because that's often what he's saying to him." said "and she starts to laugh and blush like a little girl. Pathetic behavior. All right, John Bender enters my real life, gets into graphic design and diverts my life. Just my luck. I am so bitter. I want to snatch her stupid leather jacket from her shoulders when she wears it. I was tempted to steal one of his stupid brooches from the group, just out of spite. But I have to act like an adult here. I guess it's not yet "mine". But I have been trying for so long and this guy has just trained him. I'm really boiling about it. .

★★★★★ [MONEY BACK GUARANTEE!] Extremely affordable and reliable web hosting [ >>> GO >>> ] ★★★★★

EXTREMELY AFFORDABLE AND RELIABLE WEBHOSTING – INSTANT CONFIGURATION!

We can provide you with extremely affordable hosting packages. All packages are delivered instantly after payment and also have an Installatron application installer. The hosting is provided with a 1 Gbps uplink per server!

Notice – Do not rely on our word, see what our customers say:
https://www.trustpilot.com/review/hostslim.eu
http://www.webhostingstuff.com/review/HOSTSLIMEU.html
http://www.webhostingstuff.com/revie…LIMEUROPE.html


Basic Hosting 1 € per month!

500 GB of traffic per month!
5 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 25 hosted domains
Directadmin CP

Order here – Instant Installation!

Popular accommodation € 2.50 per month!

1000 GB of traffic per month!
50 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 50 hosted domains
Directadmin CP

Order here – Instant Installation!

Premium Hosting € 5.00 per month!

10000 GB of traffic per month!
100 GB of storage
999 FTP / MYSQL / EMAIL accounts
Max. 75 hosted domains
Directadmin CP

Order here – Instant Installation!

In each package includes:

– PHP, CGI and SQL
– Warranty within 6 hours of assistance
– email accounts: 999
– FTP accounts: 999
– subdomains 999
– The newest PHP 5 and the newest MySQL 5, we are up to date!
– MySQL Databases: 999
– DirectAdmin and Installatron
– Managed Support
– Free instant configuration
– Daily and weekly backups
– 30-day money back guarantee
– Support for 24x7x365 tickets (the average response time is 30 minutes!)
– Surveillance 24x7x365
– Web and FTP e-mail including SquirrelMail and Roundcube.
– Hosting features included: PHP, MySQL, CGI, Perl, Cron, Curl and much more!
– Email features included: Automatic virus scanning, Assassin spam, AV clam, POP3 accounts, SMTP, IMAP, autoresponders, mailing list, mail transfer and much more!

And much more. More information? Visit: HostSlim

10 payment options:

– Pay Pal
– Transfer
– Credit card
– Cash-Ticket
– Click and buy
– DIRECTebanking / Sofortbanking
– GiroPay
– iDeal
– Maestro
– Mr. Cash
– BitCoin (BTC)

Network and Data Center

Data Center: SERVERIUS (NL)
Traceroute & Ping IP: 185.121.164.28
OWN NETWORK: AS207083
LookingGlass: http://lg.hostslim.nl/LookingGlass/

terms and conditions

– No contract, all our products are prepaid!

Extremely high VPS shared memory

Hi, I'm Michael and I'm a novice here – so … need help

Can any one explain this extremely high value of shared memory after the "free -m" command?
The values ​​of "shared memory" exceed 6 to 10 times my RAM and destroy my site every two or three days for 3 to 4 hours.
I have no idea where the "shared memory" comes from in the VPS server … but no matter …
My VPS hosting provider said: "It looks like you need more RAM" and of course, they want to duplicate my fees … so, this answer has kind of surprised me, because my site usually works perfectly at "rush hour". consumes about 30-35 percent of RAM …

Please any help and answer.

cordially

How to choose a font for an extremely limited space, that is to say that it is suitable for the most legible text in the smallest space?

It is important to specify the dimension that you are trying to optimize. Do you want to reduce the size horizontally (shorter lines) or vertically? If you want to optimize the horizontal width, you must search for a condensed font. Arial Narrow and Helvetica Condensed are two obvious options, but I do not find them very readable and their appearance is cheap.

For sans-serif similar to Arial / Helvetica, but narrower, see:

Myriad Pro, Open Sans, Segoe UI, Tahoma, Frutiger, Bell Gothic, Lato, Antique Olive and the new Adobe Pro Source font.

In a comparison that I made with numbers, I found that Myriad Pro, Source Pro Free, Segoe UI and Tahoma were the best in terms of readability with a minimum width of 9px-11px. Note that these fonts handle sizes very differently. It is therefore often necessary to incorporate a size gap to allow a fair comparison.

Lato can work as well. Asana uses Proxima Nova, which is very open and readable in small sizes, but does not look great in a larger size as they use it.

Here is the comparison I made with everything at 10px. However, it is best to play like this yourself, because changing the font size often has a nonlinear effect on these small sizes.

font comparison at 10px

Others have mentioned Verdana. Verdana is very readable in small sizes, but it does not optimize the width at all. That said, a large readable character in small sizes optimizes height rather than width. This may be what you're looking for, but on the web where it's more natural to scroll vertically than scroll horizontally, this is usually not the case.

Personally, I prefer Arial on the screen. If I look for a less neutral aspect or if I need to optimize the width, I can look at Source Sans Pro or Segoe UI.

Other – W88 Introduces Extremely Convenient Mobile Poker App for You NewProxyLists

W88 introduces a handy mobile poker app for you
Super hot news for your favorite poker players online: win real money at W88 bookmaker The new W88 boss has launched the online poker application on mobile phones. For iOS and Android.

For those who experience online poker at other resellers, playing online at the website is relatively inadequate. When you have to sit down and the durability of the network is not that of the application installed on the phone.

You can also check out the w88bet link to satisfy your passion when you bring your phone.

W88 announced the launch of the online poker application
Before launching the application, there are not two. The painful phases are repeated because the network path is stable. For example, when playing with your hands, the network shift. As a result, you are evicted and you can not enter the table. It's extremely frustrating!

universal you Please contact W88 call support immediately. Perhaps because people think badly, then the house is installed. The result is that this hot online poker application has hit the brand strategy.

Finally, this practical product has been launched. With this application, the network will play much longer. You will not have to worry about losing money unfairly.

Below, an image of playing online poker by applying it on a tree to W88:

[​IMG]

Overall, the image is extremely clear and the network is very long term.

Conclusion:
This is the right direction for W88 because it is really useful for W88 players on phone reminders and online betting separately. Admin W88 I hope you will update the application soon and enjoy the benefits that it brings.

transactions – Extremely high fees for sending BTC with the Android Electrum wallet

I wanted to experiment with Android BTC mobile wallets and came across Electrum.

I only have one transaction entry in this wallet, from my Binance account.

I have a balance of 0.002BTC.

When trying to send the maximum value of my balance, I get a value of 0.001BTC (about 2.89GBP).

The fee says 25 blocks .. 2.5 sat / byte.

I do not know why it costs 0.001BTC to send 0.001BTC?

Link building is extremely slow

I am a beginner. I hope everyone can help me solve the problem.
I have bought GSA Ranker, GSA Content Generator and Captcha Breaker. And use 10 semi-dedicated proxy servers from buyproxies.org.
When I ran GSA Ranker, building links is extremely slow. 5 backlink checked in more than 5 hours. My setting is completely identical to the Matthewwoodward tutorial. I clicked all the search engine options, but it still did not work.
I was just wondering what I could do. Help me!