Programs & Examples On #Case class

Case classes are regular classes which export their constructor parameters and which provide a recursive decomposition mechanism via pattern matching.

What is the difference between Scala's case class and class?

Unlike classes, case classes are just used to hold data.

Case classes are flexible for data-centric applications, which means you can define data fields in case class and define business logic in a companion object. In this way, you are separating the data from the business logic.

With the copy method, you can inherit any or all required properties from the source and can change them as you like.

Case objects vs Enumerations in Scala

For those still looking how to get GatesDa's answer to work: You can just reference the case object after declaring it to instantiate it:

trait Enum[A] {
  trait Value { self: A =>
    _values :+= this
  }
  private var _values = List.empty[A]
  def values = _values
}

sealed trait Currency extends Currency.Value
object Currency extends Enum[Currency] {
  case object EUR extends Currency; 
  EUR //THIS IS ONLY CHANGE
  case object GBP extends Currency; GBP //Inline looks better
}

Output Django queryset as JSON

If the goal is to build an API that allow you to access your models in JSON format I recommend you to use the django-restframework that is an enormously popular package within the Django community to achieve this type of tasks.

It include useful features such as Pagination, Defining Serializers, Nested models/relations and more. Even if you only want to do minor Javascript tasks and Ajax calls I would still suggest you to build a proper API using the Django Rest Framework instead of manually defining the JSON response.

Stop jQuery .load response from being cached

/**
 * Use this function as jQuery "load" to disable request caching in IE
 * Example: $('selector').loadWithoutCache('url', function(){ //success function callback... });
 **/
$.fn.loadWithoutCache = function (){
 var elem = $(this);
 var func = arguments[1];
 $.ajax({
     url: arguments[0],
     cache: false,
     dataType: "html",
     success: function(data, textStatus, XMLHttpRequest) {
   elem.html(data);
   if(func != undefined){
    func(data, textStatus, XMLHttpRequest);
   }
     }
 });
 return elem;
}

How do I mock an autowired @Value field in Spring with Mockito?

I'd like to suggest a related solution, which is to pass the @Value-annotated fields as parameters to the constructor, instead of using the ReflectionTestUtils class.

Instead of this:

public class Foo {

    @Value("${foo}")
    private String foo;
}

and

public class FooTest {

    @InjectMocks
    private Foo foo;

    @Before
    public void setUp() {
        ReflectionTestUtils.setField(Foo.class, "foo", "foo");
    }

    @Test
    public void testFoo() {
        // stuff
    }
}

Do this:

public class Foo {

    private String foo;

    public Foo(@Value("${foo}") String foo) {
        this.foo = foo;
    }
}

and

public class FooTest {

    private Foo foo;

    @Before
    public void setUp() {
        foo = new Foo("foo");
    }

    @Test
    public void testFoo() {
        // stuff
    }
}

Benefits of this approach: 1) we can instantiate the Foo class without a dependency container (it's just a constructor), and 2) we're not coupling our test to our implementation details (reflection ties us to the field name using a string, which could cause a problem if we change the field name).

How can I iterate over files in a given directory?

I'm not quite happy with this implementation yet, I wanted to have a custom constructor that does DirectoryIndex._make(next(os.walk(input_path))) such that you can just pass the path you want a file listing for. Edits welcome!

import collections
import os

DirectoryIndex = collections.namedtuple('DirectoryIndex', ['root', 'dirs', 'files'])

for file_name in DirectoryIndex(*next(os.walk('.'))).files:
    file_path = os.path.join(path, file_name)

D3.js: How to get the computed width and height for an arbitrary element?

For SVG elements

Using something like selection.node().getBBox() you get values like

{
    height: 5, 
    width: 5, 
    y: 50, 
    x: 20
} 

For HTML elements

Use selection.node().getBoundingClientRect()

Specify sudo password for Ansible

If you are using the pass password manager, you can use the module passwordstore, which makes this very easy.

Let's say you saved your user's sudo password in pass as

Server1/User

Then you can use the decrypted value like so

{{ lookup('community.general.passwordstore', 'Server1/User')}}"

I use it in my inventory:

---
   servers:
     hosts:
       server1:
         ansible_become_pass: "{{ lookup('community.general.passwordstore', 'Server1/User')}}"

Note that you should be running gpg-agent so that you won't see a pinentry prompt every time a 'become' task is run.

Split a vector into chunks

If you don't like split() and you don't like matrix() (with its dangling NAs), there's this:

chunk <- function(x, n) (mapply(function(a, b) (x[a:b]), seq.int(from=1, to=length(x), by=n), pmin(seq.int(from=1, to=length(x), by=n)+(n-1), length(x)), SIMPLIFY=FALSE))

Like split(), it returns a list, but it doesn't waste time or space with labels, so it may be more performant.

How to change UINavigationBar background color from the AppDelegate

You can use [[UINavigationBar appearance] setTintColor:myColor];

Since iOS 7 you need to set [[UINavigationBar appearance] setBarTintColor:myColor]; and also [[UINavigationBar appearance] setTranslucent:NO].

[[UINavigationBar appearance] setBarTintColor:myColor];
[[UINavigationBar appearance] setTranslucent:NO];

Invariant Violation: Objects are not valid as a React child

I just put myself through a really silly version of this error, which I may as well share here for posterity.

I had some JSX like this:

...
{
  ...
  <Foo />
  ...
}
...

I needed to comment this out to debug something. I used the keyboard shortcut in my IDE, which resulted in this:

...
{
  ...
  { /* <Foo /> */ }
  ...
}
...

Which is, of course, invalid -- objects are not valid as react children!

Distribution certificate / private key not installed

If you are being stuck on this problem. After switch the computer and not able to upload your build to App Store. Simply click manage certificate on the error page, the + plus on the bottom left corner and create a new distribution certificate. Then you'll be good to go.

How to create a horizontal loading progress bar?

Just add a STYLE line and your progress becomes horizontal:

<ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/progress"
        android:layout_centerHorizontal="true"      
        android:layout_centerVertical="true"      
        android:max="100" 
        android:progress="45"/>

how to select rows based on distinct values of A COLUMN only

Try this - you need a CTE (Common Table Expression) that partitions (groups) your data by distinct e-mail address, and sorts each group by ID - smallest first. Then you just select the first entry for each group - that should give you what you're looking for:

;WITH DistinctMails AS
(
    SELECT ID, MailID, EMailAddress, NAME,
        ROW_NUMBER() OVER(PARTITION BY EMailAddress ORDER BY ID) AS 'RowNum'
    FROM dbo.YourMailTable
)
SELECT *
FROM DistinctMails
WHERE RowNum = 1

This works on SQL Server 2005 and newer (you didn't mention what version you're using...)

Parsing json and searching through it

ObjectPath is a library that provides ability to query JSON and nested structures of dicts and lists. For example, you can search for all attributes called "foo" regardless how deep they are by using $..foo.

While the documentation focuses on the command line interface, you can perform the queries programmatically by using the package's Python internals. The example below assumes you've already loaded the data into Python data structures (dicts & lists). If you're starting with a JSON file or string you just need to use load or loads from the json module first.

import objectpath

data = [
    {'foo': 1, 'bar': 'a'},
    {'foo': 2, 'bar': 'b'},
    {'NoFooHere': 2, 'bar': 'c'},
    {'foo': 3, 'bar': 'd'},
]

tree_obj = objectpath.Tree(data)

tuple(tree_obj.execute('$..foo'))
# returns: (1, 2, 3)

Notice that it just skipped elements that lacked a "foo" attribute, such as the third item in the list. You can also do much more complex queries, which makes ObjectPath handy for deeply nested structures (e.g. finding where x has y that has z: $.x.y.z). I refer you to the documentation and tutorial for more information.

How to delete a cookie?

Here is an implementation of a delete cookie function with unicode support from Mozilla:

function removeItem(sKey, sPath, sDomain) {
    document.cookie = encodeURIComponent(sKey) + 
                  "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + 
                  (sDomain ? "; domain=" + sDomain : "") + 
                  (sPath ? "; path=" + sPath : "");
}

removeItem("cookieName");

If you use AngularJs, try $cookies.remove (underneath it uses a similar approach):

$cookies.remove('cookieName');

How to search a string in String array

I'm surprised that no one suggested using Array.IndexOf Method.

Indeed, Array.IndexOf has two advantages :

  • It allows searching if an element is included into an array,
  • It gets at the same time the index into the array.
int stringIndex = Array.IndexOf(arr, theString);
if (stringIndex >= 0)
{
    // theString has been found
}

Inline version :

if (Array.IndexOf(arr, theString) >= 0)
{
    // theString has been found
}

Why do I get java.lang.AbstractMethodError when trying to load a blob in the db?

Here's what the JDK API says about AbstractMethodError:

Thrown when an application tries to call an abstract method. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled.

Bug in the oracle driver, maybe?

Bootstrap full-width text-input within inline-form

I know that this question is pretty old, but I stumbled upon it recently, found a solution that I liked better, and figured I'd share it.

Now that Bootstrap 5 is available, there's a new approach that works similarly to using input-groups, but looks more like an ordinary form, without any CSS tweaks:

<div class="row g-3 align-items-center">
    <div class="col-auto">
        <label>Label:</label>
    </div>
    <div class="col">
        <input class="form-control">
    </div>
    <div class="col-auto">
        <button type="button" class="btn btn-primary">Button</button>
    </div>
</div>

The col-auto class makes those columns fit themselves to their contents (the label and the button in this case), and anything with a col class should be evenly distributed to take up the remaining space.

How to print Boolean flag in NSLog?

//assuming b is BOOL. ternary operator helps us in any language.
NSLog(@"result is :%@",((b==YES)?@"YES":@"NO"));

What does this error mean: "error: expected specifier-qualifier-list before 'type_name'"?

The compiler doesn't know that spe_context_ptr_t is a type. Check that the appropriate typedef is in scope when this code is compiled. You may have forgotten to include the appropriate header file.

comparing two strings in SQL Server

There is no direct string compare function in SQL Server

CASE
  WHEN str1 = str2 THEN 0
  WHEN str1 < str2 THEN -1
  WHEN str1 > str2 THEN 1
  ELSE NULL --one of the strings is NULL so won't compare (added on edit)
END

Notes

  • you can wraps this via a UDF using CREATE FUNCTION etc
  • you may need NULL handling (in my code above, any NULL will report 1)
  • str1 and str2 will be column names or @variables

Hive cast string to date dd-MM-yyyy

AFAIK you must reformat your String in ISO format to be able to cast it as a Date:

cast(concat(substr(STR_DMY,7,4), '-',
            substr(STR_DMY,1,2), '-',
            substr(STR_DMY,4,2)
           )
     as date
     ) as DT

To display a Date as a String with specific format, then it's the other way around, unless you have Hive 1.2+ and can use date_format()

=> did you check the documentation by the way?

Does reading an entire file leave the file handle open?

Instead of retrieving the file content as a single string, it can be handy to store the content as a list of all lines the file comprises:

with open('Path/to/file', 'r') as content_file:
    content_list = content_file.read().strip().split("\n")

As can be seen, one needs to add the concatenated methods .strip().split("\n") to the main answer in this thread.

Here, .strip() just removes whitespace and newline characters at the endings of the entire file string, and .split("\n") produces the actual list via splitting the entire file string at every newline character \n.

Moreover, this way the entire file content can be stored in a variable, which might be desired in some cases, instead of looping over the file line by line as pointed out in this previous answer.

Padding or margin value in pixels as integer using jQuery

The parseInt function has a "radix" parameter which defines the numeral system used on the conversion, so calling parseInt(jQuery('#something').css('margin-left'), 10); returns the left margin as an Integer.

This is what JSizes use.

How to select all the columns of a table except one column?

In your case, expand columns of that database in the object explorer. Drag the columns in to the query area.

And then just delete one or two columns which you don't want and then run it. I'm open to any suggestions easier than this.

How to check if an item is selected from an HTML drop down list?

function check(selId) {
  var sel = document.getElementById(selId);
  var dropDown_sel = sel.options[sel.selectedIndex].text;
  if (dropDown_sel != "none") {

           state=1;

     //state is a Global variable initially it is set to 0
  } 
}


function checkstatevalue() {
      if (state==1) {
           return 1;
      } 
      return false;
    }

and html is for example

<form name="droptest" onSubmit="return checkstatevalue()">

<select id='Sel1' onchange='check("Sel1");'>
  <option value='junaid'>Junaid</option>
  <option value='none'>none</option>
  <option value='ali'>Ali</option>
</select>

</form>

Now when submitting a form first check what is the value of state if it is 0 it means that no item has been selected.

Factorial using Recursion in Java

IMHO, the key for understanding recursion-related actions is:

  1. First, we dive into stack recursively, and with every call we somehow modify a value (e.g. n-1 in func(n-1);) which determines whether the recursion should go deeper and deeper.
  2. Once recursionStopCondition is met (e.g. n == 0), the recursions stops, and methods do actual work and return values to the caller method in upper stacks, thus bubbling to the top of the stack.
  3. It is important to catch the value returned from deeper stack, somehow modify it (multiplying by n in your case), and then return this modified value topwards the stack. The common mistake is that the value from the deepest stack frame is returned straight to the top of the stack, so that all method invocations are ignored.

Surely, methods can do useful work before they dive into recursion (from the top to the bottom of the stack), or on the way back.

How to create a Rectangle object in Java using g.fillRect method

You may try like this:

import java.applet.Applet;
import java.awt.*;

public class Rect1 extends Applet {

  public void paint (Graphics g) {
    g.drawRect (x, y, width, height);    //can use either of the two//
    g.fillRect (x, y, width, height);
    g.setColor(color);
  }

}

where x is x co-ordinate y is y cordinate color=the color you want to use eg Color.blue

if you want to use rectangle object you could do it like this:

import java.applet.Applet;
import java.awt.*;

public class Rect1 extends Applet {

  public void paint (Graphics g) {    
    Rectangle r = new Rectangle(arg,arg1,arg2,arg3);
    g.fillRect(r.getX(), r.getY(), r.getWidth(), r.getHeight());
    g.setColor(color);
  }
}       

CSS3 :unchecked pseudo-class

The way I handled this was switching the className of a label based on a condition. This way you only need one label and you can have different classes for different states... Hope that helps!

Transparent image - background color

If I understand you right, you can do this:

<img src="image.png" style="background-color:red;" />

In fact, you can even apply a whole background-image to the image, resulting in two "layers" without the need for multi-background support in the browser ;)

