|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On September 08 2016 08:31 Birdie wrote: Isn't a mix of OO and procedural pretty standard?
Depends on the language. It's true that most of the modern stuff tends to be pretty flexible, offering a mix of OO, procedural and functional so that you can choose the best thing for the job.
|
Thanks a lot guys
|
I just found a small community site for developers, registered for that shit aaaaaaaaaaaaand... discovered that the site stores user passwords in plain fucking text. Fuck that shit.
|
On September 09 2016 03:29 Djagulingu wrote: I just found a small community site for developers, registered for that shit aaaaaaaaaaaaand... discovered that the site stores user passwords in plain fucking text. Fuck that shit.
So apparently I've noticed people complaining about this on Hacker News and I feel like I should start using a password manager. There's just so much inertia to get over before getting started.
On a similar vein a lot of people seem to use unique email accounts e.g. "myusername_teamliquid@gmail.com" because they've been noticing that non-big websites will sell your email, but if you use an unique email you can tell which website is doing that.
|
On September 09 2016 07:04 Blisse wrote:Show nested quote +On September 09 2016 03:29 Djagulingu wrote: I just found a small community site for developers, registered for that shit aaaaaaaaaaaaand... discovered that the site stores user passwords in plain fucking text. Fuck that shit. So apparently I've noticed people complaining about this on Hacker News and I feel like I should start using a password manager. There's just so much inertia to get over before getting started. On a similar vein a lot of people seem to use unique email accounts e.g. "myusername_teamliquid@gmail.com" because they've been noticing that non-big websites will sell your email, but if you use an unique email you can tell which website is doing that.
I use gmail for everything. Discovering that the dots don't matter was a big thing (someone@gmail is the same as s.omeone@gmail, some.one@gmail, som.on.e@gmail etc.). It's a great way of doing things with one shitty account for spam when you need it a bit randomized. You can basically get a huge amount of email addresses out of one if need be and they'll all deliver your mail.
|
I use gmail too but I have a lot of old stuff hooked up to my hotmail.
IDK why I didn't use the actual example, but in case you didn't know, you can use the + sign in your gmail and it actually forwards to you.
For example,
someone+liquid@gmail.com someone+ebay@gmail.com someone+spam@gmail.com
should all forward to someone@gmail.com, but in the To: field it should say +liquid, so you can filter by that.
Also yeah dots don't matter but my email is my name so I always type the dots as spaces anyways lol
|
The password manager stuff is less work than you'd think. For things you do on websites, your passwords will be saved by your browser, so you don't have to deal with the password manager database at all most of the time. You only need to work with it when you create a new account somewhere.
About something simple for saving passwords, you could use tools that use the "KeePass" program's database format. You can sync your file between all your machines and your phone, and you'll find Windows programs and Linux command line tools and Android apps etc., that can read and write into the file.
|
Lesson for today: If you want to build geographic applications, use python. Fuck java or node. Don't take any of that shit. Use python. Don't be a wussy pussy. Use python.
|
Just how the fuck setters and getters work in PHP? What is the point of the magical setters and getters? What the fuck is this, Java setters and getters are much much easier than this...
|
On September 09 2016 20:19 Wrath wrote: Just how the fuck setters and getters work in PHP? What is the point of the magical setters and getters? What the fuck is this, Java setters and getters are much much easier than this...
You shouldn't really use magical setters and getters (try avoiding magic methods alltogether).
You can simply write them like in any other OO language:
class myClass { protected $a;
public function __construct($a = null) // if you need constructors { $this->a = $a; }
public function getA() { return $this->a; }
public function setA($a) { $this->a = $a;
return $this; // if you need fluent interfaces } }
And a question to all you C/C++ guys. There's this thing that's annoying the hell out of me in gdb:
Program received signal SIGABRT, Aborted. 0x00007ffff7a66067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
How can I get rid of it in Debian? Searching the interwebz yielded no useful results.
|
|
Hyrule18967 Posts
magic methods are the bane of my existence. Our old codebase uses a weird fork of Cake 1.3 that's full of them. All the DB stuff is like User::findUserByLastNameAndLastLoginDateAndZipCodeLimit('Smith', '2001-06-30', '12345', 10)
holy fuck debugging that stuff is a pain
|
On September 09 2016 21:16 Nesserev wrote:Show nested quote +On September 09 2016 20:19 Wrath wrote: Just how the fuck setters and getters work in PHP? What is the point of the magical setters and getters? What the fuck is this, Java setters and getters are much much easier than this... As far as I understand, regular getter and setter methods in PHP work the same as in any other language: you wrap the access to a hidden(private/protected) class property in a class method. If magic methods like __get and/or __set are implemented, they are called when you try to access an inaccessible class property/method directly (inaccessible = is not public OR DOES NOT EXIST). This allows you to: - react to inaccessible properties/methods being called - dynamically add properties and methods - manipulate properties directly as though they were public properties (but secretly, you're just calling the __get or __set method) In short, these are all very shitty things that nobody needs in the first place. It's called magic for a reason, stay away for it.
... accessing inaccessible properties? Isn't the whole point of having inaccessible properties to NOT access it?
|
On September 09 2016 21:56 Wrath wrote:Show nested quote +On September 09 2016 21:16 Nesserev wrote:On September 09 2016 20:19 Wrath wrote: Just how the fuck setters and getters work in PHP? What is the point of the magical setters and getters? What the fuck is this, Java setters and getters are much much easier than this... As far as I understand, regular getter and setter methods in PHP work the same as in any other language: you wrap the access to a hidden(private/protected) class property in a class method. If magic methods like __get and/or __set are implemented, they are called when you try to access an inaccessible class property/method directly (inaccessible = is not public OR DOES NOT EXIST). This allows you to: - react to inaccessible properties/methods being called - dynamically add properties and methods - manipulate properties directly as though they were public properties (but secretly, you're just calling the __get or __set method) In short, these are all very shitty things that nobody needs in the first place. It's called magic for a reason, stay away for it. ... accessing inaccessible properties? Isn't the whole point of having inaccessible properties to NOT access it?
It's PHP's scripting heritage. You can do funny stuff with this shit like creating reflection of a class to get all of its constants for example. http://php.net/manual/en/reflectionclass.getconstants.php
Just forget those things exist and do everything as usual. It will be better for your sanity 
If you're not using magic getters and setters (or reflections) your private/protected properties won't be readily accessible so don't worry about it.
|
|
Yea this is likely not the important part of the error message. (In fact if you run with sudo the bit about a file not found may go away depending on your setup).
|
On September 10 2016 01:37 phar wrote: Yea this is likely not the important part of the error message. (In fact if you run with sudo the bit about a file not found may go away depending on your setup).
Please give me some credit...
1. I've tried running it with sudo (same result). 2. I've read somewhere on the interwebz that it might be the result of someone using their libraries and paths to compile the code which breaks on my machine. I've created a new C file with a single assert that's failing, compiled it and dbg'd it, the result is the same. 3. I've installed a ton of additional libraries I don't need but might be used by it (libc6-dev etc.), same thing. 4. People on the interwebz keep saying that you should ignore this error but it's driving me mad.
I did stuff like whreis file.c, which returned a manual but not the file. I've found the file eventually but under completely different path (somewhere inside /usr/share/).
I don't even know what provides this specific file and there's no info about it on the net. Please help. My perfectionist soul is dying here because I don't know if valgrind/dbg stop because of this error or errors in the application...
Edit: So far it seems to only show up on uncaught throws and asserts. Need to do more testing but I'm too drunk atm.
|
Your question is about the 'No such file or directory.' or about the reason of the abort?
|
On September 09 2016 20:19 Wrath wrote: Just how the fuck setters and getters work in PHP? What is the point of the magical setters and getters? What the fuck is this, Java setters and getters are much much easier than this...
In writing application code you might not find a lot of use for them. But any PHP framework you use uses them. At some point you might be writing some application code for you job and realize you're doing the same thing a lot and abstract it into some generic code and maybe you can find a use for it then.
edit: realized the rest of this post is less about magic get/set the way PHP implements and just using getters/setters overall.
Otherwise you can just use normal getters and setters. Python has something similar with properties and setters based on them.
If you're used to code without boilerplate getter/setters (i.e. with lombok @data, or scala/kotlin classes or just python classes) there's a few reasons to like not having them. I know it's all boilerplate your IDE can autogenerate, but with less code it's more clear what is going on (imho).
So beyond the dynamic lookup that frameworks tend to use them for (or doing something like mapping a object based on a dictionary, which can be a big performance win in some cases), one advantage is you can start out defining something entirely with public final properties, and if things can you can refactor the $object.proprety into being a method without changing all the calls sites if any get/set has to become more complicated. This is more idiomatic in Python though perhaps, I'm not into PHP community enough to know if people really use it that way (but I'd assume not).
|
On September 10 2016 17:55 Hhanh00 wrote: Your question is about the 'No such file or directory.' or about the reason of the abort?
No such file or directory.
|
|
|
|