error : expected unqualified-id before return in c++

You need to move " } " before the line of cout << endl; to the line before the first else .

HTML5 LocalStorage: Checking if a key exists

Quoting from the specification:

The getItem(key) method must return the current value associated with the given key. If the given key does not exist in the list associated with the object then this method must return null.

You should actually check against null.

if (localStorage.getItem("username") === null) {
  //...
}

How to install an npm package from GitHub directly?

The current top answer by Peter Lyons is not relevant with recent NPM versions. For example, using the same command that was criticized in this answer is now fine.

$ npm install https://github.com/visionmedia/express

If you have continued problems it might be a problem with whatever package you were using.

Exit a while loop in VBS/VBA

VBScript's While loops don't support early exit. Use the Do loop for that:

num = 0
do while (num < 10)
  if (status = "Fail") then exit do
  num = num + 1
loop

Detect if user is scrolling

window.addEventListener("scroll",function(){
    window.lastScrollTime = new Date().getTime()
});
function is_scrolling() {
    return window.lastScrollTime && new Date().getTime() < window.lastScrollTime + 500
}

Change the 500 to the number of milliseconds after the last scroll event at which you consider the user to be "no longer scrolling".

(addEventListener is better than onScroll because the former can coexist nicely with any other code that uses onScroll.)

JNI converting jstring to char *

Thanks Jason Rogers's answer first.

In Android && cpp should be this:

const char *nativeString = env->GetStringUTFChars(javaString, nullptr);

// use your string

env->ReleaseStringUTFChars(javaString, nativeString);

Can fix this errors:

1.error: base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'

2.error: no matching function for call to '_JNIEnv::GetStringUTFChars(JNIEnv*&, _jstring*&, bool)'

3.error: no matching function for call to '_JNIEnv::ReleaseStringUTFChars(JNIEnv*&, _jstring*&, char const*&)'

4.add "env->DeleteLocalRef(nativeString);" at end.

Can I change the name of `nohup.out`?

nohup some_command &> nohup2.out &

and voila.


Older syntax for Bash version < 4:

nohup some_command > nohup2.out 2>&1 &

How do I pass multiple parameter in URL?

This

url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"&param2="+lon);

must work. For whatever strange reason1, you need ? before the first parameter and & before the following ones.

Using a compound parameter like

url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"_"+lon);

would work, too, but is surely not nice. You can't use a space there as it's prohibited in an URL, but you could encode it as %20 or + (but this is even worse style).


1 Stating that ? separates the path and the parameters and that & separates parameters from each other does not explain anything about the reason. Some RFC says "use ? there and & there", but I can't see why they didn't choose the same character.

How to uncheck checkbox using jQuery Uniform library

A simpler solution is to do this rather than using uniform:

$('#check1').prop('checked', true); // will check the checkbox with id check1
$('#check1').prop('checked', false); // will uncheck the checkbox with id check1

This will not trigger any click action defined.

You can also use:

$('#check1').click(); // 

This will toggle the check/uncheck for the checkbox but this will also trigger any click action you have defined. So be careful.

EDIT: jQuery 1.6+ uses prop() not attr() for checkboxes checked value

Python list directory, subdirectory, and files

A bit simpler one-liner:

import os
from itertools import product, chain

chain.from_iterable([[os.sep.join(w) for w in product([i[0]], i[2])] for i in os.walk(dir)])

Can you center a Button in RelativeLayout?

you must have aligned it to left or right of parent view

don't use any of these when using android:centerInParent="true" codes:-

android:layout_alignParentLeft="true"

android:layout_alignParentLeft="true"

android:layout_alignRight=""

etc.

Android Studio: Default project directory

Try this:

File\Other Settings\Preferences for New Projects\Teminal\Start Directory

error: Unable to find vcvarsall.bat

I have python 2.73 and windows 7 .The solution that worked for me was:

  1. Added mingw32's bin directory to environment variable: append PATH with C:\programs\mingw\bin;
  2. Created distutils.cfg located at C:\Python27\Lib\distutils\distutils.cfg containing:

    [build]
    compiler=mingw32
    

To deal with MinGW not recognizing the -mno-cygwin flag anymore, remove the flag in C:\Python27\Lib\distutils\cygwincompiler.py line 322 to 326, so it looks like this:

  self.set_executables(compiler='gcc -O -Wall',
                         compiler_so='gcc -mdll -O -Wall',
                         compiler_cxx='g++ -O -Wall',
                         linker_exe='gcc',
                         linker_so='%s %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

Shell script to delete directories older than n days

If you want to delete all subdirectories under /path/to/base, for example

/path/to/base/dir1
/path/to/base/dir2
/path/to/base/dir3

but you don't want to delete the root /path/to/base, you have to add -mindepth 1 and -maxdepth 1 options, which will access only the subdirectories under /path/to/base

-mindepth 1 excludes the root /path/to/base from the matches.

-maxdepth 1 will ONLY match subdirectories immediately under /path/to/base such as /path/to/base/dir1, /path/to/base/dir2 and /path/to/base/dir3 but it will not list subdirectories of these in a recursive manner. So these example subdirectories will not be listed:

/path/to/base/dir1/dir1
/path/to/base/dir2/dir1
/path/to/base/dir3/dir1

and so forth.

So , to delete all the sub-directories under /path/to/base which are older than 10 days;

find /path/to/base -mindepth 1 -maxdepth 1 -type d -ctime +10 | xargs rm -rf

Double value to round up in Java

You can use format like here,

  public static double getDoubleValue(String value,int digit){
    if(value==null){
        value="0";
     }
    double i=0;
     try {
         DecimalFormat digitformat = new DecimalFormat("#.##");
         digitformat.setMaximumFractionDigits(digit);
        return Double.valueOf(digitformat.format(Double.parseDouble(value)));

    } catch (NumberFormatException numberFormatExp) {
        return i;   
    }
}

Init method in Spring Controller (annotation version)

You can use

@PostConstruct
public void init() {
   // ...
}

How to exclude particular class name in CSS selector?

One way is to use the multiple class selector (no space as that is the descendant selector):

_x000D_
_x000D_
.reMode_hover:not(.reMode_selected):hover _x000D_
{_x000D_
   background-color: #f0ac00;_x000D_
}
_x000D_
<a href="" title="Design" class="reMode_design  reMode_hover">_x000D_
    <span>Design</span>_x000D_
</a>_x000D_
_x000D_
<a href="" title="Design" _x000D_
 class="reMode_design  reMode_hover reMode_selected">_x000D_
    <span>Design</span>_x000D_
</a>
_x000D_
_x000D_
_x000D_

Add timestamp column with default NOW() for new rows only

For example, I will create a table called users as below and give a column named date a default value NOW()

create table users_parent (
    user_id     varchar(50),
    full_name   varchar(240),
    login_id_1  varchar(50),
    date        timestamp NOT NULL DEFAULT NOW()
);

Thanks

SqlBulkCopy - The given value of type String from the data source cannot be converted to type money of the specified target column

@Corey - It just simply strips out all invalid characters. However, your comment made me think of the answer.

The problem was that many of the fields in my database are nullable. When using SqlBulkCopy, an empty string is not inserted as a null value. So in the case of my fields that are not varchar (bit, int, decimal, datetime, etc) it was trying to insert an empty string, which obviously is not valid for that data type.

The solution was to modify my loop where I validate the values to this (repeated for each datatype that is not string)

//--- convert decimal values
foreach (DataColumn DecCol in DecimalColumns)
{
     if(string.IsNullOrEmpty(dr[DecCol].ToString()))
          dr[DecCol] = null; //--- this had to be set to null, not empty
     else
          dr[DecCol] = Helpers.CleanDecimal(dr[DecCol].ToString());
}

After making the adjustments above, everything inserts without issues.

Android Studio and Gradle build error

The only solution I've found is to first create the project in Android Studio, then close the project, then import the project. I searched all over and could not find the root cause and all other solutions people posted didn't work.

Does Django scale?

I think we might as well add Apple's App of the year for 2011, Instagram, to the list which uses django intensively.

Put icon inside input element in a form

Using with font-icon

<input name="foo" type="text" placeholder="&#61447;">

OR

<input id="foo" type="text" />

#foo::before
{
  font-family: 'FontAwesome';
  color:red;
  position: relative;
  left: -5px;
  content: "\f007";    
}

How to add a border to a widget in Flutter?

Using BoxDecoration() is the best way to show border.

Container(
  decoration: BoxDecoration(
    border: Border.all(
    color: Color(0xff000000),
    width: 4,
  )),
  child: //Your child widget
),

You can also view full format here

Regular expression include and exclude special characters

You haven't actually asked a question, but assuming you have one, this could be your answer...

Assuming all characters, except the "Special Characters" are allowed you can write

String regex = "^[^<>'\"/;`%]*$";

Angular window resize event

@Günter's answer is correct. I just wanted to propose yet another method.

You could also add the host-binding inside the @Component()-decorator. You can put the event and desired function call in the host-metadata-property like so:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  host: {
    '(window:resize)': 'onResize($event)'
  }
})
export class AppComponent{
   onResize(event){
     event.target.innerWidth; // window width
   }
}

how to change the dist-folder path in angular-cli after 'ng build'

The only thing that worked for me was to change outDir in in both angular-cli.json AND src/tsconfig.json.

I wanted my dist-folder outside the angular project folder. If I didn't change the setting in src/tsconfig.json as well, Angular CLI would throw warnings whenever I build the project.

Here are the most important lines ...

// angular-cli.json
{
  ...
  "apps": [
    {
      "outDir": "../dist",
      ...
    }
  ],
  ...
}

And ...

// tsconfig.json
{
  "compilerOptions": {
    "outDir": "../../dist/out-tsc",
    ...
  }
}

Excel telling me my blank cells aren't blank

Here's how I fixed this problem without any coding.

  1. Select the entire column that I wanted to delete the "blank" cells from.
  2. Click the Conditional Formatting tab up top.
  3. Select "New Rule".
  4. Click "Format only cells that contain".
  5. Change "between" to "equal to".
  6. Click the box next to the "equal to" box.
  7. Click one of the problem "blank" cells.
  8. Click the Format Button.
  9. Pick a random color to fill the box with.
  10. Press "OK".
  11. This should change all of the problem "blank" cells to the color that you chose. Now Right click one of the colored cells, and go to "Sort" and "Put selected cell color on top".
  12. This will put all of the problem cells at the top of the column and now all of your other cells will stay in the original order you put them in. You can now select all of the problem cells in one group and click the delete cell button on top to get rid of them.

org.springframework.web.client.HttpClientErrorException: 400 Bad Request

This is what worked for me. Issue is earlier I didn't set Content Type(header) when I used exchange method.

MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("param1", "123");
map.add("param2", "456");
map.add("param3", "789");
map.add("param4", "123");
map.add("param5", "456");

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

final HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<MultiValueMap<String, String>>(map ,
        headers);
JSONObject jsonObject = null;

try {
    RestTemplate restTemplate = new RestTemplate();
    ResponseEntity<String> responseEntity = restTemplate.exchange(
            "https://url", HttpMethod.POST, entity,
            String.class);

    if (responseEntity.getStatusCode() == HttpStatus.CREATED) {
        try {
            jsonObject = new JSONObject(responseEntity.getBody());
        } catch (JSONException e) {
            throw new RuntimeException("JSONException occurred");
        }
    }
  } catch (final HttpClientErrorException httpClientErrorException) {
        throw new ExternalCallBadRequestException();
  } catch (HttpServerErrorException httpServerErrorException) {
        throw new ExternalCallServerErrorException(httpServerErrorException);
  } catch (Exception exception) {
        throw new ExternalCallServerErrorException(exception);
    } 

ExternalCallBadRequestException and ExternalCallServerErrorException are the custom exceptions here.

Note: Remember HttpClientErrorException is thrown when a 4xx error is received. So if the request you send is wrong either setting header or sending wrong data, you could receive this exception.

Fatal error compiling: invalid target release: 1.8 -> [Help 1]

In my case (IntelliJ), I needed to check if I had the right Runner for maven:

  1. Preferences
  2. Build, Execution, Deployment
  3. Maven -> Runner

Preferences

Display image at 50% of its "native" size

It's somewhat weird, but it seems that Webkit, at least in newest stable version of Chrome, supports Microsoft's zoom property. The good news is that its behaviour is closer to what you want.

Unfortunately DOM clientWidth and similar properties still return the original values as if the image was not resized.

_x000D_
_x000D_
// hack: wait a moment for img to load_x000D_
setTimeout(function() {_x000D_
   var img = document.getElementsByTagName("img")[0];_x000D_
   document.getElementById("c").innerHTML = "clientWidth, clientHeight = " + img.clientWidth + ", " +_x000D_
      img.clientHeight;_x000D_
}, 1000);
_x000D_
img {_x000D_
  zoom: 50%;_x000D_
}_x000D_
/* -- not important below -- */_x000D_
#t {_x000D_
  width: 400px;_x000D_
  height: 300px;_x000D_
  background-color: #F88;_x000D_
}_x000D_
#s {_x000D_
  width: 200px;_x000D_
  height: 150px;_x000D_
  background-color: #8F8;_x000D_
}
_x000D_
<img src="data:image/png;base64,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" />_x000D_
<div id="s">div with explicit size for comparison 200px by 150px</div>_x000D_
<div id="t">div with explicit size for comparison 400px by 300px</div>_x000D_
<div id="c"></div>
_x000D_
_x000D_
_x000D_

C function that counts lines in file

You're opening a file, then passing the file pointer to a function that only wants a file name to open the file itself. You can simplify your call to;

void main(void)
{
  printf("LINES: %d\n",countlines("Test.txt"));
}

EDIT: You're changing the question around so it's very hard to answer; at first you got your change to main() wrong, you forgot that the first parameter is argc, so it crashed. Now you have the problem of;

if (fp == NULL);   // <-- note the extra semicolon that is the only thing 
                   //     that runs conditionally on the if 
  return 0;        // Always runs and returns 0

which will always return 0. Remove that extra semicolon, and you should get a reasonable count.

How to call a method with a separate thread in Java?

To achieve this with RxJava 2.x you can use:

Completable.fromAction(this::dowork).subscribeOn(Schedulers.io().subscribe();

The subscribeOn() method specifies which scheduler to run the action on - RxJava has several predefined schedulers, including Schedulers.io() which has a thread pool intended for I/O operations, and Schedulers.computation() which is intended for CPU intensive operations.

Binding ng-model inside ng-repeat loop in AngularJS

<h4>Order List</h4>
<ul>
    <li ng-repeat="val in filter_option.order">
        <span>
            <input title="{{filter_option.order_name[$index]}}" type="radio" ng-model="filter_param.order_option" ng-value="'{{val}}'" />
            &nbsp;{{filter_option.order_name[$index]}}
        </span>
        <select title="" ng-model="filter_param[val]">
            <option value="asc">Asc</option>
            <option value="desc">Desc</option>
        </select>
    </li>
</ul>

Difference between h:button and h:commandButton

h:button - clicking on a h:button issues a bookmarkable GET request.

h:commandbutton - Instead of a get request, h:commandbutton issues a POST request which sends the form data back to the server.

Xcode: Could not locate device support files

Here is the correct way of handling support errors from Xcode. All you have to do is add support to Xcode's DeviceSupport folder.

Open this link, extract the zip and copy the folder. https://github.com/mspvirajpatel/Xcode_Developer_Disk_Images/releases/tag/12.3.1

NOTE: A new version of iOS 13.0 beta recently released. If your Xcode throws iOS 13.0 support files needed, then click the link below:

https://github.com/amritsubedi/iOS-Developer-Disk-Image/blob/master/13.0.zip

Then, go to Applications -> Xcode. Right click and open Show Package Contents. Then, paste to Contents -> Developer -> Platforms -> iPhoneOS.platform -> DeviceSupport and restart Xcode.

Note: If you have a problem with any other version of iOS, then download the right iOS Developer Disk Image and paste it in the above-mentioned folder.

This will work. Press this to visually see the path.

Monitor network activity in Android Phones

The DDMS tool included in the Android SDK includes a tool for monitoring network traffic. It does not provide the kind of detail you get from tcpdump and similar low level tools, but it is still very useful.

Oficial documentation: http://developer.android.com/tools/debugging/ddms.html#network

Download a working local copy of a webpage

wget is capable of doing what you are asking. Just try the following:

wget -p -k http://www.example.com/

The -p will get you all the required elements to view the site correctly (css, images, etc). The -k will change all links (to include those for CSS & images) to allow you to view the page offline as it appeared online.

From the Wget docs:

‘-k’
‘--convert-links’
After the download is complete, convert the links in the document to make them
suitable for local viewing. This affects not only the visible hyperlinks, but
any part of the document that links to external content, such as embedded images,
links to style sheets, hyperlinks to non-html content, etc.

Each link will be changed in one of the two ways:

    The links to files that have been downloaded by Wget will be changed to refer
    to the file they point to as a relative link.

    Example: if the downloaded file /foo/doc.html links to /bar/img.gif, also
    downloaded, then the link in doc.html will be modified to point to
    ‘../bar/img.gif’. This kind of transformation works reliably for arbitrary
    combinations of directories.

    The links to files that have not been downloaded by Wget will be changed to
    include host name and absolute path of the location they point to.

    Example: if the downloaded file /foo/doc.html links to /bar/img.gif (or to
    ../bar/img.gif), then the link in doc.html will be modified to point to
    http://hostname/bar/img.gif. 

Because of this, local browsing works reliably: if a linked file was downloaded,
the link will refer to its local name; if it was not downloaded, the link will
refer to its full Internet address rather than presenting a broken link. The fact
that the former links are converted to relative links ensures that you can move
the downloaded hierarchy to another directory.

Note that only at the end of the download can Wget know which links have been
downloaded. Because of that, the work done by ‘-k’ will be performed at the end
of all the downloads. 

Standard Android menu icons, for example refresh

Never mind, I found it in the source: base.git/core/res/res and subdirectories.

As others said in the comments, if you have the Android SDK installed it’s also on your computer. The path is [SDK]/platforms/android-[VERSION]/data/res.

T-sql - determine if value is integer

Here's a blog post describing the creation of an IsInteger UDF.

Basically, it recommends adding '.e0' to the value and using IsNumeric. In this way, anything that already had a decimal point now has two decimal points, causing IsNumeric to be false, and anything already expressed in scientific notation is invalidated by the e0.

Read file-contents into a string in C++

This depends on a lot of things, such as what is the size of the file, what is its type (text/binary) etc. Some time ago I benchmarked the following function against versions using streambuf iterators - it was about twice as fast:

unsigned int FileRead( std::istream & is, std::vector <char> & buff ) {
    is.read( &buff[0], buff.size() );
    return is.gcount();
}

void FileRead( std::ifstream & ifs, string & s ) {
    const unsigned int BUFSIZE = 64 * 1024; // reasoable sized buffer
    std::vector <char> buffer( BUFSIZE );

    while( unsigned int n = FileRead( ifs, buffer ) ) {
        s.append( &buffer[0], n );
    }
}

Inserting created_at data with Laravel

Currently (Laravel 5.4) the way to achieve this is:

$model = new Model();
$model->created_at = Carbon::now();
$model->save(['timestamps' => false]);

PHP: Get the key from an array in a foreach loop

Use foreach with key and value.

Example:

foreach($samplearr as $key => $val) {
     print "<tr><td>" 
         . $key 
         . "</td><td>" 
         . $val['value1'] 
         . "</td><td>" 
         . $val['value2'] 
         . "</td></tr>";
}

Calling a particular PHP function on form submit

In the following line

<form method="post" action="display()">

the action should be the name of your script and you should call the function, Something like this

<form method="post" action="yourFileName.php">
    <input type="text" name="studentname">
    <input type="submit" value="click" name="submit"> <!-- assign a name for the button -->
</form>

<?php
function display()
{
    echo "hello ".$_POST["studentname"];
}
if(isset($_POST['submit']))
{
   display();
} 
?>

jQuery: How to get the event object in an event handler function without passing it as an argument?

Write your event handler declaration like this:

<a href="#" onclick="myFunc(event,1,2,3)">click</a>

Then your "myFunc()" function can access the event.

The string value of the "onclick" attribute is converted to a function in a way that's almost exactly the same as the browser (internally) calling the Function constructor:

theAnchor.onclick = new Function("event", theOnclickString);

(except in IE). However, because "event" is a global in IE (it's a window attribute), you'll be able to pass it to the function that way in any browser.

Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain

Check if you are building for device instead of simulator. Go to Xcode menu 'Project' -> 'Set Active SDK' change from 'Device' to 'Simulator'

Under Xcode 4.1 Check your build settings for the project and your targets. For each check under 'Code Signing' check 'Code Signing Identity' and change over to 'Don't Code Sign'

Explain why constructor inject is better than other options

By using Constructor Injection, you assert the requirement for the dependency in a container-agnostic manner

We need the assurance from the IoC container that, before using any bean, the injection of necessary beans must be done.

In setter injection strategy, we trust the IoC container that it will first create the bean first but will do the injection right before using the bean using the setter methods. And the injection is done according to your configuration. If you somehow misses to specify any beans to inject in the configuration, the injection will not be done for those beans and your dependent bean will not function accordingly when it will be in use!

But in constructor injection strategy, container imposes (or must impose) to provide the dependencies properly while constructing the bean. This was addressed as " container-agnostic manner", as we are required to provide dependencies while creating the bean, thus making the visibility of dependency, independent of any IoC container.

Edit:

Q1: And how to prevent container from creating bean by constructor with null values instead of missing beans?

You have no option to really miss any <constructor-arg> (in case of Spring), because you are imposed by IoC container to provide all the constructor arguments needed to match a provided constructor for creating the bean. If you provide null in your <constructor-arg> intentionally. Then there is nothing IoC container can do or need to do with it!

Pass Arraylist as argument to function

Define it as

<return type> AnalyzeArray(ArrayList<Integer> list) {

How to call a function from a string stored in a variable?

Yes, it is possible:

function foo($msg) {
    echo $msg."<br />";
}
$var1 = "foo";
$var1("testing 1,2,3");

Source: http://www.onlamp.com/pub/a/php/2001/05/17/php_foundations.html?page=2

Getting net::ERR_UNKNOWN_URL_SCHEME while calling telephone number from HTML page in Android

I had this issue occurring with mailto: and tel: links inside an iframe (in Chrome, not a webview). Clicking the links would show the grey "page not found" page and inspecting the page showed it had a ERR_UNKNOWN_URL_SCHEME error.

Adding target="_blank", as suggested by this discussion of the issue fixed the problem for me.

Check if a String contains numbers Java

If you want to extract the first number out of the input string, you can do-

public static String extractNumber(final String str) {                
    
    if(str == null || str.isEmpty()) return "";
    
    StringBuilder sb = new StringBuilder();
    boolean found = false;
    for(char c : str.toCharArray()){
        if(Character.isDigit(c)){
            sb.append(c);
            found = true;
        } else if(found){
            // If we already found a digit before and this char is not a digit, stop looping
            break;                
        }
    }
    
    return sb.toString();
}

Examples:

For input "123abc", the method above will return 123.

For "abc1000def", 1000.

For "555abc45", 555.

For "abc", will return an empty string.

Drawing Circle with OpenGL

Here is a code to draw a fill elipse, you can use the same method but replacing de xcenter and y center with radius

void drawFilledelipse(GLfloat x, GLfloat y, GLfloat xcenter,GLfloat ycenter) {
    int i;
    int triangleAmount = 20; //# of triangles used to draw circle

    //GLfloat radius = 0.8f; //radius
    GLfloat twicePi = 2.0f * PI;

    glBegin(GL_TRIANGLE_FAN);
    glVertex2f(x, y); // center of circle
    for (i = 0; i <= triangleAmount; i++) {
        glVertex2f(
            x + ((xcenter+1)* cos(i * twicePi / triangleAmount)),
            y + ((ycenter-1)* sin(i * twicePi / triangleAmount))
        );
    }
    glEnd();
}

What is the meaning of the CascadeType.ALL for a @ManyToOne JPA association

In JPA 2.0 if you want to delete an address if you removed it from a User entity you can add orphanRemoval=true (instead of CascadeType.REMOVE) to your @OneToMany.

More explanation between orphanRemoval=true and CascadeType.REMOVE is here.

Tomcat request timeout

For anyone who doesn't like none of the solutions posted above like me then you can simply implement a timer yourself and stop the request execution by throwing a runtime exception. Something like below:

                  try 
                 {
                     timer.schedule(new TimerTask() {
                       @Override
                       public void run() {
                         timer.cancel();
                       }
                     }, /* specify time of the requst */ 1000);
                 }
                 catch(Exception e)
                 {
                   throw new RuntimeException("the request is taking longer than usual");
                 }

   

or preferably use the java guava timeLimiter here

Python basics printing 1 to 100

When you use count = count + 3 or count = count + 9 instead of count = count + 1, the value of count will never be 100, and hence it enters an infinite loop.

You could use the following code for your condition to work

while count < 100:

Now the loop will terminate when count >= 100.

DTO and DAO concepts and MVC

DTO is an abbreviation for Data Transfer Object, so it is used to transfer the data between classes and modules of your application.

  • DTO should only contain private fields for your data, getters, setters, and constructors.
  • DTO is not recommended to add business logic methods to such classes, but it is OK to add some util methods.

DAO is an abbreviation for Data Access Object, so it should encapsulate the logic for retrieving, saving and updating data in your data storage (a database, a file-system, whatever).

Here is an example of how the DAO and DTO interfaces would look like:

interface PersonDTO {
    String getName();
    void setName(String name);
    //.....
}

interface PersonDAO {
    PersonDTO findById(long id);
    void save(PersonDTO person);
    //.....
}

The MVC is a wider pattern. The DTO/DAO would be your model in the MVC pattern.
It tells you how to organize the whole application, not just the part responsible for data retrieval.

As for the second question, if you have a small application it is completely OK, however, if you want to follow the MVC pattern it would be better to have a separate controller, which would contain the business logic for your frame in a separate class and dispatch messages to this controller from the event handlers.
This would separate your business logic from the view.

C++ Vector of pointers

As far as I understand, you create a Movie class:

class Movie
{
private:
  std::string _title;
  std::string _director;
  int         _year;
  int         _rating;
  std::vector<std::string> actors;
};

and having such class, you create a vector instance:

std::vector<Movie*> movies;

so, you can add any movie to your movies collection. Since you are creating a vector of pointers to movies, do not forget to free the resources allocated by your movie instances OR you could use some smart pointer to deallocate the movies automatically:

std::vector<shared_ptr<Movie>> movies;

Property 'value' does not exist on type 'Readonly<{}>'

interface MyProps {
  ...
}

interface MyState {
  value: string
}

class App extends React.Component<MyProps, MyState> {
  ...
}

// Or with hooks, something like

const App = ({}: MyProps) => {
  const [value, setValue] = useState<string>('');
  ...
};

type's are fine too like in @nitzan-tomer's answer, as long as you're consistent.

Skipping error in for-loop

One (dirty) way to do it is to use tryCatch with an empty function for error handling. For example, the following code raises an error and breaks the loop :

for (i in 1:10) {
    print(i)
    if (i==7) stop("Urgh, the iphone is in the blender !")
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
Erreur : Urgh, the iphone is in the blender !

But you can wrap your instructions into a tryCatch with an error handling function that does nothing, for example :

for (i in 1:10) {
  tryCatch({
    print(i)
    if (i==7) stop("Urgh, the iphone is in the blender !")
  }, error=function(e){})
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10

But I think you should at least print the error message to know if something bad happened while letting your code continue to run :

for (i in 1:10) {
  tryCatch({
    print(i)
    if (i==7) stop("Urgh, the iphone is in the blender !")
  }, error=function(e){cat("ERROR :",conditionMessage(e), "\n")})
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
ERROR : Urgh, the iphone is in the blender ! 
[1] 8
[1] 9
[1] 10

EDIT : So to apply tryCatch in your case would be something like :

for (v in 2:180){
    tryCatch({
        mypath=file.path("C:", "file1", (paste("graph",names(mydata[columnname]), ".pdf", sep="-")))
        pdf(file=mypath)
        mytitle = paste("anything")
        myplotfunction(mydata[,columnnumber]) ## this function is defined previously in the program
        dev.off()
    }, error=function(e){cat("ERROR :",conditionMessage(e), "\n")})
}

Spring-boot default profile for integration tests

To activate "test" profile write in your build.gradle:

    test.doFirst {
        systemProperty 'spring.profiles.active', 'test'
        activeProfiles = 'test'
    }

Find all stored procedures that reference a specific column in some table

SELECT *
FROM   sys.all_sql_modules
WHERE  definition LIKE '%CreatedDate%'

CSS background image to fit height, width should auto-scale in proportion

try

.something { 
    background: url(images/bg.jpg) no-repeat center center fixed; 
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -100;  
}

How to find out what the date was 5 days ago?

simple way to find the same is

$date = date("Y-m-d", strtotime('-5 days', strtotime('input_date')));

How to use filesaver.js

Here is a guide to JSZIP to create ZIP files by JavaScript. To download files you need to have filesaver.js, You can include those libraries by:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.4/jszip.min.js"  type="text/javascript"></script>
<script type="text/javascript" src="https://fastcdn.org/FileSaver.js/1.1.20151003/FileSaver.js" ></script>

Now copy this code and this code will download a zip file with a file hello.txt having content Hello World. If everything thing works fine, this will download a file.

<script type="text/javascript">
    var zip = new JSZip();
    zip.file("Hello.txt", "Hello World\n");
    zip.generateAsync({type:"blob"})
    .then(function(content) {
        // see FileSaver.js
        saveAs(content, "file.zip");
    });
</script>

Now let's get in to deeper. Create an instance of JSZip.

var zip = new JSZip();

Add a file with a Hello World text:

zip.file("hello.txt", "Hello World\n");

Download the filie with name archive.zip

zip.generateAsync({type:"blob"}).then(function(zip) {
    saveAs(zip, "archive.zip");
});

Read More from here: http://www.wapgee.com/story/248/guide-to-create-zip-files-using-javascript-by-using-jszip-library

Transport security has blocked a cleartext HTTP

It may be worth mentioning how to get there...

Info.plist is one of the files below the Main.storyboard or viewController.swift.

When you click on it the first time, it usually is in a table format, so right click the file and 'open as' Source code and then add the code below towards the end, i.e.:

 <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>

Copy paste the code just above

 "</dict>
</plist>"

which is at the end.

Resolve conflicts using remote changes when pulling from Git remote

You can either use the answer from the duplicate link pointed by nvm.

Or you can resolve conflicts by using their changes (but some of your changes might be kept if they don't conflict with remote version):

git pull -s recursive -X theirs

Lock, mutex, semaphore... what's the difference?

Take a look at Multithreading Tutorial by John Kopplin.

In the section Synchronization Between Threads, he explain the differences among event, lock, mutex, semaphore, waitable timer

A mutex can be owned by only one thread at a time, enabling threads to coordinate mutually exclusive access to a shared resource

Critical section objects provide synchronization similar to that provided by mutex objects, except that critical section objects can be used only by the threads of a single process

Another difference between a mutex and a critical section is that if the critical section object is currently owned by another thread, EnterCriticalSection() waits indefinitely for ownership whereas WaitForSingleObject(), which is used with a mutex, allows you to specify a timeout

A semaphore maintains a count between zero and some maximum value, limiting the number of threads that are simultaneously accessing a shared resource.

How can I list all commits that changed a specific file?

gitk <path_to_filename>

Assuming the package "gitk" is already installed.

If it is not installed, do this:

sudo apt-get install gitk

And then try the above command. It is for Linux... It might help Linux users if they want a GUI.

Get the client's IP address in socket.io

Latest version works with:

console.log(socket.handshake.address);

test if display = none

Try this instead to only select the visible elements under the tbody:

$('tbody :visible').highlight(myArray[i]);

Validating email addresses using jQuery and regex

Try this

function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
    return pattern.test(emailAddress);
};

FCM getting MismatchSenderId

THIS WORKED FOR ME:

  • CHECK WHICH FIREBASE PROJECT YOUR CURRENT ANDROID PROJECT IS LINKED TO AND USE Server Key FROM THAT PROJECT.

I was using Server key from a different firebase project(say Project 2). I used the same server key as linked with my android project(Say Project 1) and it worked. In my experience, using one firebase app for one entire android project seemed to fix the problem.

Create Map in Java

With the newer Java versions (i.e., Java 9 and forwards) you can use :

Map.of(1, new Point2D.Double(50, 50), 2, new Point2D.Double(100, 50), ...)

generically:

Map.of(Key1, Value1, Key2, Value2, KeyN, ValueN)

Bear in mind however that Map.of only works for at most 10 entries, if you have more than 10 entries that you can use :

Map.ofEntries(entry(1, new Point2D.Double(50, 50)), entry(2,  new Point2D.Double(100, 50)), ...);

POST data in JSON format

Using the new FormData object (and other ES6 stuff), you can do this to turn your entire form into JSON:

let data = {};
let formdata = new FormData(theform);
for (let tuple of formdata.entries()) data[tuple[0]] = tuple[1];

and then just xhr.send(JSON.stringify(data)); like in Jan's original answer.

whitespaces in the path of windows filepath

There is no problem with whitespaces in the path since you're not using the "shell" to open the file. Here is a session from the windows console to prove the point. You're doing something else wrong

Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on wi
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>>
>>> os.makedirs("C:/ABC/SEM 2/testfiles")
>>> open("C:/ABC/SEM 2/testfiles/all.txt","w")
<open file 'C:/ABC/SEM 2/testfiles/all.txt', mode 'w' at 0x0000000001D95420>
>>> exit()

C:\Users\Gnibbler>dir "C:\ABC\SEM 2\testfiles"
 Volume in drive C has no label.
 Volume Serial Number is 46A0-BB64

 Directory of c:\ABC\SEM 2\testfiles

13/02/2013  10:20 PM    <DIR>          .
13/02/2013  10:20 PM    <DIR>          ..
13/02/2013  10:20 PM                 0 all.txt
               1 File(s)              0 bytes
               2 Dir(s)  78,929,309,696 bytes free

C:\Users\Gnibbler>

Check whether variable is number or string in JavaScript

//testing data types accurately in JavaScript (opposed to "typeof")
//from http://bonsaiden.github.com/JavaScript-Garden/
function is(type, obj) {
    var clas = Object.prototype.toString.call(obj).slice(8, -1);
    return obj !== undefined && obj !== null && clas === type;
}

//basic usage
is('String', 'test'); // true
is('Array', true); // false

Or adapt it to return an unknown type:

function realTypeOf(obj) {
    return Object.prototype.toString.call(obj).slice(8, -1);
}

//usage
realTypeOf(999); // 'Number'

May 12, 2012 Update: Full example at Javascript: A Better typeof.

Writing unit tests in Python: How do I start?

The free Python book Dive Into Python has a chapter on unit testing that you might find useful.

If you follow modern practices you should probably write the tests while you are writing your project, and not wait until your project is nearly finished.

Bit late now, but now you know for next time. :)

Correct owner/group/permissions for Apache 2 site files/folders under Mac OS X?

If you really don't like the Terminal here is the GUI way to do dkamins is telling you :

1) Go to your user home directory (ludo would be mine) and from the File menu choose Get Info cmdI in the inspector :

Get Info window Sharing & Permissions section

2) By alt/option clicking on the [+] sign add the _www group and set it's permission to read-only :

Get Info add Users & Groups highlighted and World Wide Web Server highlighted

  • Thus consider (good practice) not storing personnal information at the root of your user home folder (& hard disk) !
  • You may skip this step if the **everyone** group has **read-only** permission but since AirDrop the **/Public/Drop Box** folder is mostly useless...

3) Show the Get Info inspector of your user Sites folder and reproduce step 2 then from the gear action sub-menu choose Apply to enclosed Items... :

Get Info action sub-menu Apply to enclosed Items... highlighted

Voilà 3 steps and the GUI only way...

Python slice first and last element in list

More General Case: Return N points from each end of list

The answers work for the specific first and last, but some, like myself, may be looking for a solution that can be applied to a more general case in which you can return the top N points from either side of the list (say you have a sorted list and only want the 5 highest or lowest), i came up with the following solution:

In [1]
def GetWings(inlist,winglen):
    if len(inlist)<=winglen*2:
        outlist=inlist
    else:
        outlist=list(inlist[:winglen])
        outlist.extend(list(inlist[-winglen:]))
    return outlist

and an example to return bottom and top 3 numbers from list 1-10:

In [2]
GetWings([1,2,3,4,5,6,7,8,9,10],3)

#Out[2]
#[1, 2, 3, 8, 9, 10]

How to determine the IP address of a Solaris system

Try using ifconfig -a. Look for "inet xxx.xxx.xxx.xxx", that is your IP address

How can I use Guzzle to send a POST request in JSON?

Php Version: 5.6

Symfony version: 2.3

Guzzle: 5.0

I had an experience recently about sending json with Guzzle. I use Symfony 2.3 so my guzzle version can be a little older.

I will also show how to use debug mode and you can see the request before sending it,

When i made the request as shown below got the successfull response;

use GuzzleHttp\Client;

$headers = [
        'Authorization' => 'Bearer ' . $token,        
        'Accept'        => 'application/json',
        "Content-Type"  => "application/json"
    ];        

    $body = json_encode($requestBody);

    $client = new Client();    

    $client->setDefaultOption('headers', $headers);
    $client->setDefaultOption('verify', false);
    $client->setDefaultOption('debug', true);

    $response = $client->post($endPoint, array('body'=> $body));

    dump($response->getBody()->getContents());

How to run wget inside Ubuntu Docker image?

I had this problem recently where apt install wget does not find anything. As it turns out apt update was never run.

apt update
apt install wget

After discussing this with a coworker we mused that apt update is likely not run in order to save both time and space in the docker image.

Is mathematics necessary for programming?

I guess I am going to be the first person to say you do need math. As others have said math is not all that important for certain aspects of development, but the fundamentals of critical thinking and structured analysis are very important.

More so, math is important in understanding a lot of the fundamentals that go into things like schedulers, optimizations, sorting, protocol management, and a number of other aspects of computers. Though the math involved from a calculation level is not complex (its mostly High school algebra) the theories and applications can be quite complex as a solid understanding of math through calculus will be of great benefit.

Can you get by without it, absolutely, and you shouldnt let a less then thorough knowledge of math hold you back, but if you had the chance, or the inclination I would study as much math as you could, calculus, numeric theory, linear algebra, combinatorics, practical applications, all of it has both practical and theoretical applications in a wide range of computer science.

I have known people who were highly successful on both sides of the fence (those without a strong focus on math, and those who went to school for physics or math), but in both groups they enjoyed numerical problems and learning about algorithms and math theory.

How to prevent IFRAME from redirecting top-level window

I use sandbox="..."

  • allow-forms allows form submission
  • allow-popups allows popups
  • allow-pointer-lock allows pointer lock
  • allow-same-origin allows the document to maintain its origin
  • allow-scripts allows JavaScript execution, and also allows features to trigger automatically
  • allow-top-navigation allows the document to break out of the frame by navigating the top-level window

Top navigation is what you want to prevent, so leave that out and it will not be allowed. Anything left out will be blocked

ex.

        <iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe>

how to draw directed graphs using networkx in python?

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_node("A")
G.add_node("B")
G.add_node("C")
G.add_node("D")
G.add_node("E")
G.add_node("F")
G.add_node("G")
G.add_edge("A","B")
G.add_edge("B","C")
G.add_edge("C","E")
G.add_edge("C","F")
G.add_edge("D","E")
G.add_edge("F","G")

print(G.nodes())
print(G.edges())

pos = nx.spring_layout(G)

nx.draw_networkx_nodes(G, pos)
nx.draw_networkx_labels(G, pos)
nx.draw_networkx_edges(G, pos, edge_color='r', arrows = True)

plt.show()

Programmatically get the version number of a DLL

Answer by @Ben proved to be useful for me. But I needed to check the product version as it was the main increment happening in my software and followed semantic versioning.

myFileVersionInfo.ProductVersion

This method met my expectations

Update: Instead of explicitly mentioning dll path in program (as needed in production version), we can get product version using Assembly.

Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fileVersionInfo =FileVersionInfo.GetVersionInfo(assembly.Location); 
string ProdVersion= fileVersionInfo.ProductVersion;

How to solve "Fatal error: Class 'MySQLi' not found"?

I checked all above and it didn't work for me,

There are some steps I found.

I used PHP Version 5.5.9-1ubuntu4.17 on Ubuntu 14.04

First check the folder

#ls /etc/php5/mods-available/
json.ini  mcrypt.ini  mysqli.ini  mysql.ini  mysqlnd.ini  opcache.ini  pdo.ini  pdo_mysql.ini  readline.ini  xcache.ini

If it did not contain mysqli.ini, read other answer for installing it,

Open php.ini find extension_dir

In my case , I must set extension_dir = /usr/lib/php5/20121212

And restart apache2 : /ect/init.d/apache2 restart

Thread pooling in C++11

You can use thread_pool from boost library:

void my_task(){...}

int main(){
    int threadNumbers = thread::hardware_concurrency();
    boost::asio::thread_pool pool(threadNumbers);

    // Submit a function to the pool.
    boost::asio::post(pool, my_task);

    // Submit a lambda object to the pool.
    boost::asio::post(pool, []() {
      ...
    });
}

You also can use threadpool from open source community:

void first_task() {...}    
void second_task() {...}

int main(){
    int threadNumbers = thread::hardware_concurrency();
    pool tp(threadNumbers);

    // Add some tasks to the pool.
    tp.schedule(&first_task);
    tp.schedule(&second_task);
}

Combine multiple results in a subquery into a single comma-separated value

Solution below:

SELECT GROUP_CONCAT(field_attr_best_weekday_value)as RAVI
FROM content_field_attr_best_weekday LEFT JOIN content_type_attraction
    on content_field_attr_best_weekday.nid = content_type_attraction.nid
GROUP BY content_field_attr_best_weekday.nid

Use this, you also can change the Joins

Find Process Name by its Process ID

Using only "native" Windows utilities, try the following, where "516" is the process ID that you want the image name for:

for /f "delims=," %a in ( 'tasklist /fi "PID eq 516" /nh /fo:csv' ) do ( echo %~a )
for /f %a in ( 'tasklist /fi "PID eq 516" ^| findstr "516"' ) do ( echo %a )

Or you could use wmic (the Windows Management Instrumentation Command-line tool) and get the full path to the executable:

wmic process where processId=516 get name
wmic process where processId=516 get ExecutablePath

Or you could download Microsoft PsTools, or specifically download just the pslist utility, and use PsList:

for /f %a in ( 'pslist 516 ^| findstr "516"' ) do ( echo %a )

How do you automatically resize columns in a DataGridView control AND allow the user to resize the columns on that same grid?

After adding the data to the grid add the following code which will adjust the column according to the length of data in each cell

dataGrid1.AutoResizeColumns();            
dataGrid1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

Here is the Result

enter image description here

file_put_contents: Failed to open stream, no such file or directory

There is definitly a problem with the destination folder path.

Your above error message says, it wants to put the contents to a file in the directory /files/grantapps/, which would be beyond your vhost, but somewhere in the system (see the leading absolute slash )

You should double check:

  • Is the directory /home/username/public_html/files/grantapps/ really present.
  • Contains your loop and your file_put_contents-Statement the absolute path /home/username/public_html/files/grantapps/

Remove all files except some from a directory

I prefer to use sub query list:

rm -r `ls | grep -v "textfile.txt\|backup.tar.gz\|script.php\|database.sql\|info.txt"`

-v, --invert-match select non-matching lines

\| Separator

How do I grant myself admin access to a local SQL Server instance?

Here's a script that claims to be able to fix this.

Get admin rights to your local SQL Server Express with this simple script

Download link to the script

Description

This command script allows you to easily add yourself to the sysadmin role of a local SQL Server instance. You must be a member of the Windows local Administrators group, or have access to the credentials of a user who is. The script supports SQL Server 2005 and later.

The script is most useful if you are a developer trying to use SQL Server 2008 Express that was installed by someone else. In this situation you usually won't have admin rights to the SQL Server 2008 Express instance, since by default only the person installing SQL Server 2008 is granted administrative privileges.

The user who installed SQL Server 2008 Express can use SQL Server Management Studio to grant the necessary privileges to you. But what if SQL Server Management Studio was not installed? Or worse if the installing user is not available anymore?

This script fixes the problem in just a few clicks!

Note: You will need to provide the BAT file with an 'Instance Name' (Probably going to be 'MSSQLSERVER' - but it might not be): you can get the value by first running the following in the "Microsoft SQL Server Management Console":

 SELECT @@servicename

Then copy the result to use when the BAT file prompts for 'SQL instance name'.

  @echo off 
    rem 
    rem **************************************************************************** 
    rem 
    rem    Copyright (c) Microsoft Corporation. All rights reserved. 
    rem    This code is licensed under the Microsoft Public License. 
    rem    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF 
    rem    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY 
    rem    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR 
    rem    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. 
    rem 
    rem **************************************************************************** 
    rem 
    rem CMD script to add a user to the SQL Server sysadmin role 
    rem 
    rem Input:  %1 specifies the instance name to be modified. Defaults to SQLEXPRESS. 
    rem         %2 specifies the principal identity to be added (in the form "<domain>\<user>"). 
    rem            If omitted, the script will request elevation and add the current user (pre-elevation) to the sysadmin role. 
    rem            If provided explicitly, the script is assumed to be running elevated already. 
    rem 
    rem Method: 1) restart the SQL service with the '-m' option, which allows a single connection from a box admin 
    rem            (the box admin is temporarily added to the sysadmin role with this start option) 
    rem         2) connect to the SQL instance and add the user to the sysadmin role 
    rem         3) restart the SQL service for normal connections 
    rem 
    rem Output: Messages indicating success/failure. 
    rem         Note that if elevation is done by this script, a new command process window is created: the output of this 
    rem         window is not directly accessible to the caller. 
    rem 
    rem 
    setlocal 
    set sqlresult=N/A 
    if .%1 == . (set /P sqlinstance=Enter SQL instance name, or default to SQLEXPRESS: ) else (set sqlinstance=%1) 
    if .%sqlinstance% == . (set sqlinstance=SQLEXPRESS) 
    if /I %sqlinstance% == MSSQLSERVER (set sqlservice=MSSQLSERVER) else (set sqlservice=MSSQL$%sqlinstance%) 
    if .%2 == . (set sqllogin="%USERDOMAIN%\%USERNAME%") else (set sqllogin=%2) 
    rem remove enclosing quotes 
    for %%i in (%sqllogin%) do set sqllogin=%%~i 
    @echo Adding '%sqllogin%' to the 'sysadmin' role on SQL Server instance '%sqlinstance%'. 
    @echo Verify the '%sqlservice%' service exists ... 
    set srvstate=0 
    for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j 
    if .%srvstate% == .0 goto existerror 
    rem 
    rem elevate if <domain/user> was defaulted 
    rem 
    if NOT .%2 == . goto continue 
    echo new ActiveXObject("Shell.Application").ShellExecute("cmd.exe", "/D /Q /C pushd \""+WScript.Arguments(0)+"\" & \""+WScript.Arguments(1)+"\" %sqlinstance% \""+WScript.Arguments(2)+"\"", "", "runas"); >"%TEMP%\addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js" 
    call "%TEMP%\addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js" "%cd%" %0 "%sqllogin%" 
    del "%TEMP%\addsysadmin{7FC2CAE2-2E9E-47a0-ADE5-C43582022EA8}.js" 
    goto :EOF 
    :continue 
    rem 
    rem determine if the SQL service is running 
    rem 
    set srvstarted=0 
    set srvstate=0 
    for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j 
    if .%srvstate% == .0 goto queryerror 
    rem 
    rem if required, stop the SQL service 
    rem 
    if .%srvstate% == .1 goto startm 
    set srvstarted=1 
    @echo Stop the '%sqlservice%' service ... 
    net stop %sqlservice% 
    if errorlevel 1 goto stoperror 
    :startm 
    rem 
    rem start the SQL service with the '-m' option (single admin connection) and wait until its STATE is '4' (STARTED) 
    rem also use trace flags as follows: 
    rem     3659 - log all errors to errorlog 
    rem     4010 - enable shared memory only (lpc:) 
    rem     4022 - do not start autoprocs 
    rem 
    @echo Start the '%sqlservice%' service in maintenance mode ... 
    sc start %sqlservice% -m -T3659 -T4010 -T4022 >nul 
    if errorlevel 1 goto startmerror 
    :checkstate1 
    set srvstate=0 
    for /F "usebackq tokens=1,3" %%i in (`sc query %sqlservice%`) do if .%%i == .STATE set srvstate=%%j 
    if .%srvstate% == .0 goto queryerror 
    if .%srvstate% == .1 goto startmerror 
    if NOT .%srvstate% == .4 goto checkstate1 
    rem 
    rem add the specified user to the sysadmin role 
    rem access tempdb to avoid a misleading shutdown error 
    rem 
    @echo Add '%sqllogin%' to the 'sysadmin' role ... 
    for /F "usebackq tokens=1,3" %%i in (`sqlcmd -S np:\\.\pipe\SQLLocal\%sqlinstance% -E -Q "create table #foo (bar int); declare @rc int; execute @rc = sp_addsrvrolemember '$(sqllogin)', 'sysadmin'; print 'RETURN_CODE : '+CAST(@rc as char)"`) do if .%%i == .RETURN_CODE set sqlresult=%%j 
    rem 
    rem stop the SQL service 
    rem 
    @echo Stop the '%sqlservice%' service ... 
    net stop %sqlservice% 
    if errorlevel 1 goto stoperror 
    if .%srvstarted% == .0 goto exit 
    rem 
    rem start the SQL service for normal connections 
    rem 
    net start %sqlservice% 
    if errorlevel 1 goto starterror 
    goto exit 
    rem 
    rem handle unexpected errors 
    rem 
    :existerror 
    sc query %sqlservice% 
    @echo '%sqlservice%' service is invalid 
    goto exit 
    :queryerror 
    @echo 'sc query %sqlservice%' failed 
    goto exit 
    :stoperror 
    @echo 'net stop %sqlservice%' failed 
    goto exit 
    :startmerror 
    @echo 'sc start %sqlservice% -m' failed 
    goto exit 
    :starterror 
    @echo 'net start %sqlservice%' failed 
    goto exit 
    :exit 
    if .%sqlresult% == .0 (@echo '%sqllogin%' was successfully added to the 'sysadmin' role.) else (@echo '%sqllogin%' was NOT added to the 'sysadmin' role: SQL return code is %sqlresult%.) 
    endlocal 
    pause

Node.js setting up environment specific configs to be used with everyauth

You could also have a JSON file with NODE_ENV as the top level. IMO, this is a better way to express configuration settings (as opposed to using a script that returns settings).

var config = require('./env.json')[process.env.NODE_ENV || 'development'];

Example for env.json:

{
    "development": {
        "MONGO_URI": "mongodb://localhost/test",
        "MONGO_OPTIONS": { "db": { "safe": true } }
    },
    "production": {
        "MONGO_URI": "mongodb://localhost/production",
        "MONGO_OPTIONS": { "db": { "safe": true } }
    }
}

Getting the count of unique values in a column in bash

To see a frequency count for column two (for example):

awk -F '\t' '{print $2}' * | sort | uniq -c | sort -nr

fileA.txt

z    z    a
a    b    c
w    d    e

fileB.txt

t    r    e
z    d    a
a    g    c

fileC.txt

z    r    a
v    d    c
a    m    c

Result:

  3 d
  2 r
  1 z
  1 m
  1 g
  1 b

Why are my PowerShell scripts not running?

Use:

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

Always use the above command to enable to executing PowerShell in the current session.

How to redirect 404 errors to a page in ExpressJS?

express-error-handler lets you specify custom templates, static pages, or error handlers for your errors. It also does other useful error-handling things that every app should implement, like protect against 4xx error DOS attacks, and graceful shutdown on unrecoverable errors. Here's how you do what you're asking for:

var errorHandler = require('express-error-handler'),
  handler = errorHandler({
    static: {
      '404': 'path/to/static/404.html'
    }
  });

// After all your routes...
// Pass a 404 into next(err)
app.use( errorHandler.httpError(404) );

// Handle all unhandled errors:
app.use( handler );

Or for a custom handler:

handler = errorHandler({
  handlers: {
    '404': function err404() {
      // do some custom thing here...
    }
  }
}); 

Or for a custom view:

handler = errorHandler({
  views: {
    '404': '404.jade'
  }
});

Java 8 - Best way to transform a list: map or foreach?

If using 3rd Pary Libaries is ok cyclops-react defines Lazy extended collections with this functionality built in. For example we could simply write

ListX myListToParse;

ListX myFinalList = myListToParse.filter(elt -> elt != null) .map(elt -> doSomething(elt));

myFinalList is not evaluated until first access (and there after the materialized list is cached and reused).

[Disclosure I am the lead developer of cyclops-react]

How to convert UTF8 string to byte array?

Assuming the question is about a DOMString as input and the goal is to get an Array, that when interpreted as string (e.g. written to a file on disk), would be UTF-8 encoded:

Now that nearly all modern browsers support Typed Arrays, it'd be ashamed if this approach is not listed:

  • According to the W3C, software supporting the File API should accept DOMStrings in their Blob constructor (see also: String encoding when constructing a Blob)
  • Blobs can be converted to an ArrayBuffer using the .readAsArrayBuffer() function of a File Reader
  • Using a DataView or constructing a Typed Array with the buffer read by the File Reader, one can access every single byte of the ArrayBuffer

Example:

// Create a Blob with an Euro-char (U+20AC)
var b = new Blob(['€']);
var fr = new FileReader();

fr.onload = function() {
    ua = new Uint8Array(fr.result);
    // This will log "3|226|130|172"
    //                  E2  82  AC
    // In UTF-16, it would be only 2 bytes long
    console.log(
        fr.result.byteLength + '|' + 
        ua[0]  + '|' + 
        ua[1] + '|' + 
        ua[2] + ''
    );
};
fr.readAsArrayBuffer(b);

Play with that on JSFiddle. I haven't benchmarked this yet but I can imagine this being efficient for large DOMStrings as input.

Replace a string in a file with nodejs

Perhaps the "replace" module (www.npmjs.org/package/replace) also would work for you. It would not require you to read and then write the file.

Adapted from the documentation:

// install:

npm install replace 

// require:

var replace = require("replace");

// use:

replace({
    regex: "string to be replaced",
    replacement: "replacement string",
    paths: ['path/to/your/file'],
    recursive: true,
    silent: true,
});

How to change an input button image using CSS?

A variation on the previous answers. I found that opacity needs to be set, of course this will work in IE6 and on. There was a problem with the line-height solution in IE8 where the button would not respond. And with this you get a hand cursor as well!

<div id="myButton">
  <input id="myInputButton" type="submit" name="" value="">
</div>

#myButton {
 background: url("form_send_button.gif") no-repeat;
 width: 62px;
 height: 24px;
 }

#myInputButton { 
 background: url("form_send_button.gif") no-repeat;
 opacity: 0;
 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
 filter: alpha(opacity=0);
 width: 67px;
 height: 26px;
 cursor: pointer;
 cursor: hand;
}

Expand div to max width when float:left is set

Elements that are floated are taken out of the normal flow layout, and block elements, such as DIV's, no longer span the width of their parent. The rules change in this situation. Instead of reinventing the wheel, check out this site for some possible solutions to create the two column layout you are after: http://www.maxdesign.com.au/presentation/page_layouts/

Specifically, the "Liquid Two-Column layout".

Cheers!

Jquery Hide table rows

Using parents('tr').hide() works. However if there is an embedded table, all parent tr rows will be hidden. In my case, the entire form is hidden since there are many embedded tables.

Undefined columns selected when subsetting data frame

You want rows where that condition is true so you need a comma:

data[data$Ozone > 14, ]

How to fire AJAX request Periodically?

I tried the below code,

    function executeQuery() {
  $.ajax({
    url: 'url/path/here',
    success: function(data) {
      // do something with the return value here if you like
    }
  });
  setTimeout(executeQuery, 5000); // you could choose not to continue on failure...
}

$(document).ready(function() {
  // run the first time; all subsequent calls will take care of themselves
  setTimeout(executeQuery, 5000);
});

This didn't work as expected for the specified interval,the page didn't load completely and the function was been called continuously. Its better to call setTimeout(executeQuery, 5000); outside executeQuery() in a separate function as below,

function executeQuery() {
  $.ajax({
    url: 'url/path/here',
    success: function(data) {
      // do something with the return value here if you like
    }
  });
  updateCall();
}

function updateCall(){
setTimeout(function(){executeQuery()}, 5000);
}

$(document).ready(function() {
  executeQuery();
});

This worked exactly as intended.

Laravel Query Builder where max id

Just like the docs say

DB::table('orders')->max('id');

Removing padding gutter from grid columns in Bootstrap 4

You can use this css code to get gutterless grid in bootstrap.

.no-gutter.row,
.no-gutter.container,
.no-gutter.container-fluid{
  margin-left: 0;
  margin-right: 0;
}

.no-gutter>[class^="col-"]{
  padding-left: 0;
  padding-right: 0;
}

Razor If/Else conditional operator syntax

You need to put the entire ternary expression in parenthesis. Unfortunately that means you can't use "@:", but you could do something like this:

@(deletedView ? "Deleted" : "Created by")

Razor currently supports a subset of C# expressions without using @() and unfortunately, ternary operators are not part of that set.

CSS Display an Image Resized and Cropped

img {
  position: absolute;
  clip: rect(0px, 140px, 140px, 0px);
}
<img src="w3css.gif" width="100" height="140" />

Serializing an object to JSON

Download https://github.com/douglascrockford/JSON-js/blob/master/json2.js, include it and do

var json_data = JSON.stringify(obj);

Write to CSV file and export it?

Here's a very simple free open-source CsvExport class for C#. There's an ASP.NET MVC example at the bottom.

https://github.com/jitbit/CsvExport

It takes care about line-breaks, commas, escaping quotes, MS Excel compatibilty... Just add one short .cs file to your project and you're good to go.

(disclaimer: I'm one of the contributors)

Steps to upload an iPhone application to the AppStore

Xcode 9

If this is your first time to submit an app, I recommend going ahead and reading through the full Apple iTunes Connect documentation or reading one of the following tutorials:

However, those materials are cumbersome when you just want a quick reminder of the steps. My answer to that is below:

Step 1: Create a new app in iTunes Connect

Sign in to iTunes Connect and go to My Apps. Then click the "+" button and choose New App.

enter image description here

Then fill out the basic information for a new app. The app bundle id needs to be the same as the one you are using in your Xcode project. There is probably a better was to name the SKU, but I've never needed it and I just use the bundle id.

enter image description here

Click Create and then go on to Step 2.

Step 2: Archive your app in Xcode

Choose the Generic iOS Device from the active scheme menu.

enter image description here

Then go to Product > Archive.

enter image description here

You may have to wait a little while for Xcode to finish archiving your project. After that you will be shown a dialog with your archived project. You can select Upload to the App Store... and follow the prompts.

I sometimes have to repeat this step a few times because I forgot to include something. Besides the upload wait, it isn't a big deal. Just keep doing it until you don't get any more errors.

Step 3: Finish filling out the iTunes Connect info

Back in iTunes Connect you will need to complete all the required information and resources.

enter image description here

Just go through all the menu options and make sure that you have everything entered that needs to be.

Step 4: Submit

In iTunes Connect, under your app's Prepare for Submission section, click Submit for Review. That's it. Give it about a week to be accepted (or rejected), but it might be faster.

Modifying a file inside a jar

most of the answers above saying you can't do it for class file.

Even if you want to update class file you can do that also. All you need to do is that drag and drop the class file from your workspace in the jar.

In case you want to verify your changes in class file , you can do it using a decompiler like jd-gui.

React Native: How to select the next TextInput after pressing the "next" keyboard button?

import React, { useState, useEffect, useRef, } from 'react';

const OTP = (props) => {



    const OTP = [];
    const ref_input = [];
    ref_input[0] = useRef();
    ref_input[1] = useRef();
    ref_input[2] = useRef();
    ref_input[3] = useRef();

    const focusNext = (text, index) => {
        if (index < ref_input.length - 1 && text) {
            ref_input[index + 1].current.focus();
        }
        if (index == ref_input.length - 1) {
            ref_input[index].current.blur();
        }
        OTP[index] = text;
    }
    const focusPrev = (key, index) => {
        if (key === "Backspace" && index !== 0) {
            ref_input[index - 1].current.focus();
        }
    }

    return (
        <SafeAreaView>
            <View>
                
                    <ScrollView contentInsetAdjustmentBehavior="automatic" showsVerticalScrollIndicator={false}>
                        <View style={loginScreenStyle.titleWrap}>
                            <Title style={loginScreenStyle.titleHeading}>Verify OTP</Title>
                            <Subheading style={loginScreenStyle.subTitle}>Enter the 4 digit code sent to your mobile number</Subheading>
                        </View>
                        <View style={loginScreenStyle.inputContainer}>
                            <TextInput
                                mode="flat"
                                selectionColor={Colors.primaryColor}
                                underlineColorAndroid="transparent"
                                textAlign='center'
                                maxLength={1}
                                keyboardType='numeric'
                                style={formScreenStyle.otpInputStyle}
                                autoFocus={true}
                                returnKeyType="next"
                                ref={ref_input[0]}
                                onChangeText={text => focusNext(text, 0)}
                                onKeyPress={e => focusPrev(e.nativeEvent.key, 0)}
                            />
                            <TextInput
                                mode="flat"
                                selectionColor={Colors.primaryColor}
                                underlineColorAndroid="transparent"
                                textAlign='center'
                                maxLength={1}
                                keyboardType='numeric'
                                style={formScreenStyle.otpInputStyle}
                                ref={ref_input[1]}
                                onChangeText={text => focusNext(text, 1)}
                                onKeyPress={e => focusPrev(e.nativeEvent.key, 1)}
                            />
                            <TextInput
                                mode="flat"
                                selectionColor={Colors.primaryColor}
                                underlineColorAndroid="transparent"
                                textAlign='center'
                                maxLength={1}
                                keyboardType='numeric'
                                style={formScreenStyle.otpInputStyle}
                                ref={ref_input[2]}
                                onChangeText={text => focusNext(text, 2)}
                                onKeyPress={e => focusPrev(e.nativeEvent.key, 2)}
                            />
                            <TextInput
                                mode="flat"
                                selectionColor={Colors.primaryColor}
                                underlineColorAndroid="transparent"
                                textAlign='center'
                                maxLength={1}
                                keyboardType='numeric'
                                style={formScreenStyle.otpInputStyle}
                                ref={ref_input[3]}
                                onChangeText={text => focusNext(text, 3)}
                                onKeyPress={e => focusPrev(e.nativeEvent.key, 3)}
                            />

                        </View>
                    </ScrollView>
            </View>
        </SafeAreaView >
    )
}

export default OTP;

The type or namespace name 'Objects' does not exist in the namespace 'System.Data'

Same problem in VS 2013

I added in Web.config :

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

It worked like a charm.

I found it on page: http://www.programmer.bz/Home/tabid/115/asp_net_sql/281/The-type-or-namespace-name-Objects-does-not-exist-in-the-namespace-SystemData.aspx

UNION with WHERE clause

SELECT colA, colB FROM tableA  WHERE colA > 1
UNION
SELECT colX, colA FROM tableB

Copy table to a different database on a different SQL Server

SQL Server(2012) provides another way to generate script for the SQL Server databases with its objects and data. This script can be used to copy the tables’ schema and data from the source database to the destination one in our case.

  1. Using the SQL Server Management Studio, right-click on the source database from the object explorer, then from Tasks choose Generate Scripts. enter image description here
  2. In the Choose objects window, choose Select Specific Database Objects to specify the tables that you will generate script for, then choose the tables by ticking beside each one of it. Click Next. enter image description here
  3. In the Set Scripting Options window, specify the path where you will save the generated script file, and click Advanced. enter image description here
  4. From the appeared Advanced Scripting Options window, specify Schema and Data as Types of Data to Script. You can decide from here if you want to script the indexes and keys in your tables. Click OK. enter image description here Getting back to the Advanced Scripting Options window, click Next.
  5. Review the Summary window and click Next. enter image description here
  6. You can monitor the progress from the Save or Publish Scripts window. If there is no error click Finish and you will find the script file in the specified path. enter image description here

SQL Scripting method is useful to generate one single script for the tables’ schema and data, including the indexes and keys. But again this method doesn’t generate the tables’ creation script in the correct order if there are relations between the tables.

gcc error: wrong ELF class: ELFCLASS64

It looks like the object file was compiled on a 64-bit toolchain, and you're using a 32-bit toolchain. Have you tried recompiling the object file in 32-bit mode?

What is the Simplest Way to Reverse an ArrayList?

We can also do the same using java 8.

public static<T> List<T> reverseList(List<T> list) {
        List<T> reverse = new ArrayList<>(list.size());

        list.stream()
                .collect(Collectors.toCollection(LinkedList::new))
                .descendingIterator()
                .forEachRemaining(reverse::add);

        return reverse;
    }

Cannot read property 'map' of undefined

I think you forgot to change

data={this.props.data}

to

data={this.state.data}

in the render function of CommentBox. I did the same mistake when I was following the tutorial. Thus the whole render function should look like

render: function() {
  return (
    <div className="commentBox">
      <h1>Comments</h1>
      <CommentList data={this.state.data} />
      <CommentForm />
    </div>
  );
}

instead of

render: function() {
  return (
    <div className="commentBox">
      <h1>Comments</h1>
      <CommentList data={this.props.data} />
      <CommentForm />
    </div>
  );

How to access the request body when POSTing using Node.js and Express?

As of Express 4, the following code appears to do the trick. Note that you'll need to install body-parser using npm.

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));


app.listen(8888);

app.post('/update', function(req, res) {
    console.log(req.body); // the posted data
});

Using python's mock patch.object to change the return value of a method called within another method

There are two ways you can do this; with patch and with patch.object

Patch assumes that you are not directly importing the object but that it is being used by the object you are testing as in the following

#foo.py
def some_fn():
    return 'some_fn'

class Foo(object):
    def method_1(self):
        return some_fn()
#bar.py
import foo
class Bar(object):
    def method_2(self):
        tmp = foo.Foo()
        return tmp.method_1()
#test_case_1.py
import bar
from mock import patch

@patch('foo.some_fn')
def test_bar(mock_some_fn):
    mock_some_fn.return_value = 'test-val-1'
    tmp = bar.Bar()
    assert tmp.method_2() == 'test-val-1'
    mock_some_fn.return_value = 'test-val-2'
    assert tmp.method_2() == 'test-val-2'

If you are directly importing the module to be tested, you can use patch.object as follows:

#test_case_2.py
import foo
from mock import patch

@patch.object(foo, 'some_fn')
def test_foo(test_some_fn):
    test_some_fn.return_value = 'test-val-1'
    tmp = foo.Foo()
    assert tmp.method_1() == 'test-val-1'
    test_some_fn.return_value = 'test-val-2'
    assert tmp.method_1() == 'test-val-2'

In both cases some_fn will be 'un-mocked' after the test function is complete.

Edit: In order to mock multiple functions, just add more decorators to the function and add arguments to take in the extra parameters

@patch.object(foo, 'some_fn')
@patch.object(foo, 'other_fn')
def test_foo(test_other_fn, test_some_fn):
    ...

Note that the closer the decorator is to the function definition, the earlier it is in the parameter list.

How to select data where a field has a min value in MySQL?

this will give you result that has the minimum price on all records.

SELECT *
FROM pieces
WHERE price =  ( SELECT MIN(price) FROM pieces )

How do I add files and folders into GitHub repos?

I'm using VS SSDT on Windows. I started a project and set up local version control. I later installed git and and created a Github repo. Once I had my repo on Github I grabbed the URL and put that into VS when it asked me for the URL when I hit the "publish to Github" button.

Python virtualenv questions

After creating virtual environment copy the activate.bat file from Script folder of python and paste to it your environment and open cmd from your virtual environment and run activate.bat file.enter image description here

How to get a list of column names

Yes, you can achieve this by using the following commands:

sqlite> .headers on
sqlite> .mode column

The result of a select on your table will then look like:

id          foo         bar         age         street      address
----------  ----------  ----------  ----------  ----------  ----------
1           val1        val2        val3        val4        val5
2           val6        val7        val8        val9        val10

Using Google maps API v3 how do I get LatLng with a given address?

I don't think location.LatLng is working, however this works:

results[0].geometry.location.lat(), results[0].geometry.location.lng()

Found it while exploring Get Lat Lon source code.

Angular - ng: command not found

I tried this and everything worked by changing the npm directory.

         mkdir ~/.npm-global
         npm config set prefix '~/.npm-global'
         export PATH=~/.npm-global/bin:$PATH
         source ~/.profile
         npm install -g jshint
         ng --version

"PKIX path building failed" and "unable to find valid certification path to requested target"

Issue Background:

I was getting following error when i try to run mvn clean install in my project and through Netbeans IDE clean and build option. This issue is due to certificate not available when we download through NET beans IDE/through command prompt, but able to download the files through the browser.

Error:

Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.java.project:product:jar:1.0.32 from/to repo-local (https://url/local-repo): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  

Resolution:

1. Download the certificate of the Url in question:

  • Launch IE by "run as adminstrator" (otherwise, we will not be able to download the certificate)
  • Enter the url in IE-> https://url/local-repo (In my case this url had a untrusted certificateenter image description here.)
  • Download the certificate by clicking on Certificate error -> view certificate
  • Select Details tab -> copy to file -> next -> select "DER encoded binary X.509 (.CER)
  • save the certificate in some location, example : c:/user/sheldon/desktop/product.cer
  • Congrats! you have successfully downloaded the certificate for the site

2. Now install the key store to fix the issue.

  • Run the keytool command to append the downloaded keystore into the existing certificate file.
  • Command: Below command in the bin folder of jdk (JAVA_HOME).

C:\Program Files\Java\jdk1.8.0_141\jre\bin>keytool -importcert -file "C:/user/sheldon/desktop/product.cer" -alias product -keystore "C:/Program Files/Java/jdk1.8.0_141/jre/lib/security/cacerts".

  • You will be prompted to enter password. Enter keystore password: enter "changeit" again for "Trust this certificate? [no]:", enter "yes"

Sample command line commands/output:

keytool -importcert -file "C:/Users/sheldon/Desktop/product.cer" -alias product -keystore "C:/Program iles/Java/jdk1.8.0_141/jre/lib/security/cacerts"
Enter keystore password:
Trust this certificate? [no]:  yes
Certificate was added to keystore
  • Contgrats! now you should have got rid of "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException" error in your Netbeans IDE.

What are unit tests, integration tests, smoke tests, and regression tests?

A new test category I've just become aware of is the canary test. A canary test is an automated, non-destructive test that is run on a regular basis in a live environment, such that if it ever fails, something really bad has happened.

Examples might be:

  • Has data that should only ever be available in development/testy appeared live?
  • Has a background process failed to run?
  • Can a user logon?

How to bind a List to a ComboBox?

As you are referring to a combobox, I'm assuming you don't want to use 2-way databinding (if so, look at using a BindingList)

public class Country
{
    public string Name { get; set; }
    public IList<City> Cities { get; set; }
    public Country(string _name)
    {
        Cities = new List<City>();
        Name = _name;
    }
}



List<Country> countries = new List<Country> { new Country("UK"), 
                                     new Country("Australia"), 
                                     new Country("France") };

var bindingSource1 = new BindingSource();
bindingSource1.DataSource = countries;

comboBox1.DataSource = bindingSource1.DataSource;

comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";

To find the country selected in the bound combobox, you would do something like: Country country = (Country)comboBox1.SelectedItem;.

If you want the ComboBox to dynamically update you'll need to make sure that the data structure that you have set as the DataSource implements IBindingList; one such structure is BindingList<T>.


Tip: make sure that you are binding the DisplayMember to a Property on the class and not a public field. If you class uses public string Name { get; set; } it will work but if it uses public string Name; it will not be able to access the value and instead will display the object type for each line in the combo box.

Display encoded html with razor

I just got another case to display backslash \ with Razor and Java Script.

My @Model.AreaName looks like Name1\Name2\Name3 so when I display it all backslashes are gone and I see Name1Name2Name3

I found solution to fix it:

var areafullName =  JSON.parse("@Html.Raw(HttpUtility.JavaScriptStringEncode(JsonConvert.SerializeObject(Model.AreaName)))");

Don't forget to add @using Newtonsoft.Json on top of chtml page.

Import Android volley to Android Studio

So Volley has been updated to Android studio build style which makes it harder create a jar. But the recommended way for eclipse was using it as a library project and this goes for android studio as well, but when working in android studio we call this a module. So here is a guide to how do it the way Google wants us to do it. Guide is based on this nice tutorial.

  1. First get latest volley with git (git clone https://android.googlesource.com/platform/frameworks/volley).

  2. In your current project (android studio) click [File] --> [New] -->[Import Module].

  3. Now select the directory where you downloaded Volley to.

  4. Now Android studio might guide you to do the rest but continue guide to verify that everything works correct

  5. Open settings.gradle (find in root) and add (or verify this is included):

    include ':app', ':volley'

  6. Now go to your build.gradle in your project and add the dependency:

    compile project(":volley")

Thats all there is to it, much simpler and easier than compiling a jar and safer than relying on third parties jars or maven uploads.

Adjust UILabel height to text

based on Anorak's answer, I also agree with Zorayr's concern, so I added a couple of lines to remove the UILabel and return only the CGFloat, I don't know if it helps since the original code doesn't add the UIabel, but it doesn't throw error, so I'm using the code below:

func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{

    var currHeight:CGFloat!

    let label:UILabel = UILabel(frame: CGRectMake(0, 0, width, CGFloat.max))
    label.numberOfLines = 0
    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.font = font
    label.text = text
    label.sizeToFit()

    currHeight = label.frame.height
    label.removeFromSuperview()

    return currHeight
}

Where is nodejs log file?

If you use docker in your dev you can do this in another shell: docker attach running_node_app_container_name

That will show you STDOUT and STDERR.

How to unmount a busy device

Someone has mentioned that if you are using terminal and your current directory is inside the path which you want to unmount, you will get the error.
As a complementary, in this case, your lsof | grep path-to-be-unmounted must have below output:

bash ... path-to-be-unmounted

Confusing "duplicate identifier" Typescript error message

I had this error, along with others, after I changed my tsconfig.json to target:"es2015", and module:"es2015".

The base (AngularJS2 quickstart) used /// <reference path="../../typings/index.d.ts" /> in the main.ts file. To solve this, I had to remove that line.

Check if returned value is not null and if so assign it, in one line, with one method call

Use your own

public static <T> T defaultWhenNull(@Nullable T object, @NonNull T def) {
    return (object == null) ? def : object;
}

Example:

defaultWhenNull(getNullableString(), "");

 

Advantages

  • Works if you don't develop in Java8
  • Works for android development with support for pre API 24 devices
  • Doesn't need an external library

Disadvantages

  • Always evaluates the default value (as oposed to cond ? nonNull() : notEvaluated())

    This could be circumvented by passing a Callable instead of a default value, but making it somewhat more complicated and less dynamic (e.g. if performance is an issue).

    By the way, you encounter the same disadvantage when using Optional.orElse() ;-)

ADB not responding. You can wait more,or kill "adb.exe" process manually and click 'Restart'

For me, on Windows 7, killing the ADB server and restarting it via command line did not help. It would not start up successfully.

>adb kill-server

>adb start-server
* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
* failed to start daemon *

So killing the adb.exe process via Task Manager was actually the easiest solution that case.

How to break out or exit a method in Java?

Use the return keyword to exit from a method.

public void someMethod() {
    //... a bunch of code ...
    if (someCondition()) {
        return;
    }
    //... otherwise do the following...
}

Pls note: We may use break statements which are used to break/exit only from a loop, and not the entire program.

To exit from program: System.exit() Method:
System.exit has status code, which tells about the termination, such as:
exit(0) : Indicates successful termination.
exit(1) or exit(-1) or any non-zero value – indicates unsuccessful termination.

URL to load resources from the classpath in Java

I've created a class which helps to reduce errors in setting up custom handlers and takes advantage of the system property so there are no issues with calling a method first or not being in the right container. There's also an exception class if you get things wrong:

CustomURLScheme.java:
/*
 * The CustomURLScheme class has a static method for adding cutom protocol
 * handlers without getting bogged down with other class loaders and having to
 * call setURLStreamHandlerFactory before the next guy...
 */
package com.cybernostics.lib.net.customurl;

import java.net.URLStreamHandler;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Allows you to add your own URL handler without running into problems
 * of race conditions with setURLStream handler.
 * 
 * To add your custom protocol eg myprot://blahblah:
 * 
 * 1) Create a new protocol package which ends in myprot eg com.myfirm.protocols.myprot
 * 2) Create a subclass of URLStreamHandler called Handler in this package
 * 3) Before you use the protocol, call CustomURLScheme.add(com.myfirm.protocols.myprot.Handler.class);
 * @author jasonw
 */
public class CustomURLScheme
{

    // this is the package name required to implelent a Handler class
    private static Pattern packagePattern = Pattern.compile( "(.+\\.protocols)\\.[^\\.]+" );

    /**
     * Call this method with your handlerclass
     * @param handlerClass
     * @throws Exception 
     */
    public static void add( Class<? extends URLStreamHandler> handlerClass ) throws Exception
    {
        if ( handlerClass.getSimpleName().equals( "Handler" ) )
        {
            String pkgName = handlerClass.getPackage().getName();
            Matcher m = packagePattern.matcher( pkgName );

            if ( m.matches() )
            {
                String protocolPackage = m.group( 1 );
                add( protocolPackage );
            }
            else
            {
                throw new CustomURLHandlerException( "Your Handler class package must end in 'protocols.yourprotocolname' eg com.somefirm.blah.protocols.yourprotocol" );
            }

        }
        else
        {
            throw new CustomURLHandlerException( "Your handler class must be called 'Handler'" );
        }
    }

    private static void add( String handlerPackage )
    {
        // this property controls where java looks for
        // stream handlers - always uses current value.
        final String key = "java.protocol.handler.pkgs";

        String newValue = handlerPackage;
        if ( System.getProperty( key ) != null )
        {
            final String previousValue = System.getProperty( key );
            newValue += "|" + previousValue;
        }
        System.setProperty( key, newValue );
    }
}


CustomURLHandlerException.java:
/*
 * Exception if you get things mixed up creating a custom url protocol
 */
package com.cybernostics.lib.net.customurl;

/**
 *
 * @author jasonw
 */
public class CustomURLHandlerException extends Exception
{

    public CustomURLHandlerException(String msg )
    {
        super( msg );
    }

}

Difference between applicationContext.xml and spring-servlet.xml in Spring Framework

One more point I want to add. In spring-servlet.xml we include component scan for Controller package. In following example we include filter annotation for controller package.

<!-- Scans for annotated @Controllers in the classpath -->
<context:component-scan base-package="org.test.web" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

In applicationcontext.xml we add filter for remaining package excluding controller.

<context:component-scan base-package="org.test">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

Height equal to dynamic width (CSS fluid layout)

Extremely simple method jsfiddle

HTML

<div id="container">
    <div id="element">
        some text
    </div>
</div>

CSS

#container {
    width: 50%; /* desired width */
}

#element {
    height: 0;
    padding-bottom: 100%;
}

Looking for a good Python Tree data structure

Here's something I was working on.

class Tree:
    def __init__(self, value, *children):
        '''Singly linked tree, children do not know who their parent is.
        '''
        self.value = value
        self.children = tuple(children)

    @property
    def arguments(self):
        return (self.value,) + self.children

    def __eq__(self, tree):
        return self.arguments == tree.arguments

    def __repr__(self):
        argumentStr = ', '.join(map(repr, self.arguments))
        return '%s(%s)' % (self.__class__.__name__, argumentStr)

Use as such (numbers used as example values): t = Tree(1, Tree(2, Tree(4)), Tree(3, Tree(5)))

Simple function to sort an array of objects

_x000D_
_x000D_
var library = [_x000D_
        {name: 'Steve', course:'WAP', courseID: 'cs452'}, _x000D_
        {name: 'Rakesh', course:'WAA', courseID: 'cs545'},_x000D_
        {name: 'Asad', course:'SWE', courseID: 'cs542'},_x000D_
];_x000D_
_x000D_
const sorted_by_name = library.sort( (a,b) => a.name > b.name );_x000D_
_x000D_
for(let k in sorted_by_name){_x000D_
    console.log(sorted_by_name[k]);_x000D_
}
_x000D_
_x000D_
_x000D_

Is there a minlength validation attribute in HTML5?

Add both a maximum and a minimum value. You can specify the range of allowed values:

<input type="number" min="1" max="999" />

Laravel Eloquent ORM Transactions

If you want to avoid closures, and happy to use facades, the following keeps things nice and clean:

try {
    \DB::beginTransaction();

    $user = \Auth::user();
    $user->fill($request->all());
    $user->push();

    \DB::commit();

} catch (Throwable $e) {
    \DB::rollback();
}

If any statements fail, commit will never hit, and the transaction won't process.

Make A List Item Clickable (HTML/CSS)

I think you could use the following HTML and CSS combo instead:

<li>
  <a href="#">Backback</a>
</li>

Then use CSS background for the basket visibility on hover:

.listblock ul li a {
    padding: 5px 30px 5px 10px;
    display: block;
}

.listblock ul li a:hover {
    background: transparent url('../img/basket.png') no-repeat 3px 170px;
}

Simples!

Collapsing Sidebar with Bootstrap

Bootstrap 3

Yes, it's possible. This "off-canvas" example should help to get you started.

https://codeply.com/p/esYgHWB2zJ

Basically you need to wrap the layout in an outer div, and use media queries to toggle the layout on smaller screens.

/* collapsed sidebar styles */
@media screen and (max-width: 767px) {
  .row-offcanvas {
    position: relative;
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
  }
  .row-offcanvas-right
  .sidebar-offcanvas {
    right: -41.6%;
  }

  .row-offcanvas-left
  .sidebar-offcanvas {
    left: -41.6%;
  }
  .row-offcanvas-right.active {
    right: 41.6%;
  }
  .row-offcanvas-left.active {
    left: 41.6%;
  }
  .sidebar-offcanvas {
    position: absolute;
    top: 0;
    width: 41.6%;
  }
  #sidebar {
    padding-top:0;
  }
}

Also, there are several more Bootstrap sidebar examples here


Bootstrap 4

Create a responsive navbar sidebar "drawer" in Bootstrap 4?

How to get the current time in Google spreadsheet using script editor?

Use the Date object provided by javascript. It's not unique or special to Google's scripting environment.

How to add items into a numpy array

One way to do it (may not be the best) is to create another array with the new elements and do column_stack. i.e.

>>>a = array([[1,3,4],[1,2,3]...[1,2,1]])
[[1 3 4]
 [1 2 3]
 [1 2 1]]

>>>b = array([1,2,3])
>>>column_stack((a,b))
array([[1, 3, 4, 1],
       [1, 2, 3, 2],
       [1, 2, 1, 3]])

When do you use the "this" keyword?

You should always use it, I use it to diferantiate private fields and parameters (because our naming conventions state that we don't use prefixes for member and parameter names (and they are based on information found on the internet, so I consider that a best practice))

Java associative-array

You can accomplish this via Maps. Something like

Map<String, String>[] arr = new HashMap<String, String>[2]();
arr[0].put("name", "demo");

But as you start using Java I am sure you will find that if you create a class/model that represents your data will be your best options. I would do

class Person{
String name;
String fname;
}
List<Person> people = new ArrayList<Person>();
Person p = new Person();
p.name = "demo";
p.fname = "fdemo";
people.add(p);

PHP check if date between two dates

If you need bracket dates to be dynamic ..

$todayStr = date('Y-m-d');
$todayObj=date('Y-m-d', strtotime($todayStr));
$currentYrStr =  date('Y');
$DateBegin = date('Y-m-d', strtotime("06/01/$currentYrStr"));
$DateEnd = date('Y-m-d', strtotime("10/01/$currentYrStr"));
if (($todayObj > $contractDateBegin) && ($paymentDate < $contractDateEnd)){
    $period="summer";
}else{
   $period="winter";  
}

Is there a way to suppress JSHint warning for one given line?

As you can see in the documentation of JSHint you can change options per function or per file. In your case just place a comment in your file or even more local just in the function that uses eval:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}

Filtering DataSet

The above were really close. Here's my solution:

Private Sub getDsClone(ByRef inClone As DataSet, ByVal matchStr As String, ByRef outClone As DataSet)
    Dim i As Integer

    outClone = inClone.Clone
    Dim dv As DataView = inClone.Tables(0).DefaultView
    dv.RowFilter = matchStr
    Dim dt As New DataTable
    dt = dv.ToTable
    For i = 0 To dv.Count - 1
        outClone.Tables(0).ImportRow(dv.Item(i).Row)
    Next
End Sub

NewtonSoft.Json Serialize and Deserialize class with property of type IEnumerable<ISomeInterface>

It is quite simple and out of the box support provided by json.net, you just have to use the following JsonSettings while serializing and Deserializing:

JsonConvert.SerializeObject(graph,Formatting.None, new JsonSerializerSettings()
{
    TypeNameHandling =TypeNameHandling.Objects,
    TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple
});

and for Deserialzing use the below code:

JsonConvert.DeserializeObject(Encoding.UTF8.GetString(bData),type,
    new JsonSerializerSettings(){TypeNameHandling = TypeNameHandling.Objects}
);

Just take a note of the JsonSerializerSettings object initializer, that is important for you.

How to find out what type of a Mat object is with Mat::type() in OpenCV

This was answered by a few others but I found a solution that worked really well for me.

System.out.println(CvType.typeToString(yourMat.type()));

The character encoding of the plain text document was not declared - mootool script

Check your URL's protocol.

You will also see this error if you host an encrypted page (https) and open it as plain text (http) in Firefox.

Angular: How to download a file from HttpClient?

Try something like this:

type: application/ms-excel

/**
 *  used to get file from server
 */

this.http.get(`${environment.apiUrl}`,{
          responseType: 'arraybuffer',headers:headers} 
         ).subscribe(response => this.downLoadFile(response, "application/ms-excel"));


    /**
     * Method is use to download file.
     * @param data - Array Buffer data
     * @param type - type of the document.
     */
    downLoadFile(data: any, type: string) {
        let blob = new Blob([data], { type: type});
        let url = window.URL.createObjectURL(blob);
        let pwa = window.open(url);
        if (!pwa || pwa.closed || typeof pwa.closed == 'undefined') {
            alert( 'Please disable your Pop-up blocker and try again.');
        }
    }

Selecting rows where remainder (modulo) is 1 after division by 2?

Note: Disregard this answer, as I must have misunderstood the question.

select *
  from Table
  where len(ColName) mod 2 = 1

The exact syntax depends on what flavor of SQL you're using.

@Value annotation type casting to Integer from String

when use @Value, you should add @PropertySource annotation on Class, or specify properties holder in spring's xml file. eg.

@Component
@PropertySource("classpath:config.properties")
public class BusinessClass{
   @Value("${user.name}")
   private String name;
   @Value("${user.age}")
   private int age;
   @Value("${user.registed:false}")
   private boolean registed;
}

config.properties

user.name=test
user.age=20
user.registed=true

this works!

Of course, you can use placeholder xml configuration instead of annotation. spring.xml

<context:property-placeholder location="classpath:config.properties"/>

How to display table data more clearly in oracle sqlplus

You can set the line size as per the width of the window and set wrap off using the following command.

set linesize 160;
set wrap off;

I have used 160 as per my preference you can set it to somewhere between 100 - 200 and setting wrap will not your data and it will display the data properly.

CSS animation delay in repeating

You can create a "fake" delay between infinite animations purely with CSS. The way to do it is smartly define your keyframe animation points and your animation duration speed.

For example, if we wanted to animate a bouncing ball, and we wanted a good .5s to 1s delay between each bounce, we can do something like:

@keyframes bounce{
    0%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(25%);
    }
    75%{
        transform: translateY(15%);
    }
    90%{
        transform: translateY(0%);
    }
    100%{
        transform: translateY(0);
    }
}

What we do is make sure that the ball goes back to its original position much earlier than 100%. In my example, I'm doing it in 90% which provided me with around .1s delay which was good enough for me. But obviously for your case, you can either add more key frame points and change the transform values.

Furthermore, you can add additional animation duration to balance your key frame animations.

For example:

 animation: bounce .5s ease-in-out infinite;

Lets say that we wanted the full animation to end in .5s, but we wanted an additional .2s in delay between the animations.

 animation: bounce .7s ease-in-out infinite;

So we'll add an additional .2s delay, and in our key frame animations, we can add more percentage points to fill in the gaps of the .2s delay.

how to clear localstorage,sessionStorage and cookies in javascript? and then retrieve?

how to completely clear localstorage

localStorage.clear();

how to completely clear sessionstorage

sessionStorage.clear();

[...] Cookies ?

var cookies = document.cookie;

for (var i = 0; i < cookies.split(";").length; ++i)
{
    var myCookie = cookies[i];
    var pos = myCookie.indexOf("=");
    var name = pos > -1 ? myCookie.substr(0, pos) : myCookie;
    document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}

is there any way to get the value back after clear these ?

No, there isn't. But you shouldn't rely on this if this is related to a security question.

How to center the content inside a linear layout?

android:gravity can be used on a Layout to align its children.

android:layout_gravity can be used on any view to align itself in its parent.

NOTE: If self or children is not centering as expected, check if width/height is match_parent and change to something else

How to install node.js as windows service?

I'm not addressing the question directly, but providing an alternative that might also meet your requirement in a more node.js fashion way.

Functionally the requirements are:

  1. Have the logic (app) running in the background
  2. Be able to start/stop the logic
  3. Automatically start the logic when system boots up

These requirements can be satisfied by using a process manager (PM) and making the process manager start on system startup. Two good PMs that are Windows-friendly are:

To make the PM start automatically, the most simple way is to create a scheduled task with a "At Startup" trigger:

enter image description here

Set position / size of UI element as percentage of screen size

Take a look at this:

http://developer.android.com/reference/android/util/DisplayMetrics.html

You can get the heigth of the screen and it's simple math to calculate 68 percent of the screen.

JOIN queries vs multiple queries

The real question is: Do these records have a one-to-one relationship or a one-to-many relationship?

TLDR Answer:

If one-to-one, use a JOIN statement.

If one-to-many, use one (or many) SELECT statements with server-side code optimization.

Why and How To Use SELECT for Optimization

SELECT'ing (with multiple queries instead of joins) on large group of records based on a one-to-many relationship produces an optimal efficiency, as JOIN'ing has an exponential memory leak issue. Grab all of the data, then use a server-side scripting language to sort it out:

SELECT * FROM Address WHERE Personid IN(1,2,3);

Results:

Address.id : 1            // First person and their address
Address.Personid : 1
Address.City : "Boston"

Address.id : 2            // First person's second address
Address.Personid : 1
Address.City : "New York"

Address.id : 3            // Second person's address
Address.Personid : 2
Address.City : "Barcelona"

Here, I am getting all of the records, in one select statement. This is better than JOIN, which would be getting a small group of these records, one at a time, as a sub-component of another query. Then I parse it with server-side code that looks something like...

<?php
    foreach($addresses as $address) {
         $persons[$address['Personid']]->Address[] = $address;
    }
?>

When Not To Use JOIN for Optimization

JOIN'ing a large group of records based on a one-to-one relationship with one single record produces an optimal efficiency compared to multiple SELECT statements, one after the other, which simply get the next record type.

But JOIN is inefficient when getting records with a one-to-many relationship.

Example: The database Blogs has 3 tables of interest, Blogpost, Tag, and Comment.

SELECT * from BlogPost
LEFT JOIN Tag ON Tag.BlogPostid = BlogPost.id
LEFT JOIN Comment ON Comment.BlogPostid = BlogPost.id;

If there is 1 blogpost, 2 tags, and 2 comments, you will get results like:

Row1: tag1, comment1,
Row2: tag1, comment2,
Row3: tag2, comment1,
Row4: tag2, comment2,

Notice how each record is duplicated. Okay, so, 2 comments and 2 tags is 4 rows. What if we have 4 comments and 4 tags? You don't get 8 rows -- you get 16 rows:

Row1: tag1, comment1,
Row2: tag1, comment2,
Row3: tag1, comment3,
Row4: tag1, comment4,
Row5: tag2, comment1,
Row6: tag2, comment2,
Row7: tag2, comment3,
Row8: tag2, comment4,
Row9: tag3, comment1,
Row10: tag3, comment2,
Row11: tag3, comment3,
Row12: tag3, comment4,
Row13: tag4, comment1,
Row14: tag4, comment2,
Row15: tag4, comment3,
Row16: tag4, comment4,

Add more tables, more records, etc., and the problem will quickly inflate to hundreds of rows that are all full of mostly redundant data.

What do these duplicates cost you? Memory (in the SQL server and the code that tries to remove the duplicates) and networking resources (between SQL server and your code server).

Source: https://dev.mysql.com/doc/refman/8.0/en/nested-join-optimization.html ; https://dev.mysql.com/doc/workbench/en/wb-relationship-tools.html